|
Theseus
Compressible flow solver
|
#include <NSOperator.hpp>


Public Types | |
| using | Physics = PhysicsT |
| using | Base = Theseus::RHSOperator< Physics > |
| using | OperatorCache = typename Base::OperatorCache |
| using | DeviceCache = typename Base::DeviceCache |
| using | Gas = typename Base::Gas |
| using | InviscidFlux = typename Base::InviscidFlux |
Public Types inherited from Theseus::RHSOperator< PhysicsT > | |
| using | Physics = PhysicsT |
| using | OperatorCache = DGSEMOperatorCacheT< Physics > |
| using | DeviceCache = DGSEMDeviceCacheT< Physics > |
| using | Gas = typename Physics::GasModel |
| using | InviscidFlux = typename Physics::InviscidFlux |
Public Member Functions | |
| NSOperator (std::shared_ptr< mfem::ParFiniteElementSpace > vfes_, std::shared_ptr< mfem::ParFiniteElementSpace > fes0_, std::shared_ptr< mfem::ParMesh > pmesh_, std::shared_ptr< mfem::ParGridFunction > eta_, std::shared_ptr< mfem::ParGridFunction > alpha_, std::vector< std::shared_ptr< mfem::ParGridFunction > > &grad_u_, std::shared_ptr< Prandtl::PerssonPeraireIndicator > indicator_, std::shared_ptr< const Gas > gasModel_, const std::string &gasModelName_, const std::string &numFluxName_, const mfem::real_t alpha_max=0.5, const mfem::real_t alpha_min=0.001) | |
| mfem::real_t | FlowMult (const mfem::Vector &u, mfem::Vector &dudt) const override |
| void | GradOperator (const mfem::Vector &u, std::vector< mfem::Vector * > &grad_u) const |
| void | GradOperator_Volume (const mfem::Vector &pu, std::vector< mfem::Vector * > &p_grad_u) const |
| void | GradOperator_InteriorFaces (const mfem::Vector &pu, std::vector< mfem::Vector * > &p_grad_u) const |
| void | GradOperator_BoundaryFaces (const mfem::Vector &pu, std::vector< mfem::Vector * > &p_grad_u) const |
| void | ComputeEntropyState (const mfem::Vector &u, mfem::Vector &e) const |
| void | ComputeGradPrimFromGradEntropy (const mfem::Vector &u, std::vector< mfem::Vector * > &gradEntropy) const |
| mfem::real_t | MultCNS (const mfem::Vector &u, const std::vector< mfem::Vector * > &grad_prim, mfem::Vector &pdudt) const |
| mfem::real_t | MultCNS_Volume (const mfem::Vector &pu, const std::vector< mfem::Vector * > &p_grad_prim, mfem::Vector &pdudt) const |
| mfem::real_t | MultCNS_InteriorFaces (const mfem::Vector &pu, const std::vector< mfem::Vector * > &p_grad_prim, mfem::Vector &pdudt) const |
| mfem::real_t | MultCNS_BoundaryFaces (const mfem::Vector &pu, const std::vector< mfem::Vector * > &p_grad_prim, mfem::Vector &pdudt) const |
Public Member Functions inherited from Theseus::RHSOperator< PhysicsT > | |
| RHSOperator (std::shared_ptr< mfem::ParFiniteElementSpace > vfes_, std::shared_ptr< mfem::ParFiniteElementSpace > fes0_, std::shared_ptr< mfem::ParMesh > pmesh_, std::shared_ptr< mfem::ParGridFunction > eta_, std::shared_ptr< mfem::ParGridFunction > alpha_, std::shared_ptr< Prandtl::PerssonPeraireIndicator > indicator_, std::shared_ptr< const Gas > gas_, const std::string &gasModelName_, const std::string &numFluxName_, const std::string &flowModelName_, const mfem::real_t alpha_max=0.5, const mfem::real_t alpha_min=0.001) | |
| OperatorCache & | GetOperatorCacheReference () |
| virtual | ~RHSOperator ()=default |
| void | Finalize (mfem::real_t time=0) override |
| void | Mult (const mfem::Vector &u, mfem::Vector &dudt) const override |
| void | ComputeIntegralMeasures (const mfem::Vector &u, Theseus::IntegralMeasures &diag) const override |
| std::string | GasModelName () const override |
| std::string | NumFluxName () const override |
| std::string | FlowModelName () const override |
| const Gas & | GetGasModel () const |
| const GasModelInterface & | GetGasModelInterface () const override |
| void | FetchRestrictions (const mfem::Vector &pu, mfem::Vector &uVol, mfem::Vector &uInt, mfem::Vector &uBnd) const |
Public Member Functions inherited from Theseus::RHSOperatorBase | |
| RHSOperatorBase (std::shared_ptr< mfem::ParFiniteElementSpace > vfes_, std::shared_ptr< mfem::ParFiniteElementSpace > fes0_, std::shared_ptr< mfem::ParMesh > pmesh_, std::shared_ptr< mfem::ParGridFunction > eta_, std::shared_ptr< mfem::ParGridFunction > alpha_, std::shared_ptr< Prandtl::PerssonPeraireIndicator > indicator_, const mfem::real_t alpha_max=0.5, const mfem::real_t alpha_min=0.001) | |
| virtual | ~RHSOperatorBase ()=default |
| void | SetBCDescriptorData (const mfem::Array< Theseus::BCDescriptor > &bc_descr, const mfem::Vector &bc_scalar_dat, const mfem::Vector &bc_vector_dat) |
| void | AddBdrFaceMarker (mfem::Array< int > &bdr_marker_) |
| IntegralMeasures | GetIntegralMeasuresBaseline () const |
| mfem::real_t | GetMaxCharSpeed () const |
| mfem::real_t & | GetTimeRef () |
Protected Attributes | |
| OperatorCache | operator_cache |
| DeviceCache | device_cache |
Protected Attributes inherited from Theseus::RHSOperator< PhysicsT > | |
| OperatorCache | operator_cache |
| DeviceCache | device_cache |
| const std::string | gasModelName |
| const std::string | numFluxName |
| const std::string | flowModelName |
| std::shared_ptr< const Gas > | gas |
| std::shared_ptr< const GasModelInterface > | gas_interface |
Protected Attributes inherited from Theseus::RHSOperatorBase | |
| mfem::real_t | max_char_speed |
| std::shared_ptr< mfem::ParFiniteElementSpace > | vfes |
| std::shared_ptr< mfem::ParFiniteElementSpace > | fes0 |
| std::shared_ptr< mfem::ParMesh > | pmesh |
| std::shared_ptr< mfem::ParGridFunction > | eta |
| std::shared_ptr< Prandtl::PerssonPeraireIndicator > | indicator |
| const int | num_equations |
| const int | dim |
| const int | order |
| const int | num_elements |
| const int | num_dofs_scalar |
| const int | Ndofs |
| const mfem::real_t | sharpness_fac = 9.21024 |
| const mfem::real_t | modalThreshold |
| const mfem::real_t | alpha_min |
| const mfem::real_t | alpha_max |
| std::vector< mfem::Array< int > > | bdr_marker |
| mfem::Array< Theseus::BCDescriptor > | bc_descriptors |
| mfem::Vector | bc_vector_data |
| mfem::Vector | bc_scalar_data |
| mfem::real_t | alpha_dof |
| Theseus::IntegralMeasures | diag0 |
| using Theseus::NSOperator< PhysicsT >::Base = Theseus::RHSOperator<Physics> |
| using Theseus::NSOperator< PhysicsT >::DeviceCache = typename Base::DeviceCache |
| using Theseus::NSOperator< PhysicsT >::Gas = typename Base::Gas |
| using Theseus::NSOperator< PhysicsT >::InviscidFlux = typename Base::InviscidFlux |
| using Theseus::NSOperator< PhysicsT >::OperatorCache = typename Base::OperatorCache |
| using Theseus::NSOperator< PhysicsT >::Physics = PhysicsT |
|
inline |
| void Theseus::NSOperator< PhysicsT >::ComputeEntropyState | ( | const mfem::Vector & | u, |
| mfem::Vector & | e | ||
| ) | const |
| void Theseus::NSOperator< PhysicsT >::ComputeGradPrimFromGradEntropy | ( | const mfem::Vector & | u, |
| std::vector< mfem::Vector * > & | gradEntropy | ||
| ) | const |
|
overridevirtual |
Implements Theseus::RHSOperator< PhysicsT >.
| void Theseus::NSOperator< PhysicsT >::GradOperator | ( | const mfem::Vector & | u, |
| std::vector< mfem::Vector * > & | grad_u | ||
| ) | const |
| void Theseus::NSOperator< PhysicsT >::GradOperator_BoundaryFaces | ( | const mfem::Vector & | pu, |
| std::vector< mfem::Vector * > & | p_grad_u | ||
| ) | const |
| void Theseus::NSOperator< PhysicsT >::GradOperator_InteriorFaces | ( | const mfem::Vector & | pu, |
| std::vector< mfem::Vector * > & | p_grad_u | ||
| ) | const |
| void Theseus::NSOperator< PhysicsT >::GradOperator_Volume | ( | const mfem::Vector & | pu, |
| std::vector< mfem::Vector * > & | p_grad_u | ||
| ) | const |
| mfem::real_t Theseus::NSOperator< PhysicsT >::MultCNS | ( | const mfem::Vector & | u, |
| const std::vector< mfem::Vector * > & | grad_prim, | ||
| mfem::Vector & | pdudt | ||
| ) | const |
| mfem::real_t Theseus::NSOperator< PhysicsT >::MultCNS_BoundaryFaces | ( | const mfem::Vector & | pu, |
| const std::vector< mfem::Vector * > & | p_grad_prim, | ||
| mfem::Vector & | pdudt | ||
| ) | const |
| mfem::real_t Theseus::NSOperator< PhysicsT >::MultCNS_InteriorFaces | ( | const mfem::Vector & | pu, |
| const std::vector< mfem::Vector * > & | p_grad_prim, | ||
| mfem::Vector & | pdudt | ||
| ) | const |
| mfem::real_t Theseus::NSOperator< PhysicsT >::MultCNS_Volume | ( | const mfem::Vector & | pu, |
| const std::vector< mfem::Vector * > & | p_grad_prim, | ||
| mfem::Vector & | pdudt | ||
| ) | const |
|
mutableprotected |
|
mutableprotected |