This class corresponds to the inviscid part of the "natural" boundary condition for the momentum equations, i.e. More...
#include <NSMomentumInviscidBC.h>
Public Member Functions | |
NSMomentumInviscidBC (const InputParameters ¶meters) | |
Protected Member Functions | |
Real | pressureQpResidualHelper (Real pressure) |
Real | pressureQpJacobianHelper (unsigned var_number) |
Real | convectiveQpResidualHelper (Real rhou_udotn) |
Real | convectiveQpJacobianHelper (unsigned var_number) |
bool | isNSVariable (unsigned var) |
unsigned | mapVarNumber (unsigned var) |
Protected Attributes | |
const unsigned | _component |
NSPressureDerivs< NSMomentumInviscidBC > | _pressure_derivs |
const VariableValue & | _u_vel |
const VariableValue & | _v_vel |
const VariableValue & | _w_vel |
const VariableValue & | _rho |
const VariableValue & | _rho_u |
const VariableValue & | _rho_v |
const VariableValue & | _rho_w |
const VariableValue & | _rho_E |
const VariableGradient & | _grad_rho |
const VariableGradient & | _grad_rho_u |
const VariableGradient & | _grad_rho_v |
const VariableGradient & | _grad_rho_w |
const VariableGradient & | _grad_rho_E |
unsigned | _rho_var_number |
unsigned | _rhou_var_number |
unsigned | _rhov_var_number |
unsigned | _rhow_var_number |
unsigned | _rhoE_var_number |
const MaterialProperty< Real > & | _dynamic_viscosity |
const MaterialProperty< RealTensorValue > & | _viscous_stress_tensor |
const IdealGasFluidProperties & | _fp |
Friends | |
template<class U > | |
class | NSPressureDerivs |
This class corresponds to the inviscid part of the "natural" boundary condition for the momentum equations, i.e.
int_{Gamma} n . (rho*uu + Ip) . v
While this kernel implements the convective and pressure term residuals and jacobians, it does not itself implement any of the computeQp* functions. For that, use one of the derived classes: 1.) NSMomentumInviscidSpecifiedPressureBC 2.) NSMomentumInviscidSpecifiedNormalFlowBC 3.) NSMomentumInviscidNoPressureImplicitFlowBC
The first kernel above would be used for a subsonic outflow BC in the Euler or Navier-Stokes equations in which one physical value (the pressure) is specified. In this case, the residual and Jacobian contrbutions of the n.(rho*u)(u.v) term are computed and added to the matrix/rhs. For the pressure term, the residual contribution due to the specified pressure is computed but there is no corresponding Jacobian entry since the value is given.
The second kernel above would be used if, instead of the pressure, the value of the vector (rho*u)(u.n) is given. This situation is not common, but a special case of it, u.n=0, is very common for implementing a free-slip boundary: in that situation the pressure is an unknown and u.n = 0 would be imposed by the kernel (though in this trivial case you could omit the term completely).
The third kernel above would be used when the pressure term has not been integrated by parts in the momentum equations, and therefore there is no pressure in the boundary term at all.
We note that other combinations are also theoretically possible (e.g. unspecified pressure and normal flow, fully-specified pressure and normal flow) however they have not yet been implemented since I'm not sure if they are physically-relevant.
Definition at line 60 of file NSMomentumInviscidBC.h.
NSMomentumInviscidBC::NSMomentumInviscidBC | ( | const InputParameters & | parameters | ) |
Definition at line 24 of file NSMomentumInviscidBC.C.
|
protected |
Definition at line 64 of file NSMomentumInviscidBC.C.
Referenced by NSMomentumInviscidNoPressureImplicitFlowBC::computeQpJacobian(), NSMomentumInviscidSpecifiedPressureBC::computeQpJacobian(), NSMomentumInviscidSpecifiedPressureBC::computeQpOffDiagJacobian(), and NSMomentumInviscidNoPressureImplicitFlowBC::computeQpOffDiagJacobian().
|
protected |
Definition at line 52 of file NSMomentumInviscidBC.C.
Referenced by NSMomentumInviscidSpecifiedNormalFlowBC::computeQpResidual(), NSMomentumInviscidSpecifiedPressureBC::computeQpResidual(), and NSMomentumInviscidNoPressureImplicitFlowBC::computeQpResidual().
|
protectedinherited |
Definition at line 80 of file NSIntegratedBC.C.
Referenced by NSEnergyInviscidSpecifiedBC::computeQpOffDiagJacobian(), NSEnergyInviscidSpecifiedNormalFlowBC::computeQpOffDiagJacobian(), NSEnergyInviscidUnspecifiedBC::computeQpOffDiagJacobian(), NSEnergyInviscidSpecifiedPressureBC::computeQpOffDiagJacobian(), NSMomentumInviscidSpecifiedNormalFlowBC::computeQpOffDiagJacobian(), NSMassUnspecifiedNormalFlowBC::computeQpOffDiagJacobian(), NSMomentumInviscidSpecifiedPressureBC::computeQpOffDiagJacobian(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpOffDiagJacobian(), NSPressureNeumannBC::computeQpOffDiagJacobian(), NSMomentumViscousBC::computeQpOffDiagJacobian(), and NSEnergyViscousBC::computeQpOffDiagJacobian().
|
protectedinherited |
Definition at line 90 of file NSIntegratedBC.C.
Referenced by NSEnergyInviscidSpecifiedBC::computeQpOffDiagJacobian(), NSEnergyInviscidSpecifiedNormalFlowBC::computeQpOffDiagJacobian(), NSEnergyInviscidUnspecifiedBC::computeQpOffDiagJacobian(), NSEnergyInviscidSpecifiedPressureBC::computeQpOffDiagJacobian(), NSMomentumInviscidSpecifiedNormalFlowBC::computeQpOffDiagJacobian(), NSMassUnspecifiedNormalFlowBC::computeQpOffDiagJacobian(), NSMomentumInviscidSpecifiedPressureBC::computeQpOffDiagJacobian(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpOffDiagJacobian(), NSPressureNeumannBC::computeQpOffDiagJacobian(), NSMomentumViscousBC::computeQpOffDiagJacobian(), and NSEnergyViscousBC::computeQpOffDiagJacobian().
|
protected |
Definition at line 45 of file NSMomentumInviscidBC.C.
Referenced by NSMomentumInviscidSpecifiedNormalFlowBC::computeQpJacobian(), and NSMomentumInviscidSpecifiedNormalFlowBC::computeQpOffDiagJacobian().
|
protected |
Definition at line 33 of file NSMomentumInviscidBC.C.
Referenced by NSMomentumInviscidSpecifiedNormalFlowBC::computeQpResidual(), and NSMomentumInviscidSpecifiedPressureBC::computeQpResidual().
|
friend |
Definition at line 76 of file NSMomentumInviscidBC.h.
|
protected |
Definition at line 68 of file NSMomentumInviscidBC.h.
Referenced by NSMomentumInviscidSpecifiedNormalFlowBC::computeQpJacobian(), NSMomentumInviscidSpecifiedPressureBC::computeQpJacobian(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpJacobian(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpResidual(), NSMomentumInviscidSpecifiedPressureBC::computeQpResidual(), convectiveQpJacobianHelper(), pressureQpJacobianHelper(), and pressureQpResidualHelper().
|
protectedinherited |
Definition at line 59 of file NSIntegratedBC.h.
|
protectedinherited |
Definition at line 63 of file NSIntegratedBC.h.
Referenced by NSEnergyWeakStagnationBC::computeQpResidual(), NSEnergyInviscidBC::qpResidualHelper(), and NSWeakStagnationBaseBC::staticValues().
|
protectedinherited |
Definition at line 46 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::NSEnergyViscousBC().
|
protectedinherited |
Definition at line 50 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::NSEnergyViscousBC().
|
protectedinherited |
Definition at line 47 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::NSEnergyViscousBC().
|
protectedinherited |
Definition at line 48 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::NSEnergyViscousBC().
|
protectedinherited |
Definition at line 49 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::NSEnergyViscousBC().
|
protected |
Definition at line 72 of file NSMomentumInviscidBC.h.
Referenced by pressureQpJacobianHelper().
|
protectedinherited |
|
protectedinherited |
Definition at line 44 of file NSIntegratedBC.h.
Referenced by NSEnergyInviscidBC::qpJacobianTermA(), and NSEnergyInviscidBC::qpResidualHelper().
|
protectedinherited |
Definition at line 41 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::computeQpOffDiagJacobian(), and NSMassUnspecifiedNormalFlowBC::computeQpResidual().
|
protectedinherited |
Definition at line 42 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::computeQpOffDiagJacobian(), and NSMassUnspecifiedNormalFlowBC::computeQpResidual().
|
protectedinherited |
Definition at line 52 of file NSIntegratedBC.h.
Referenced by NSIntegratedBC::isNSVariable(), and NSIntegratedBC::mapVarNumber().
|
protectedinherited |
Definition at line 43 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::computeQpOffDiagJacobian(), and NSMassUnspecifiedNormalFlowBC::computeQpResidual().
|
protectedinherited |
Definition at line 56 of file NSIntegratedBC.h.
Referenced by NSIntegratedBC::isNSVariable(), and NSIntegratedBC::mapVarNumber().
|
protectedinherited |
Definition at line 53 of file NSIntegratedBC.h.
Referenced by NSIntegratedBC::isNSVariable(), and NSIntegratedBC::mapVarNumber().
|
protectedinherited |
Definition at line 54 of file NSIntegratedBC.h.
Referenced by NSIntegratedBC::isNSVariable(), and NSIntegratedBC::mapVarNumber().
|
protectedinherited |
Definition at line 55 of file NSIntegratedBC.h.
Referenced by NSIntegratedBC::isNSVariable(), and NSIntegratedBC::mapVarNumber().
|
protectedinherited |
Definition at line 36 of file NSIntegratedBC.h.
Referenced by NSEnergyInviscidSpecifiedPressureBC::computeJacobianHelper(), NSEnergyInviscidUnspecifiedBC::computeJacobianHelper(), NSEnergyInviscidUnspecifiedBC::computeQpResidual(), NSEnergyInviscidSpecifiedPressureBC::computeQpResidual(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpResidual(), NSMomentumInviscidSpecifiedPressureBC::computeQpResidual(), NSPenalizedNormalFlowBC::computeQpResidual(), NSEnergyViscousBC::computeQpResidual(), convectiveQpJacobianHelper(), NSEnergyInviscidBC::qpJacobianTermA(), and NSWeakStagnationBaseBC::velmag2().
|
protectedinherited |
Definition at line 37 of file NSIntegratedBC.h.
Referenced by NSEnergyInviscidSpecifiedPressureBC::computeJacobianHelper(), NSEnergyInviscidUnspecifiedBC::computeJacobianHelper(), NSEnergyInviscidUnspecifiedBC::computeQpResidual(), NSEnergyInviscidSpecifiedPressureBC::computeQpResidual(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpResidual(), NSMomentumInviscidSpecifiedPressureBC::computeQpResidual(), NSPenalizedNormalFlowBC::computeQpResidual(), NSEnergyViscousBC::computeQpResidual(), convectiveQpJacobianHelper(), NSEnergyInviscidBC::qpJacobianTermA(), and NSWeakStagnationBaseBC::velmag2().
|
protectedinherited |
Definition at line 60 of file NSIntegratedBC.h.
Referenced by NSEnergyViscousBC::computeQpOffDiagJacobian(), NSMomentumViscousBC::computeQpResidual(), and NSEnergyViscousBC::computeQpResidual().
|
protectedinherited |
Definition at line 38 of file NSIntegratedBC.h.
Referenced by NSEnergyInviscidSpecifiedPressureBC::computeJacobianHelper(), NSEnergyInviscidUnspecifiedBC::computeJacobianHelper(), NSEnergyInviscidUnspecifiedBC::computeQpResidual(), NSEnergyInviscidSpecifiedPressureBC::computeQpResidual(), NSMomentumInviscidNoPressureImplicitFlowBC::computeQpResidual(), NSMomentumInviscidSpecifiedPressureBC::computeQpResidual(), NSPenalizedNormalFlowBC::computeQpResidual(), NSEnergyViscousBC::computeQpResidual(), convectiveQpJacobianHelper(), NSEnergyInviscidBC::qpJacobianTermA(), and NSWeakStagnationBaseBC::velmag2().