WARPXM v1.10.0
Loading...
Searching...
No Matches
WmStructuredGeometry Class Referenceabstract

Class used for generating Structured Geometry information for kinetic phase space calculations. More...

#include <wmstructuredgeometry.h>

Inheritance diagram for WmStructuredGeometry:
WmStructuredSquare

Detailed Description

Class used for generating Structured Geometry information for kinetic phase space calculations.

Public Member Functions

 WmStructuredGeometry (const WmBasisArraySet &PhaseSpaceBasisArraySet)
 Create unstructured geometry for a given patch.
 
virtual ~WmStructuredGeometry ()
 Destroy geometry.
 
void setup ()
 Setup calls some of these functions that we want to setup.
 
virtual void generateNormals ()=0
 Generate the face normals of this type of element.
 
virtual void generatePositionDirectedFaceNumbers ()=0
 Generate the face numbers with components of normal in position direction.
 
virtual void generateVelocityDirectedFaceNumbers ()=0
 Generate the face numbers with components of normal in velocity direction.
 
virtual int getOppositeVelocityDirectedFaceNode (const int globalNodeNumber, const int faceNumber)=0
 gets the opposite node number on a velocity directed face, given a global node number on the inside element and face number of the velocityDirectedFace
 
const std::vector< real > & getRealNormal (const int face)
 Get the real face normals of this type of element.
 
const std::vector< real > & getIsoparametricNormal (const int face)
 Get the parametric face normals of this type of element.
 
const std::vector< int > & getPositionDirectedFaceNumbers ()
 Get the face numbers with components of normal in position direction.
 
const std::vector< int > & getVelocityDirectedFaceNumbers ()
 Get the face numbers with components of normal in velocity direction.
 
int getNodeOrientation ()
 Get node orientation.
 
const std::vector< int > & getVelocityDirectedOppositeFaceNumbers ()
 Get the opposite face numbers with components of normal in velocity direction These are the velocity face numbers that border the other velocity face, matched by element number of this array e.g.
 

Protected Attributes

std::vector< int > _position_directed_faces
 
int _num_position_directed_faces
 
std::vector< int > _velocity_directed_faces
 
int _num_velocity_directed_faces
 
std::vector< int > _velocity_directed_opposite_faces
 
std::vector< std::vector< real > > _real_normals
 
std::vector< std::vector< real > > _isoparametric_normals
 
int _node_orientation
 
WmBasisArraySet _phase_space_basis_array_set
 

Constructor & Destructor Documentation

◆ WmStructuredGeometry()

WmStructuredGeometry::WmStructuredGeometry ( const WmBasisArraySet PhaseSpaceBasisArraySet)

Create unstructured geometry for a given patch.

◆ ~WmStructuredGeometry()

virtual WmStructuredGeometry::~WmStructuredGeometry ( )
virtual

Destroy geometry.

Member Function Documentation

◆ generateNormals()

virtual void WmStructuredGeometry::generateNormals ( )
pure virtual

Generate the face normals of this type of element.

Implemented in WmStructuredSquare.

◆ generatePositionDirectedFaceNumbers()

virtual void WmStructuredGeometry::generatePositionDirectedFaceNumbers ( )
pure virtual

Generate the face numbers with components of normal in position direction.

Implemented in WmStructuredSquare.

◆ generateVelocityDirectedFaceNumbers()

virtual void WmStructuredGeometry::generateVelocityDirectedFaceNumbers ( )
pure virtual

Generate the face numbers with components of normal in velocity direction.

Implemented in WmStructuredSquare.

◆ getIsoparametricNormal()

const std::vector< real > & WmStructuredGeometry::getIsoparametricNormal ( const int  face)
inline

Get the parametric face normals of this type of element.

◆ getNodeOrientation()

int WmStructuredGeometry::getNodeOrientation ( )
inline

Get node orientation.

◆ getOppositeVelocityDirectedFaceNode()

virtual int WmStructuredGeometry::getOppositeVelocityDirectedFaceNode ( const int  globalNodeNumber,
const int  faceNumber 
)
pure virtual

gets the opposite node number on a velocity directed face, given a global node number on the inside element and face number of the velocityDirectedFace

Implemented in WmStructuredSquare.

◆ getPositionDirectedFaceNumbers()

const std::vector< int > & WmStructuredGeometry::getPositionDirectedFaceNumbers ( )
inline

Get the face numbers with components of normal in position direction.

◆ getRealNormal()

const std::vector< real > & WmStructuredGeometry::getRealNormal ( const int  face)
inline

Get the real face normals of this type of element.

◆ getVelocityDirectedFaceNumbers()

const std::vector< int > & WmStructuredGeometry::getVelocityDirectedFaceNumbers ( )
inline

Get the face numbers with components of normal in velocity direction.

◆ getVelocityDirectedOppositeFaceNumbers()

const std::vector< int > & WmStructuredGeometry::getVelocityDirectedOppositeFaceNumbers ( )
inline

Get the opposite face numbers with components of normal in velocity direction These are the velocity face numbers that border the other velocity face, matched by element number of this array e.g.

for square if velocity faces are the bottom (face 0) and top (face 2), then the opposite faces are top (2) since this faces the bottom and bottom (0) since this faces the top

◆ setup()

void WmStructuredGeometry::setup ( )

Setup calls some of these functions that we want to setup.

Member Data Documentation

◆ _isoparametric_normals

std::vector<std::vector<real> > WmStructuredGeometry::_isoparametric_normals
protected

◆ _node_orientation

int WmStructuredGeometry::_node_orientation
protected

◆ _num_position_directed_faces

int WmStructuredGeometry::_num_position_directed_faces
protected

◆ _num_velocity_directed_faces

int WmStructuredGeometry::_num_velocity_directed_faces
protected

◆ _phase_space_basis_array_set

WmBasisArraySet WmStructuredGeometry::_phase_space_basis_array_set
protected

◆ _position_directed_faces

std::vector<int> WmStructuredGeometry::_position_directed_faces
protected

◆ _real_normals

std::vector<std::vector<real> > WmStructuredGeometry::_real_normals
protected

◆ _velocity_directed_faces

std::vector<int> WmStructuredGeometry::_velocity_directed_faces
protected

◆ _velocity_directed_opposite_faces

std::vector<int> WmStructuredGeometry::_velocity_directed_opposite_faces
protected

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