MFEM v4.9.0
Finite element discretization library
Loading...
Searching...
No Matches
mfem::AnalyticAdaptTC Class Reference

#include <tmop.hpp>

Inheritance diagram for mfem::AnalyticAdaptTC:
[legend]
Collaboration diagram for mfem::AnalyticAdaptTC:
[legend]

Public Member Functions

 AnalyticAdaptTC (TargetType ttype)
 
virtual void SetAnalyticTargetSpec (Coefficient *sspec, VectorCoefficient *vspec, TMOPMatrixCoefficient *mspec)
 
void ComputeElementTargets (int e_id, const FiniteElement &fe, const IntegrationRule &ir, const Vector &elfun, DenseTensor &Jtr) const override
 Given an element and quadrature rule, computes ref->target transformation Jacobians for each quadrature point in the element. The physical positions of the element's nodes are given by elfun.
 
void ComputeAllElementTargets (const FiniteElementSpace &fes, const IntegrationRule &ir, const Vector &xe, DenseTensor &Jtr) const override
 Computes reference-to-target transformation Jacobians for all quadrature points in all elements.
 
void ComputeElementTargetsGradient (const IntegrationRule &ir, const Vector &elfun, IsoparametricTransformation &Tpr, DenseTensor &dJtr) const override
 
- Public Member Functions inherited from mfem::TargetConstructor
 TargetConstructor (TargetType ttype)
 Constructor for use in serial.
 
 TargetConstructor (TargetType ttype, MPI_Comm mpicomm)
 Constructor for use in parallel.
 
virtual ~TargetConstructor ()
 
bool Parallel () const
 
MPI_Comm GetComm () const
 
bool Parallel () const
 
void SetNodes (const GridFunction &n)
 Set the nodes to be used in the target-matrix construction.
 
const GridFunctionGetNodes () const
 Get the nodes to be used in the target-matrix construction.
 
void SetVolumeScale (real_t vol_scale)
 Used by target type IDEAL_SHAPE_EQUAL_SIZE. The default volume scale is 1.
 
TargetType GetTargetType () const
 
bool UsesPhysicalCoordinates () const
 Return true if the methods ComputeElementTargets(), ComputeAllElementTargets(), and ComputeElementTargetsGradient() use the physical node coordinates provided by the parameters 'elfun', or 'xe'.
 
virtual bool ContainsVolumeInfo () const
 Checks if the target matrices contain non-trivial size specification.
 

Protected Attributes

Coefficientscalar_tspec
 
VectorCoefficientvector_tspec
 
TMOPMatrixCoefficientmatrix_tspec
 
- Protected Attributes inherited from mfem::TargetConstructor
const GridFunctionnodes
 
real_t avg_volume
 
real_t volume_scale
 
const TargetType target_type
 
bool uses_phys_coords
 
DenseMatrix current_W
 Cached copy of GeomToPerfGeomJac used on device.
 
Geometry::Type current_W_type = Geometry::INVALID
 Geometry type of current W matrix (used for cache invalidation).
 
MPI_Comm comm
 

Additional Inherited Members

- Public Types inherited from mfem::TargetConstructor
enum  TargetType {
  IDEAL_SHAPE_UNIT_SIZE , IDEAL_SHAPE_EQUAL_SIZE , IDEAL_SHAPE_GIVEN_SIZE , GIVEN_SHAPE_AND_SIZE ,
  GIVEN_FULL
}
 Target-matrix construction algorithms supported by this class. More...
 
- Protected Member Functions inherited from mfem::TargetConstructor
void ComputeAvgVolume () const
 
template<int DIM>
bool ComputeAllElementTargets (const FiniteElementSpace &fes, const IntegrationRule &ir, const Vector &xe, DenseTensor &Jtr) const
 
void ComputeAllElementTargets_Fallback (const FiniteElementSpace &fes, const IntegrationRule &ir, const Vector &xe, DenseTensor &Jtr) const
 

Detailed Description

Definition at line 1729 of file tmop.hpp.

Constructor & Destructor Documentation

◆ AnalyticAdaptTC()

mfem::AnalyticAdaptTC::AnalyticAdaptTC ( TargetType ttype)
inline

Definition at line 1738 of file tmop.hpp.

Member Function Documentation

◆ ComputeAllElementTargets()

void mfem::AnalyticAdaptTC::ComputeAllElementTargets ( const FiniteElementSpace & fes,
const IntegrationRule & ir,
const Vector & xe,
DenseTensor & Jtr ) const
overridevirtual

Computes reference-to-target transformation Jacobians for all quadrature points in all elements.

Parameters
[in]fesThe nodal FE space
[in]irThe quadrature rule to use for all elements
[in]xeE-vector with the current physical coordinates/positions; this parameter is used only when needed by the target constructor, see UsesPhysicalCoordinates()
[out]JtrThe computed ref->target Jacobian matrices.

Reimplemented from mfem::TargetConstructor.

Definition at line 142 of file pa.cpp.

◆ ComputeElementTargets()

void mfem::AnalyticAdaptTC::ComputeElementTargets ( int e_id,
const FiniteElement & fe,
const IntegrationRule & ir,
const Vector & elfun,
DenseTensor & Jtr ) const
overridevirtual

Given an element and quadrature rule, computes ref->target transformation Jacobians for each quadrature point in the element. The physical positions of the element's nodes are given by elfun.

Reimplemented from mfem::TargetConstructor.

Definition at line 2612 of file tmop.cpp.

◆ ComputeElementTargetsGradient()

void mfem::AnalyticAdaptTC::ComputeElementTargetsGradient ( const IntegrationRule & ir,
const Vector & elfun,
IsoparametricTransformation & Tpr,
DenseTensor & dJtr ) const
overridevirtual

Reimplemented from mfem::TargetConstructor.

Definition at line 2646 of file tmop.cpp.

◆ SetAnalyticTargetSpec()

void mfem::AnalyticAdaptTC::SetAnalyticTargetSpec ( Coefficient * sspec,
VectorCoefficient * vspec,
TMOPMatrixCoefficient * mspec )
virtual

Definition at line 2603 of file tmop.cpp.

Member Data Documentation

◆ matrix_tspec

TMOPMatrixCoefficient* mfem::AnalyticAdaptTC::matrix_tspec
protected

Definition at line 1735 of file tmop.hpp.

◆ scalar_tspec

Coefficient* mfem::AnalyticAdaptTC::scalar_tspec
protected

Definition at line 1733 of file tmop.hpp.

◆ vector_tspec

VectorCoefficient* mfem::AnalyticAdaptTC::vector_tspec
protected

Definition at line 1734 of file tmop.hpp.


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