MFEM  v4.5.1
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Attributes | List of all members
mfem::BatchedLOR_AMS Class Reference

#include <lor_ams.hpp>

Collaboration diagram for mfem::BatchedLOR_AMS:
[legend]

Public Member Functions

 BatchedLOR_AMS (ParFiniteElementSpace &pfes_ho_, const Vector &X_vert)
 Construct the BatchedLOR_AMS object associated with the Nedelec space (or RT in 2D) pfes_ho_. More...
 
void FormCoordinateVectors (const Vector &X_vert)
 Construct the mesh coordinate vectors (not part of the public API). More...
 
void FormGradientMatrix ()
 Construct the discrete gradient matrix (not part of the public API). More...
 
 ~BatchedLOR_AMS ()
 
These functions steal the discrete gradient and coordinate vectors.

The caller assumes ownership and must delete the returned objects. Subsequent calls will return nullptr.

HypreParMatrix * StealGradientMatrix ()
 
Vector * StealCoordinateVector ()
 
HypreParVector * StealXCoordinate ()
 
HypreParVector * StealYCoordinate ()
 
HypreParVector * StealZCoordinate ()
 
These functions return the discrete gradient and coordinate vectors.

The caller does not assume ownership, and must not delete the returned objects.

HypreParMatrix * GetGradientMatrix () const
 
HypreParVector * GetXCoordinate () const
 
HypreParVector * GetYCoordinate () const
 
HypreParVector * GetZCoordinate () const
 

Protected Member Functions

Construct the local (elementwise) discrete gradient
void Form2DEdgeToVertex (Array< int > &edge2vert)
 
void Form2DEdgeToVertex_ND (Array< int > &edge2vert)
 
void Form2DEdgeToVertex_RT (Array< int > &edge2vert)
 
void Form3DEdgeToVertex (Array< int > &edge2vert)
 

Protected Attributes

ParFiniteElementSpace & edge_fes
 The Nedelec space. More...
 
const int dim
 Spatial dimension. More...
 
const int order
 Polynomial degree. More...
 
H1_FECollection vert_fec
 The corresponding H1 collection. More...
 
ParFiniteElementSpace vert_fes
 The corresponding H1 space. More...
 
Vector * xyz_tvec
 Mesh vertex coordinates in true-vector format. More...
 
HypreParMatrix * G
 Discrete gradient matrix. More...
 
Mesh coordinate vectors in HypreParVector format
HypreParVector * x
 
HypreParVector * y
 
HypreParVector * z
 

Detailed Description

Definition at line 28 of file lor_ams.hpp.

Constructor & Destructor Documentation

mfem::BatchedLOR_AMS::BatchedLOR_AMS ( ParFiniteElementSpace &  pfes_ho_,
const Vector &  X_vert 
)

Construct the BatchedLOR_AMS object associated with the Nedelec space (or RT in 2D) pfes_ho_.

The vector X_vert represents the LOR mesh coordinates in E-vector format, see BatchedLORAssembly::GetLORVertexCoordinates.

Definition at line 357 of file lor_ams.cpp.

mfem::BatchedLOR_AMS::~BatchedLOR_AMS ( )

Definition at line 348 of file lor_ams.cpp.

Member Function Documentation

void mfem::BatchedLOR_AMS::Form2DEdgeToVertex ( Array< int > &  edge2vert)
protected

Definition at line 21 of file lor_ams.cpp.

void mfem::BatchedLOR_AMS::Form2DEdgeToVertex_ND ( Array< int > &  edge2vert)
protected

Definition at line 38 of file lor_ams.cpp.

void mfem::BatchedLOR_AMS::Form2DEdgeToVertex_RT ( Array< int > &  edge2vert)
protected

Definition at line 72 of file lor_ams.cpp.

void mfem::BatchedLOR_AMS::Form3DEdgeToVertex ( Array< int > &  edge2vert)
protected

Definition at line 105 of file lor_ams.cpp.

void mfem::BatchedLOR_AMS::FormCoordinateVectors ( const Vector &  X_vert)

Construct the mesh coordinate vectors (not part of the public API).

Definition at line 254 of file lor_ams.cpp.

void mfem::BatchedLOR_AMS::FormGradientMatrix ( )

Construct the discrete gradient matrix (not part of the public API).

Definition at line 139 of file lor_ams.cpp.

HypreParMatrix* mfem::BatchedLOR_AMS::GetGradientMatrix ( ) const
inline

Definition at line 78 of file lor_ams.hpp.

HypreParVector* mfem::BatchedLOR_AMS::GetXCoordinate ( ) const
inline

Definition at line 79 of file lor_ams.hpp.

HypreParVector* mfem::BatchedLOR_AMS::GetYCoordinate ( ) const
inline

Definition at line 80 of file lor_ams.hpp.

HypreParVector* mfem::BatchedLOR_AMS::GetZCoordinate ( ) const
inline

Definition at line 81 of file lor_ams.hpp.

Vector * mfem::BatchedLOR_AMS::StealCoordinateVector ( )

Definition at line 328 of file lor_ams.cpp.

HypreParMatrix * mfem::BatchedLOR_AMS::StealGradientMatrix ( )

Definition at line 323 of file lor_ams.cpp.

HypreParVector * mfem::BatchedLOR_AMS::StealXCoordinate ( )

Definition at line 333 of file lor_ams.cpp.

HypreParVector * mfem::BatchedLOR_AMS::StealYCoordinate ( )

Definition at line 338 of file lor_ams.cpp.

HypreParVector * mfem::BatchedLOR_AMS::StealZCoordinate ( )

Definition at line 343 of file lor_ams.cpp.

Member Data Documentation

const int mfem::BatchedLOR_AMS::dim
protected

Spatial dimension.

Definition at line 32 of file lor_ams.hpp.

ParFiniteElementSpace& mfem::BatchedLOR_AMS::edge_fes
protected

The Nedelec space.

Definition at line 31 of file lor_ams.hpp.

HypreParMatrix* mfem::BatchedLOR_AMS::G
protected

Discrete gradient matrix.

Definition at line 37 of file lor_ams.hpp.

const int mfem::BatchedLOR_AMS::order
protected

Polynomial degree.

Definition at line 33 of file lor_ams.hpp.

H1_FECollection mfem::BatchedLOR_AMS::vert_fec
protected

The corresponding H1 collection.

Definition at line 34 of file lor_ams.hpp.

ParFiniteElementSpace mfem::BatchedLOR_AMS::vert_fes
protected

The corresponding H1 space.

Definition at line 35 of file lor_ams.hpp.

HypreParVector* mfem::BatchedLOR_AMS::x
protected

Definition at line 41 of file lor_ams.hpp.

Vector* mfem::BatchedLOR_AMS::xyz_tvec
protected

Mesh vertex coordinates in true-vector format.

Definition at line 36 of file lor_ams.hpp.

HypreParVector * mfem::BatchedLOR_AMS::y
protected

Definition at line 41 of file lor_ams.hpp.

HypreParVector * mfem::BatchedLOR_AMS::z
protected

Definition at line 41 of file lor_ams.hpp.


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