MFEM  v3.2
Finite element discretization library
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Classes | Public Member Functions | Protected Types | Protected Attributes | Static Protected Attributes | List of all members
mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t > Class Template Reference

#include <tbilinearform.hpp>

Inheritance diagram for mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >:
[legend]
Collaboration diagram for mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >:
[legend]

Classes

struct  S_spec
 
struct  T_result
 

Public Member Functions

 TBilinearForm (const IntegratorType &integ, const FiniteElementSpace &sol_fes)
 
virtual ~TBilinearForm ()
 
virtual void Mult (const Vector &x, Vector &y) const
 Operator application. More...
 
void MultUnassembled (const Vector &x, Vector &y) const
 
void Assemble ()
 
template<int num_elem>
MFEM_ALWAYS_INLINE void ElementAddMultAssembled (int el, solFieldEval &solFEval) const
 
template<int num_elem>
void MultAssembled (const Vector &x, Vector &y) const
 
void TestElementwiseExtractAssemble (const Vector &x, Vector &y) const
 
void SerializeNodes (Vector &sNodes) const
 
void AssembleFromSerializedNodes (const Vector &sNodes)
 
void Serialize (const Vector &x, Vector &sx) const
 
void MultAssembledSerialized (const Vector &sx, Vector &sy) const
 
void AssembleMatrix (SparseMatrix &M) const
 
void AssembleMatrix (DenseTensor &M) const
 
void AssembleBilinearForm (BilinearForm &a) const
 
void AddMult (DenseTensor &M, const Vector &x, Vector &y) const
 
- Public Member Functions inherited from mfem::Operator
 Operator (int s=0)
 Construct a square Operator with given size s (default 0) More...
 
 Operator (int h, int w)
 
int Height () const
 Get the height (size of output) of the Operator. Synonym with NumRows. More...
 
int NumRows () const
 
int Width () const
 Get the width (size of input) of the Operator. Synonym with NumCols. More...
 
int NumCols () const
 
virtual void MultTranspose (const Vector &x, Vector &y) const
 Action of the transpose operator. More...
 
virtual OperatorGetGradient (const Vector &x) const
 Evaluate the gradient operator at the point x. More...
 
void PrintMatlab (std::ostream &out, int n=0, int m=0) const
 Prints operator with input size n and output size m in matlab format. More...
 
virtual ~Operator ()
 

Protected Types

typedef complex_t complex_type
 
typedef real_t real_type
 
typedef meshType::FE_type meshFE_type
 
typedef ShapeEvaluator
< meshFE_type, IR, real_t
meshShapeEval
 
typedef solFESpace::FE_type solFE_type
 
typedef ShapeEvaluator
< solFE_type, IR, real_t
solShapeEval
 
typedef solVecLayout_t solVecLayout_type
 
typedef IntegratorType integ_t
 
typedef integ_t::coefficient_type coeff_t
 
typedef integ_t::template
kernel< sdim, dim, complex_t >
::type 
kernel_t
 
typedef kernel_t::template
p_asm_data< qpts >::type 
p_assembled_t
 
typedef kernel_t::template
f_asm_data< qpts >::type 
f_assembled_t
 
typedef TElementTransformation
< meshType, IR, real_t
Trans_t
 
typedef FieldEvaluator
< solFESpace, solVecLayout_t,
IR, complex_t, real_t
solFieldEval
 

Protected Attributes

meshType mesh
 
meshShapeEval meshEval
 
solFE_type sol_fe
 
solShapeEval solEval
 
solFESpace solFES
 
solVecLayout_t solVecLayout
 
IR int_rule
 
coeff_t coeff
 
p_assembled_tassembled_data
 
- Protected Attributes inherited from mfem::Operator
int height
 
int width
 

Static Protected Attributes

static const int dim = meshType::dim
 
static const int sdim = meshType::space_dim
 
static const int dofs = solFE_type::dofs
 
static const int vdim = solVecLayout_t::vec_dim
 
static const int qpts = IR::qpts
 

Detailed Description

template<typename meshType, typename solFESpace, typename IR, typename IntegratorType, typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
class mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >

Definition at line 34 of file tbilinearform.hpp.

Member Typedef Documentation

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef integ_t::coefficient_type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::coeff_t
protected

Definition at line 53 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef complex_t mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::complex_type
protected

Definition at line 37 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef kernel_t::template f_asm_data<qpts>::type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::f_assembled_t
protected

Definition at line 56 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef IntegratorType mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::integ_t
protected

Definition at line 52 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef integ_t::template kernel<sdim,dim,complex_t>::type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::kernel_t
protected

Definition at line 54 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef meshType::FE_type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::meshFE_type
protected

Definition at line 40 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef ShapeEvaluator<meshFE_type,IR,real_t> mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::meshShapeEval
protected

Definition at line 41 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef kernel_t::template p_asm_data<qpts>::type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::p_assembled_t
protected

Definition at line 55 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef real_t mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::real_type
protected

Definition at line 38 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef solFESpace::FE_type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solFE_type
protected

Definition at line 42 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef FieldEvaluator<solFESpace,solVecLayout_t,IR, complex_t,real_t> mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solFieldEval
protected

Definition at line 67 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef ShapeEvaluator<solFE_type,IR,real_t> mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solShapeEval
protected

Definition at line 43 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef solVecLayout_t mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solVecLayout_type
protected

Definition at line 44 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
typedef TElementTransformation<meshType,IR,real_t> mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::Trans_t
protected

Definition at line 58 of file tbilinearform.hpp.

Constructor & Destructor Documentation

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::TBilinearForm ( const IntegratorType &  integ,
const FiniteElementSpace sol_fes 
)
inline

Definition at line 92 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
virtual mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::~TBilinearForm ( )
inlinevirtual

Definition at line 105 of file tbilinearform.hpp.

Member Function Documentation

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::AddMult ( DenseTensor M,
const Vector x,
Vector y 
) const
inline

Definition at line 497 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::Assemble ( )
inline

Definition at line 168 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::AssembleBilinearForm ( BilinearForm a) const
inline

Definition at line 425 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::AssembleFromSerializedNodes ( const Vector sNodes)
inline

Definition at line 275 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::AssembleMatrix ( SparseMatrix M) const
inline

Definition at line 345 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::AssembleMatrix ( DenseTensor M) const
inline

Definition at line 387 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
template<int num_elem>
MFEM_ALWAYS_INLINE void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::ElementAddMultAssembled ( int  el,
solFieldEval solFEval 
) const
inline

Definition at line 199 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
virtual void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::Mult ( const Vector x,
Vector y 
) const
inlinevirtual

Operator application.

Implements mfem::Operator.

Definition at line 110 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
template<int num_elem>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::MultAssembled ( const Vector x,
Vector y 
) const
inline

Definition at line 214 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::MultAssembledSerialized ( const Vector sx,
Vector sy 
) const
inline

Definition at line 321 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::MultUnassembled ( const Vector x,
Vector y 
) const
inline

Definition at line 124 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::Serialize ( const Vector x,
Vector sx 
) const
inline

Definition at line 302 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::SerializeNodes ( Vector sNodes) const
inline

Definition at line 255 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
void mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::TestElementwiseExtractAssemble ( const Vector x,
Vector y 
) const
inline

Definition at line 235 of file tbilinearform.hpp.

Member Data Documentation

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
p_assembled_t* mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::assembled_data
protected

Definition at line 89 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
coeff_t mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::coeff
protected

Definition at line 87 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
const int mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::dim = meshType::dim
staticprotected

Definition at line 46 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
const int mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::dofs = solFE_type::dofs
staticprotected

Definition at line 48 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
IR mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::int_rule
protected

Definition at line 85 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
meshType mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::mesh
protected

Definition at line 77 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
meshShapeEval mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::meshEval
protected

Definition at line 78 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
const int mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::qpts = IR::qpts
staticprotected

Definition at line 50 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
const int mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::sdim = meshType::space_dim
staticprotected

Definition at line 47 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
solFE_type mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::sol_fe
protected

Definition at line 80 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
solShapeEval mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solEval
protected

Definition at line 81 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
solFESpace mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solFES
mutableprotected

Definition at line 82 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
solVecLayout_t mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::solVecLayout
protected

Definition at line 83 of file tbilinearform.hpp.

template<typename meshType , typename solFESpace , typename IR , typename IntegratorType , typename solVecLayout_t = ScalarLayout, typename complex_t = double, typename real_t = double>
const int mfem::TBilinearForm< meshType, solFESpace, IR, IntegratorType, solVecLayout_t, complex_t, real_t >::vdim = solVecLayout_t::vec_dim
staticprotected

Definition at line 49 of file tbilinearform.hpp.


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