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.

HypreParMatrixStealGradientMatrix ()
 
VectorStealCoordinateVector ()
 
HypreParVectorStealXCoordinate ()
 
HypreParVectorStealYCoordinate ()
 
HypreParVectorStealZCoordinate ()
 
These functions return the discrete gradient and coordinate vectors.

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

HypreParMatrixGetGradientMatrix () const
 
HypreParVectorGetXCoordinate () const
 
HypreParVectorGetYCoordinate () const
 
HypreParVectorGetZCoordinate () 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

ParFiniteElementSpaceedge_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...
 
Vectorxyz_tvec
 Mesh vertex coordinates in true-vector format. More...
 
HypreParMatrixG
 Discrete gradient matrix. More...
 
Mesh coordinate vectors in HypreParVector format
HypreParVectorx
 
HypreParVectory
 
HypreParVectorz
 

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: