WARPXM v1.10.0
Loading...
Searching...
No Matches
geometry::phase_space_element::PhaseSpaceElement Class Referenceabstract

Base class used for generating phase space element information for kinetic phase space calculations. More...

#include <phase_space_element.h>

Inheritance diagram for geometry::phase_space_element::PhaseSpaceElement:
geometry::phase_space_element::PhaseSpace34Duoprism geometry::phase_space_element::PhaseSpaceCube geometry::phase_space_element::PhaseSpaceSquare

Detailed Description

Base class used for generating phase space element information for kinetic phase space calculations.

Public Member Functions

 PhaseSpaceElement (const std::shared_ptr< geometry::phase_space::PhaseSpaceDGGeometry > &phase_space_dg_geometry)
 Constructor.
 
virtual ~PhaseSpaceElement ()=default
 Destructor.
 
virtual void setup ()
 setup
 
int getNdPhysicalSpace ()
 Get number of dimensions in physical space.
 
int getNdVelocitySpace ()
 Get number of dimensions in velocity space.
 
int getNdPhaseSpace ()
 Get number of dimensions in phase space.
 
virtual void setNd ()=0
 Set _N_d_physical_space, _N_d_velocity_space, _N_d_phase_space for the phase space element Has to be setup by the child element.
 
void setSpatialFaceOrientations ()
 
geometry::phase_space_element::PhaseSpaceFace const * getFace (const int local_face_index) const
 Get at face given a local face index of the element.
 
int getNeighborGlobalPhysicalSpaceNodeIndexFromSpatialFace (const int physical_element_index, const int phase_space_element_local_face_index, const int phase_space_element_face_node_index) const
 This gets the neighboring physical space node of a node on a phase space element on a spatial face.
 
int getNeighborGlobalPhaseSpaceNodeIndexFromSpatialFace (const int phase_space_element_face_node_index, const int neighbor_global_physical_element_index, const int phase_space_neighbor_element_local_face_index, const int orientation, const int velocity_space_element_indexes[3]) const
 This gets the neighboring phase space node of a node on a phase space element Written ofr a spatial face If its on a velocity face, you can use the lookup table for velocity faces instead.
 
virtual void getCommonNormal (const int physical_element_index, const int phaseSpaceElementFaceIndex, std::vector< real > &phaseSpaceCommonNormal) const =0
 base class function
 

Protected Attributes

int _N_d_physical_space
 
int _N_d_velocity_space
 
int _N_d_phase_space
 
std::shared_ptr< geometry::phase_space::PhaseSpaceDGGeometry_phase_space_dg_geometry
 
std::vector< std::unique_ptr< geometry::phase_space_element::PhaseSpaceFace > > _phase_space_faces
 
std::vector< int > _spatial_face_orientation
 

Constructor & Destructor Documentation

◆ PhaseSpaceElement()

geometry::phase_space_element::PhaseSpaceElement::PhaseSpaceElement ( const std::shared_ptr< geometry::phase_space::PhaseSpaceDGGeometry > &  phase_space_dg_geometry)

Constructor.

◆ ~PhaseSpaceElement()

virtual geometry::phase_space_element::PhaseSpaceElement::~PhaseSpaceElement ( )
virtualdefault

Destructor.

Member Function Documentation

◆ getCommonNormal()

virtual void geometry::phase_space_element::PhaseSpaceElement::getCommonNormal ( const int  physical_element_index,
const int  phaseSpaceElementFaceIndex,
std::vector< real > &  phaseSpaceCommonNormal 
) const
pure virtual

◆ getFace()

geometry::phase_space_element::PhaseSpaceFace const * geometry::phase_space_element::PhaseSpaceElement::getFace ( const int  local_face_index) const
inline

Get at face given a local face index of the element.

Parameters
local_face_index

◆ getNdPhaseSpace()

int geometry::phase_space_element::PhaseSpaceElement::getNdPhaseSpace ( )
inline

Get number of dimensions in phase space.

Returns
_N_d_phase_space

◆ getNdPhysicalSpace()

int geometry::phase_space_element::PhaseSpaceElement::getNdPhysicalSpace ( )
inline

Get number of dimensions in physical space.

Returns
_N_d_physical_space

◆ getNdVelocitySpace()

int geometry::phase_space_element::PhaseSpaceElement::getNdVelocitySpace ( )
inline

Get number of dimensions in velocity space.

Returns
_N_d_velocity_space

◆ getNeighborGlobalPhaseSpaceNodeIndexFromSpatialFace()

int geometry::phase_space_element::PhaseSpaceElement::getNeighborGlobalPhaseSpaceNodeIndexFromSpatialFace ( const int  phase_space_element_face_node_index,
const int  neighbor_global_physical_element_index,
const int  phase_space_neighbor_element_local_face_index,
const int  orientation,
const int  velocity_space_element_indexes[3] 
) const

This gets the neighboring phase space node of a node on a phase space element Written ofr a spatial face If its on a velocity face, you can use the lookup table for velocity faces instead.

Parameters
phase_space_element_face_node_index

param neighbor_global_physical_element_index

Parameters
phase_space_neighbor_element_local_face_index
orientation
velocity_space_element_indexes[3]
Returns
neighbor_global_node_index

◆ getNeighborGlobalPhysicalSpaceNodeIndexFromSpatialFace()

int geometry::phase_space_element::PhaseSpaceElement::getNeighborGlobalPhysicalSpaceNodeIndexFromSpatialFace ( const int  physical_element_index,
const int  phase_space_element_local_face_index,
const int  phase_space_element_face_node_index 
) const

This gets the neighboring physical space node of a node on a phase space element on a spatial face.

Parameters
physical_element_index
phase_space_element_local_face_index
phase_space_element_face_node_index
Returns
neighbor_global_physical_space_node_index

◆ setNd()

virtual void geometry::phase_space_element::PhaseSpaceElement::setNd ( )
pure virtual

Set _N_d_physical_space, _N_d_velocity_space, _N_d_phase_space for the phase space element Has to be setup by the child element.

Implemented in geometry::phase_space_element::PhaseSpace34Duoprism, geometry::phase_space_element::PhaseSpaceCube, and geometry::phase_space_element::PhaseSpaceSquare.

◆ setSpatialFaceOrientations()

void geometry::phase_space_element::PhaseSpaceElement::setSpatialFaceOrientations ( )

◆ setup()

virtual void geometry::phase_space_element::PhaseSpaceElement::setup ( )
virtual

Member Data Documentation

◆ _N_d_phase_space

int geometry::phase_space_element::PhaseSpaceElement::_N_d_phase_space
protected

◆ _N_d_physical_space

int geometry::phase_space_element::PhaseSpaceElement::_N_d_physical_space
protected

◆ _N_d_velocity_space

int geometry::phase_space_element::PhaseSpaceElement::_N_d_velocity_space
protected

◆ _phase_space_dg_geometry

std::shared_ptr<geometry::phase_space::PhaseSpaceDGGeometry> geometry::phase_space_element::PhaseSpaceElement::_phase_space_dg_geometry
protected

◆ _phase_space_faces

std::vector<std::unique_ptr<geometry::phase_space_element::PhaseSpaceFace> > geometry::phase_space_element::PhaseSpaceElement::_phase_space_faces
protected

◆ _spatial_face_orientation

std::vector<int> geometry::phase_space_element::PhaseSpaceElement::_spatial_face_orientation
protected

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