solver
Compressible flow solver configuration
- class CompressibleFlowSolver(mesh: Mesh, **default)
- property fem: ConservativeHDG | ConservativeDG | ConservativeDG_HDG
- Sets the finite element for the compressible flow solver. - Getter:
- Returns the finite element 
- Setter:
- Sets the finite element, defaults to ConservativeFiniteElement 
 
 - property mach_number: Parameter
- Sets the ratio of the farfield flow velocity to the farfield speed of sound. \[\Ma_\infty = \frac{|\overline{\vec{u}}_\infty|}{\overline{c}_\infty}\]- Getter:
- Returns the Mach number 
- Setter:
- Sets the Mach number, defaults to 0.3 
 
 - property reynolds_number: Parameter
- Sets the ratio of inertial to viscous forces. \[\Re_\infty = \frac{\overline{\rho}_\infty |\overline{\vec{u}}_\infty| \overline{L}}{\overline{\mu}_\infty}\]- Getter:
- Returns the Reynolds number 
- Setter:
- Sets the Reynolds number, defaults to 150 
 
 - property prandtl_number: Parameter
- Sets the ratio of momentum diffusivity to thermal diffusivity. \[\Pr_\infty = \frac{\overline{c}_p \overline{\mu}_\infty}{\overline{k}_\infty}\]- Getter:
- Returns the Prandtl number 
- Setter:
- Sets the Prandtl number, defaults to 0.72 
 
 - property equation_of_state: IdealGas
- Sets the equation of state for the compressible flow solver. - Getter:
- Returns the equation of state 
- Setter:
- Sets the equation of state, defaults to IdealGas 
 
 - property dynamic_viscosity: Inviscid | Constant | Sutherland
- Sets the dynamic viscosity for the compressible flow solver. - Getter:
- Returns the dynamic viscosity 
- Setter:
- Sets the dynamic viscosity, defaults to Inviscid 
 
 - property scaling: Aerodynamic | Acoustic | Aeroacoustic
- Sets the dimensional scaling for the compressible flow solver. - Getter:
- Returns the scaling 
- Setter:
- Sets the scaling, defaults to Aerodynamic 
 
 - property riemann_solver: LaxFriedrich | Roe | HLL | HLLEM | Upwind
- Sets the Riemann solver for the compressible flow solver. - Getter:
- Returns the Riemann solver 
- Setter:
- Sets the Riemann solver, defaults to LaxFriedrich 
 
 - get_solution_fields(*fields: str, default_fields: bool = True) flowfields
- Returns the solution fields depending on the underlying finite element method. - Parameters:
- fields (str) – A list of fields as strings to be returned 
- default_fields (bool) – If True, the default fields ‘density’, ‘velocity’, ‘pressure’ are included in the returned fields 
 
 
 - get_farfield_fields(direction: tuple[float, ...]) flowfields
- Returns the dimensionless farfield fields \(\vec{U}_\infty\) depending on the scaling in use and the flow direction. - Parameters:
- direction (tuple[float, ...]) – A container containing the flow direction 
- Note:
- See - scalingfor the different scalings.
 
 - get_convective_flux(U: flowfields) CoefficientFunction
- Returns the conservative convective flux from given fields. \[\begin{split}\bm{F} = \begin{pmatrix} \rho \bm{u} \\ \rho \bm{u} \otimes \bm{u} + p \bm{I} \\ \rho H \bm{u} \end{pmatrix}\end{split}\]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
 
 - get_diffusive_flux(U: flowfields, dU: flowfields) CoefficientFunction
- Returns the conservative diffusive flux from given states. \[\begin{split}\bm{G} = \begin{pmatrix} \bm{0} \\ \bm{\tau} \\ \left( \bm{\tau} \bm{u} - \bm{q}\right) \end{pmatrix}\end{split}\]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
- dU (flowfields) – A dictionary containing the gradients of the flow quantities 
 
 
 - get_local_mach_number(U: flowfields)
- Returns the local Mach number from given fields. \[\Ma = \frac{| \bm{u} |}{c}\]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
 
 - get_local_reynolds_number(U: flowfields)
- Returns the local Reynolds number from given fields. \[\Re = \frac{\rho | \bm{u} |}{\mu}\]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
 
 - deviatoric_stress_tensor(U: flowfields, dU: flowfields)
- Returns the deviatoric stress tensor from the given states. \[\bm{\tau} = \frac{2\mu}{\Re_r} \bm{\varepsilon}\]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
- dU (flowfields) – A dictionary containing the gradients of the flow quantities 
 
 
 - drag_coefficient(U: flowfields, dU: flowfields, Uinf: flowfields, drag_direction: tuple[float, ...] = (1, 0), aera: float = 1.0) float
- Returns the definition of the drag coefficient.
- Needs to be integrated over a surface, due to the inclusion of the boundary normal vector \(\bm{n}_{bnd}\). 
 \[C_d = \frac{1}{\frac{1}{2} \rho_\infty |\bm{u}_\infty|^2 A} \bm{n}_{drag} \left(\mat{\tau} - p \mat{\I} \right) \bm{n}_{bnd}\]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
- dU (flowfields) – A dictionary containing the gradients of the flow quantities for the evaluation of the viscous stress tensor 
- Uinf (flowfields) – A dictionary containing the reference flow quantities 
- drag_direction (tuple[float, ...]) – A container containing the drag direction \(\bm{n}_{drag}\) 
- aera (float) – The reference area \(A\) 
 
- Returns:
- The drag coefficient 
- Return type:
- float 
 
 - lift_coefficient(U: flowfields, dU: flowfields, Uinf: flowfields, lift_direction: tuple[float, ...] = (0, 1), aera: float = 1.0) float
- Returns the definition of the lift coefficient.
- Needs to be integrated over a surface, due to the inclusion of the boundary normal vector \(\bm{n}_{bnd}\). 
 \[C_l = \frac{1}{\frac{1}{2} \rho_\infty |\bm{u}_\infty|^2 A} \bm{n}_{lift} \left(\mat{\tau} - p \mat{\I} \right) \bm{n}_{bnd} \]- Parameters:
- U (flowfields) – A dictionary containing the flow quantities 
- dU (flowfields) – A dictionary containing the gradients of the flow quantities for the evaluation of the viscous stress tensor 
- Uinf (flowfields) – A dictionary containing the reference flow quantities 
- lift_direction (tuple[float, ...]) – A container containing the lift direction \(\bm{n}_{lift}\) 
- aera (float) – The reference area \(A\) 
 
- Returns:
- The drag coefficient 
- Return type:
- float