Nektar++
|
Encapsulates the user-defined boundary conditions for compressible flow solver. More...
#include <CFSBndCond.h>
Public Member Functions | |
virtual | ~CFSBndCond () |
void | Apply (Array< OneD, Array< OneD, NekDouble > > &Fwd, Array< OneD, Array< OneD, NekDouble > > &physarray, const NekDouble &time=0) |
Apply the boundary condition. More... | |
void | ApplyBwdWeight () |
Apply the Weight of boundary condition. More... | |
Protected Member Functions | |
CFSBndCond (const LibUtilities::SessionReaderSharedPtr &pSession, const Array< OneD, MultiRegions::ExpListSharedPtr > &pFields, const Array< OneD, Array< OneD, NekDouble > > &pTraceNormals, const Array< OneD, Array< OneD, NekDouble > > &pGridVelocity, const int pSpaceDim, const int bcRegion, const int cnt) | |
Constructor. More... | |
virtual void | v_Apply (Array< OneD, Array< OneD, NekDouble > > &Fwd, Array< OneD, Array< OneD, NekDouble > > &physarray, const NekDouble &time)=0 |
virtual void | v_ApplyBwdWeight () |
Protected Attributes | |
LibUtilities::SessionReaderSharedPtr | m_session |
Session reader. More... | |
Array< OneD, MultiRegions::ExpListSharedPtr > | m_fields |
Array of fields. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_traceNormals |
Trace normals. More... | |
Array< OneD, Array< OneD, NekDouble > > | m_gridVelocityTrace |
Grid Velocity. More... | |
int | m_spacedim |
Space dimension. More... | |
VariableConverterSharedPtr | m_varConv |
Auxiliary object to convert variables. More... | |
NekDouble | m_diffusionAveWeight |
Weight for average calculation of diffusion term. More... | |
NekDouble | m_gamma |
Parameters of the flow. More... | |
NekDouble | m_rhoInf |
NekDouble | m_pInf |
NekDouble | m_pOut |
Array< OneD, NekDouble > | m_velInf |
NekDouble | m_angVel |
int | m_bcRegion |
Id of the boundary region. More... | |
int | m_offset |
Offset. More... | |
Encapsulates the user-defined boundary conditions for compressible flow solver.
Definition at line 70 of file CFSBndCond.h.
|
inlinevirtual |
Definition at line 73 of file CFSBndCond.h.
|
protected |
Constructor.
Definition at line 47 of file CFSBndCond.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), m_angVel, m_diffusionAveWeight, m_gamma, m_pInf, m_rhoInf, m_session, m_spacedim, m_varConv, and m_velInf.
void Nektar::CFSBndCond::Apply | ( | Array< OneD, Array< OneD, NekDouble > > & | Fwd, |
Array< OneD, Array< OneD, NekDouble > > & | physarray, | ||
const NekDouble & | time = 0 |
||
) |
Apply the boundary condition.
bcRegion | id of the boundary region |
cnt | |
Fwd | |
physarray | |
time |
Definition at line 89 of file CFSBndCond.cpp.
References v_Apply().
|
inline |
Apply the Weight of boundary condition.
Definition at line 83 of file CFSBndCond.h.
References v_ApplyBwdWeight().
|
protectedpure virtual |
Implemented in Nektar::EnforceEntropyPressure, Nektar::EnforceEntropyTotalEnthalpy, Nektar::EnforceEntropyVelocity, Nektar::ExtrapOrder0BC, Nektar::IsentropicVortexBC, Nektar::PressureInflowFileBC, Nektar::PressureMachTemperatureBC, Nektar::PressureOutflowBC, Nektar::PressureOutflowNonReflectiveBC, Nektar::RiemannInvariantBC, Nektar::RinglebFlowBC, Nektar::StagnationInflowBC, Nektar::SymmetryBC, Nektar::TimeDependentBC, Nektar::WallBC, Nektar::WallRotationalBC, and Nektar::WallViscousBC.
Referenced by Apply().
|
protectedvirtual |
@ brief Newly added bc should specify this virtual function if the Bwd/value in m_bndCondExpansions is the target value like Direchlet bc weight should be 1.0. if some average Fwd and Bwd/value in m_bndCondExpansions is the target value like WallViscousBC weight should be 0.5.
Definition at line 103 of file CFSBndCond.cpp.
References m_bcRegion, m_diffusionAveWeight, and m_fields.
Referenced by ApplyBwdWeight().
|
protected |
Definition at line 110 of file CFSBndCond.h.
Referenced by CFSBndCond(), and Nektar::WallRotationalBC::WallRotationalBC().
|
protected |
Id of the boundary region.
Definition at line 113 of file CFSBndCond.h.
Referenced by Nektar::EnforceEntropyPressure::EnforceEntropyPressure(), Nektar::EnforceEntropyTotalEnthalpy::EnforceEntropyTotalEnthalpy(), Nektar::EnforceEntropyVelocity::EnforceEntropyVelocity(), Nektar::PressureInflowFileBC::PressureInflowFileBC(), Nektar::PressureMachTemperatureBC::PressureMachTemperatureBC(), Nektar::PressureOutflowBC::PressureOutflowBC(), Nektar::PressureOutflowNonReflectiveBC::PressureOutflowNonReflectiveBC(), Nektar::StagnationInflowBC::StagnationInflowBC(), Nektar::ExtrapOrder0BC::v_Apply(), Nektar::IsentropicVortexBC::v_Apply(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureMachTemperatureBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::RinglebFlowBC::v_Apply(), Nektar::StagnationInflowBC::v_Apply(), Nektar::SymmetryBC::v_Apply(), Nektar::WallBC::v_Apply(), Nektar::WallRotationalBC::v_Apply(), Nektar::WallViscousBC::v_Apply(), v_ApplyBwdWeight(), and Nektar::WallRotationalBC::WallRotationalBC().
|
protected |
Weight for average calculation of diffusion term.
Definition at line 102 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::SymmetryBC::SymmetryBC(), v_ApplyBwdWeight(), Nektar::WallBC::WallBC(), Nektar::WallRotationalBC::WallRotationalBC(), and Nektar::WallViscousBC::WallViscousBC().
|
protected |
Array of fields.
Definition at line 92 of file CFSBndCond.h.
Referenced by Nektar::EnforceEntropyPressure::EnforceEntropyPressure(), Nektar::EnforceEntropyTotalEnthalpy::EnforceEntropyTotalEnthalpy(), Nektar::EnforceEntropyVelocity::EnforceEntropyVelocity(), Nektar::PressureInflowFileBC::PressureInflowFileBC(), Nektar::PressureMachTemperatureBC::PressureMachTemperatureBC(), Nektar::PressureOutflowBC::PressureOutflowBC(), Nektar::PressureOutflowNonReflectiveBC::PressureOutflowNonReflectiveBC(), Nektar::RiemannInvariantBC::RiemannInvariantBC(), Nektar::StagnationInflowBC::StagnationInflowBC(), Nektar::ExtrapOrder0BC::v_Apply(), Nektar::IsentropicVortexBC::v_Apply(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureMachTemperatureBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::RinglebFlowBC::v_Apply(), Nektar::StagnationInflowBC::v_Apply(), Nektar::SymmetryBC::v_Apply(), Nektar::TimeDependentBC::v_Apply(), Nektar::WallBC::v_Apply(), Nektar::WallRotationalBC::v_Apply(), Nektar::WallViscousBC::v_Apply(), v_ApplyBwdWeight(), Nektar::WallRotationalBC::WallRotationalBC(), and Nektar::WallViscousBC::WallViscousBC().
|
protected |
Parameters of the flow.
Definition at line 105 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::IsentropicVortexBC::EvaluateIsentropicVortex(), Nektar::EnforceEntropyPressure::v_Apply(), Nektar::EnforceEntropyTotalEnthalpy::v_Apply(), Nektar::EnforceEntropyVelocity::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::RinglebFlowBC::v_Apply(), and Nektar::StagnationInflowBC::v_Apply().
Grid Velocity.
Definition at line 96 of file CFSBndCond.h.
Referenced by Nektar::WallBC::v_Apply(), Nektar::WallRotationalBC::v_Apply(), Nektar::WallViscousBC::v_Apply(), and Nektar::WallRotationalBC::WallRotationalBC().
|
protected |
Offset.
Definition at line 115 of file CFSBndCond.h.
Referenced by Nektar::EnforceEntropyPressure::EnforceEntropyPressure(), Nektar::EnforceEntropyTotalEnthalpy::EnforceEntropyTotalEnthalpy(), Nektar::EnforceEntropyVelocity::EnforceEntropyVelocity(), Nektar::ExtrapOrder0BC::v_Apply(), Nektar::IsentropicVortexBC::v_Apply(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::RinglebFlowBC::v_Apply(), Nektar::StagnationInflowBC::v_Apply(), Nektar::SymmetryBC::v_Apply(), Nektar::WallBC::v_Apply(), Nektar::WallRotationalBC::v_Apply(), Nektar::WallViscousBC::v_Apply(), and Nektar::WallRotationalBC::WallRotationalBC().
|
protected |
Definition at line 107 of file CFSBndCond.h.
Referenced by CFSBndCond(), and Nektar::RiemannInvariantBC::v_Apply().
|
protected |
Definition at line 108 of file CFSBndCond.h.
|
protected |
Definition at line 106 of file CFSBndCond.h.
Referenced by CFSBndCond(), and Nektar::RiemannInvariantBC::v_Apply().
|
protected |
Session reader.
Definition at line 90 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::RinglebFlowBC::RinglebFlowBC(), Nektar::RinglebFlowBC::v_Apply(), Nektar::TimeDependentBC::v_Apply(), and Nektar::WallViscousBC::v_Apply().
|
protected |
Space dimension.
Definition at line 98 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::EnforceEntropyPressure::EnforceEntropyPressure(), Nektar::EnforceEntropyTotalEnthalpy::EnforceEntropyTotalEnthalpy(), Nektar::EnforceEntropyVelocity::EnforceEntropyVelocity(), Nektar::IsentropicVortexBC::EvaluateIsentropicVortex(), Nektar::PressureMachTemperatureBC::PressureMachTemperatureBC(), Nektar::PressureOutflowBC::PressureOutflowBC(), Nektar::PressureOutflowNonReflectiveBC::PressureOutflowNonReflectiveBC(), Nektar::RiemannInvariantBC::RiemannInvariantBC(), Nektar::EnforceEntropyPressure::v_Apply(), Nektar::EnforceEntropyTotalEnthalpy::v_Apply(), Nektar::EnforceEntropyVelocity::v_Apply(), Nektar::ExtrapOrder0BC::v_Apply(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::StagnationInflowBC::v_Apply(), Nektar::SymmetryBC::v_Apply(), Nektar::WallBC::v_Apply(), Nektar::WallRotationalBC::v_Apply(), and Nektar::WallViscousBC::v_Apply().
Trace normals.
Definition at line 94 of file CFSBndCond.h.
Referenced by Nektar::EnforceEntropyPressure::EnforceEntropyPressure(), Nektar::EnforceEntropyTotalEnthalpy::EnforceEntropyTotalEnthalpy(), Nektar::EnforceEntropyVelocity::EnforceEntropyVelocity(), Nektar::RiemannInvariantBC::RiemannInvariantBC(), Nektar::StagnationInflowBC::StagnationInflowBC(), Nektar::EnforceEntropyPressure::v_Apply(), Nektar::EnforceEntropyTotalEnthalpy::v_Apply(), Nektar::EnforceEntropyVelocity::v_Apply(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::SymmetryBC::v_Apply(), and Nektar::WallBC::v_Apply().
|
protected |
Auxiliary object to convert variables.
Definition at line 100 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::EnforceEntropyPressure::EnforceEntropyPressure(), Nektar::EnforceEntropyTotalEnthalpy::EnforceEntropyTotalEnthalpy(), Nektar::EnforceEntropyVelocity::EnforceEntropyVelocity(), Nektar::PressureMachTemperatureBC::PressureMachTemperatureBC(), Nektar::EnforceEntropyPressure::v_Apply(), Nektar::EnforceEntropyTotalEnthalpy::v_Apply(), Nektar::EnforceEntropyVelocity::v_Apply(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), and Nektar::StagnationInflowBC::v_Apply().
Definition at line 109 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::RiemannInvariantBC::RiemannInvariantBC(), and Nektar::RiemannInvariantBC::v_Apply().