8 research outputs found
Planar potential flow on Cartesian grids
Potential flow has many applications, including the modelling of unsteady
flows in aerodynamics. For these models to work efficiently, it is best to
avoid Biot-Savart interactions between the potential flow elements. This work
presents a grid-based solver for potential flows in two dimensions and its use
in a vortex model for simulations of separated aerodynamic flows. The solver
follows the vortex-in-cell approach and discretizes the
streamfunction-vorticity Poisson equation on a staggered Cartesian grid. The
lattice Green's function is used to efficiently solve the discrete Poisson
equation with unbounded boundary conditions. In this work, we use several key
tools that ensure the method works on arbitrary geometries, with and without
sharp edges. The immersed boundary projection method is used to account for
bodies in the flow and the resulting body forcing Lagrange multiplier is
identified as a discrete version of the bound vortex sheet strength. Sharp
edges are treated by decomposing the body-forcing Lagrange multiplier into a
singular and smooth part. To enforce the Kutta condition, the smooth part can
then be constrained to remove the singularity introduced by the sharp edge. The
resulting constraints and Kelvin's circulation theorem each add Lagrange
multipliers to the overall saddle point system. The accuracy of the solver is
demonstrated in several problems, including a flat plate shedding singular
vortex elements. The method shows excellent agreement with a Biot-Savart method
when comparing the vortex element positions and the force
Recommended from our members
Fast models and reinforcement learning control of unsteady aerodynamics
Large amplitude flow disturbances and gusts can drastically alter the aerodynamic forces on airfoils or structures. The modeling and control of the aerodynamic response of the flow around the body is complicated by the inherent nonlinearities and high dimensionality of this system, which increase the cost and complexity of the numerical tools that enable this. This work introduces two numerical tools for the efficient modeling of unsteady aerodynamic flows and explores the use of deep reinforcement learning to perform airfoil pitch control during flow disturbances. The first numerical tool we introduce is a grid-based potential flow solver. We focus on the discrete streamfunction and model the flow around bodies and point vortices immersed in a cartesian grid. This tool reformulates the inviscid vortex-in-cell method as a saddle-point problem where constraints such as the no-flow-through and Kutta condition can be added as Lagrange multipliers. The second numerical tool uses a potential flow to model wind tunnel walls and irrotational wind tunnel gust generators in a viscous flow simulation. This technique allows us to still accurately model the flow around the test subject while accounting for the effects of the wind tunnel in a way that doesn't drastically increase the cost of the simulation. Lastly, in our explorative study of reinforcement learning of airfoil pitch control, we try out the training of a control policy in a classical unsteady aerodynamics environment and a viscous, low-Reynolds number flow environment to minimize the lift variations caused by flow disturbances and compare the performance of controllers, or agents, that observe different types of information about the states of the system
Multi-Fidelity Design Optimisation of a Solenoid-Driven Linear Compressor
Improved management and impermeability of refrigerants is a leading solution to reverse global warming. Therefore, crank-driven reciprocating refrigerator compressors are gradually replaced by more efficient, oil-free and hermetic linear compressors. However, the design and operation of an electromagnetic actuator, fitted on the compression requirements of a reciprocating linear compressor, received limited attention. Current research mainly focuses on the optimisation of short stroke linear compressors, while long stroke compressors benefit from higher isentropic and volumetric efficiencies. Moreover, designing such a system focuses mainly on the trade-off between number of copper windings and the current required, due to the large computational cost of performing a full geometric design optimisation based on a Finite Element Method. Therefore, in this paper, a computationally-efficient, multi-objective design optimisation for six geometric design parameters has been applied on a solenoid driven linear compressor with a stroke of 44.2 mm. The proposed multi-fidelity optimisation approach takes advantage of established models for actuator optimisation in mechatronic applications, combined with analytical equations established for a solenoid actuator to increase the overall computational efficiency. This paper consists of the multi-fidelity optimisation algorithm, the analytic model and Finite Element Method of a solenoid and the optimised designs obtained for optimised power and copper volume, which dominates the actuator cost. The optimisation results illustrate a trade-off between minimising the peak power and minimising the volume of copper windings. Considering this trade-off, an intermediate design is highlighted, which requires 33.3% less power, at the expense of an increased copper volume by 5.3% as opposed to the design achieving the minimum copper volume. Despite that the effect of the number of windings on the input current remains a dominant design characteristic, adapting the geometric parameters reduces the actuator power requirements significantly as well. Finally, the multi-fidelity optimisation algorithm achieves a 74% reduction in computational cost as opposed to an entire Finite Element Method optimisation. Future work focuses on a similar optimisation approach for a permanent magnet linear actuator
JuliaIBPM/ViscousFlow.jl: v0.6.1
ViscousFlow v0.6.1
Diff since v0.6.0
Merged pull requests:
Fix the pressure calculation in noninertial ref frame (#85) (@jdeldre
JuliaIBPM/ViscousFlow.jl: v0.6.2
ViscousFlow v0.6.2
Diff since v0.6.1
Merged pull requests:
Updated docs (#86) (@jdeldre)
Fixed a sign error in pressure (#87) (@jdeldre