SpECTRE  v2025.03.17
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
NewtonianEuler::BoundaryConditions::Reflection< Dim > Class Template Referencefinal

Reflecting boundary conditions for Newtonian hydrodynamics. More...

#include <Reflection.hpp>

Public Types

using options = implementation defined
 
using dg_interior_evolved_variables_tags = implementation defined
 
using dg_interior_temporary_tags = implementation defined
 
using dg_interior_primitive_variables_tags = implementation defined
 
using dg_gridless_tags = implementation defined
 

Public Member Functions

 Reflection (Reflection &&)=default
 
Reflectionoperator= (Reflection &&)=default
 
 Reflection (const Reflection &)=default
 
Reflectionoperator= (const Reflection &)=default
 
 Reflection (CkMigrateMessage *msg)
 
 WRAPPED_PUPable_decl_base_template (domain::BoundaryConditions::BoundaryCondition, Reflection)
 
auto get_clone () const -> std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > override
 
void pup (PUP::er &p) override
 
std::optional< std::stringdg_ghost (gsl::not_null< Scalar< DataVector > * > mass_density, gsl::not_null< tnsr::I< DataVector, Dim, Frame::Inertial > * > momentum_density, gsl::not_null< Scalar< DataVector > * > energy_density, gsl::not_null< tnsr::I< DataVector, Dim, Frame::Inertial > * > flux_mass_density, gsl::not_null< tnsr::IJ< DataVector, Dim, Frame::Inertial > * > flux_momentum_density, gsl::not_null< tnsr::I< DataVector, Dim, Frame::Inertial > * > flux_energy_density, gsl::not_null< tnsr::I< DataVector, Dim, Frame::Inertial > * > velocity, gsl::not_null< Scalar< DataVector > * > specific_internal_energy, const std::optional< tnsr::I< DataVector, Dim, Frame::Inertial > > &face_mesh_velocity, const tnsr::i< DataVector, Dim, Frame::Inertial > &outward_directed_normal_covector, const Scalar< DataVector > &interior_mass_desity, const tnsr::I< DataVector, Dim, Frame::Inertial > &interior_velocity, const Scalar< DataVector > &interior_specific_internal_energy, const Scalar< DataVector > &interior_pressure) const
 
- Public Member Functions inherited from NewtonianEuler::BoundaryConditions::BoundaryCondition< Dim >
 BoundaryCondition (BoundaryCondition &&)=default
 
BoundaryConditionoperator= (BoundaryCondition &&)=default
 
 BoundaryCondition (const BoundaryCondition &)=default
 
BoundaryConditionoperator= (const BoundaryCondition &)=default
 
 BoundaryCondition (CkMigrateMessage *msg)
 
void pup (PUP::er &p) override
 
- Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition
 BoundaryCondition (BoundaryCondition &&)=default
 
BoundaryConditionoperator= (BoundaryCondition &&)=default
 
 BoundaryCondition (const BoundaryCondition &)=default
 
BoundaryConditionoperator= (const BoundaryCondition &)=default
 
 BoundaryCondition (CkMigrateMessage *const msg)
 
 WRAPPED_PUPable_abstract (BoundaryCondition)
 
virtual auto get_clone () const -> std::unique_ptr< BoundaryCondition >=0
 

Static Public Attributes

static constexpr Options::String help
 
static constexpr evolution::BoundaryConditions::Type bc_type
 

Detailed Description

template<size_t Dim>
class NewtonianEuler::BoundaryConditions::Reflection< Dim >

Reflecting boundary conditions for Newtonian hydrodynamics.

Ghost (exterior) data 'mirrors' interior volume data with respect to the boundary interface. i.e. reverses the normal component of velocity while using same values for other scalar quantities.

In the frame instantaneously moving with the same velocity as face mesh, the reflection condition reads

ughost=uint2(uintn^)n^

where u is the fluid velocity in the moving frame, "int" stands for interior, and n^ is the outward normal vector on the boundary interface.

Substituting u=vvm, we get

vghosti=vinti2[(vintjvmj)nj]ni

where v is the fluid velocity and vm is face mesh velocity.

Member Function Documentation

◆ get_clone()

Member Data Documentation

◆ bc_type

template<size_t Dim>
constexpr evolution::BoundaryConditions::Type NewtonianEuler::BoundaryConditions::Reflection< Dim >::bc_type
staticconstexpr
Initial value:
=
evolution::BoundaryConditions::Type::Ghost

◆ help

template<size_t Dim>
constexpr Options::String NewtonianEuler::BoundaryConditions::Reflection< Dim >::help
staticconstexpr
Initial value:
{
"Reflecting boundary conditions for Newtonian hydrodynamics."}

The documentation for this class was generated from the following file: