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 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... | |
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 |
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 69 of file CFSBndCond.h.
|
inlinevirtual |
Definition at line 72 of file CFSBndCond.h.
|
protected |
Constructor.
Definition at line 47 of file CFSBndCond.cpp.
References Nektar::MemoryManager< DataType >::AllocateSharedPtr(), 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 83 of file CFSBndCond.cpp.
References v_Apply().
|
inline |
Apply the Weight of boundary condition.
Definition at line 82 of file CFSBndCond.h.
References v_ApplyBwdWeight().
|
protectedpure virtual |
Implemented in Nektar::WallViscousBC, Nektar::WallBC, Nektar::TimeDependentBC, Nektar::SymmetryBC, Nektar::StagnationInflowBC, Nektar::RinglebFlowBC, Nektar::RiemannInvariantBC, Nektar::PressureOutflowNonReflectiveBC, Nektar::PressureOutflowBC, Nektar::PressureMachTemperatureBC, Nektar::PressureInflowFileBC, Nektar::IsentropicVortexBC, and Nektar::ExtrapOrder0BC.
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 97 of file CFSBndCond.cpp.
References m_bcRegion, m_diffusionAveWeight, and m_fields.
Referenced by ApplyBwdWeight().
|
protected |
Id of the boundary region.
Definition at line 109 of file CFSBndCond.h.
Referenced by 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::WallViscousBC::v_Apply(), and v_ApplyBwdWeight().
|
protected |
Weight for average calculation of diffusion term.
Definition at line 99 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::SymmetryBC::SymmetryBC(), v_ApplyBwdWeight(), Nektar::WallBC::WallBC(), and Nektar::WallViscousBC::WallViscousBC().
|
protected |
Array of fields.
Definition at line 91 of file CFSBndCond.h.
Referenced by 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::WallViscousBC::v_Apply(), v_ApplyBwdWeight(), and Nektar::WallViscousBC::WallViscousBC().
|
protected |
Parameters of the flow.
Definition at line 102 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::IsentropicVortexBC::EvaluateIsentropicVortex(), Nektar::RiemannInvariantBC::v_Apply(), Nektar::RinglebFlowBC::v_Apply(), and Nektar::StagnationInflowBC::v_Apply().
|
protected |
Offset.
Definition at line 111 of file CFSBndCond.h.
Referenced by 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(), and Nektar::WallViscousBC::v_Apply().
|
protected |
Definition at line 104 of file CFSBndCond.h.
Referenced by CFSBndCond(), and Nektar::RiemannInvariantBC::v_Apply().
|
protected |
Definition at line 105 of file CFSBndCond.h.
|
protected |
Definition at line 103 of file CFSBndCond.h.
Referenced by CFSBndCond(), and Nektar::RiemannInvariantBC::v_Apply().
|
protected |
Session reader.
Definition at line 89 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 95 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::IsentropicVortexBC::EvaluateIsentropicVortex(), Nektar::PressureMachTemperatureBC::PressureMachTemperatureBC(), Nektar::PressureOutflowBC::PressureOutflowBC(), Nektar::PressureOutflowNonReflectiveBC::PressureOutflowNonReflectiveBC(), Nektar::RiemannInvariantBC::RiemannInvariantBC(), 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(), and Nektar::WallViscousBC::v_Apply().
Trace normals.
Definition at line 93 of file CFSBndCond.h.
Referenced by Nektar::RiemannInvariantBC::RiemannInvariantBC(), Nektar::StagnationInflowBC::StagnationInflowBC(), 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 97 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::PressureMachTemperatureBC::PressureMachTemperatureBC(), Nektar::PressureInflowFileBC::v_Apply(), Nektar::PressureOutflowBC::v_Apply(), Nektar::PressureOutflowNonReflectiveBC::v_Apply(), Nektar::RiemannInvariantBC::v_Apply(), and Nektar::StagnationInflowBC::v_Apply().
Definition at line 106 of file CFSBndCond.h.
Referenced by CFSBndCond(), Nektar::RiemannInvariantBC::RiemannInvariantBC(), and Nektar::RiemannInvariantBC::v_Apply().