v0.13.0
Classes | Typedefs | Enumerations | Functions
Forms Integrators

Classes and functions used to evaluate fields at integration pts, jacobians, etc.. More...

Collaboration diagram for Forms Integrators:

Classes

struct  MoFEM::FormsIntegrators< EleOp >::Assembly< A >::LinearForm< I >
 Linear form. More...
 
struct  MoFEM::FormsIntegrators< EleOp >::Assembly< A >::BiLinearForm< I >
 Bi linear form. More...
 

Typedefs

using MoFEM::ScalarFun = boost::function< double(const double, const double, const double)>
 Scalar function type. More...
 
template<int DIM>
using MoFEM::VectorFun = boost::function< FTensor::Tensor1< double, DIM >(const double, const double, const double)>
 Vector function type. More...
 

Enumerations

enum  MoFEM::AssemblyType { MoFEM::PETSC , MoFEM::USER_ASSEMBLE , MoFEM::LAST_ASSEMBLE }
 [Storage and set boundary conditions] More...
 
enum  MoFEM::IntegrationType { MoFEM::GAUSS , MoFEM::USER_INTEGRATION , MoFEM::LAST_INTEGRATION }
 Form integrator integration types. More...
 

Functions

template<>
MoFEMErrorCode MoFEM::VecSetValues< EssentialBcStorage > (Vec V, const EntitiesFieldData::EntData &data, const double *ptr, InsertMode iora)
 Set values to vector in operator. More...
 

Detailed Description

Classes and functions used to evaluate fields at integration pts, jacobians, etc..

Typedef Documentation

◆ ScalarFun

using MoFEM::ScalarFun = typedef boost::function<double(const double, const double, const double)>

Scalar function type.

Examples
PoissonDiscontinousGalerkin.hpp.

Definition at line 116 of file FormsIntegrators.hpp.

◆ VectorFun

template<int DIM>
using MoFEM::VectorFun = typedef boost::function<FTensor::Tensor1<double, DIM>( const double, const double, const double)>

Vector function type.

Template Parameters
DIMdimension of the return

Definition at line 132 of file FormsIntegrators.hpp.

Enumeration Type Documentation

◆ AssemblyType

[Storage and set boundary conditions]

Form integrator assembly types

Enumerator
PETSC 
USER_ASSEMBLE 
LAST_ASSEMBLE 

Definition at line 102 of file FormsIntegrators.hpp.

◆ IntegrationType

Form integrator integration types.

Enumerator
GAUSS 
USER_INTEGRATION 
LAST_INTEGRATION 

Definition at line 109 of file FormsIntegrators.hpp.

Function Documentation

◆ VecSetValues< EssentialBcStorage >()

template<>
MoFEMErrorCode MoFEM::VecSetValues< EssentialBcStorage > ( Vec  V,
const EntitiesFieldData::EntData data,
const double *  ptr,
InsertMode  iora 
)

Set values to vector in operator.

Parameters
V
data
ptr
iora
Returns
MoFEMErrorCode
Examples
test_cache_on_entities.cpp.

Definition at line 87 of file FormsIntegrators.cpp.

90  {
92 
93  if(!V)
94  SETERRQ(PETSC_COMM_SELF, MOFEM_INVALID_DATA,
95  "Pointer to PETSc vector is null");
96 
97  CHKERR VecSetOption(V, VEC_IGNORE_NEGATIVE_INDICES, PETSC_TRUE);
98  if (!data.getFieldEntities().empty()) {
99  if (auto e_ptr = data.getFieldEntities()[0]) {
100  if (auto stored_data_ptr =
101  e_ptr->getSharedStoragePtr<EssentialBcStorage>()) {
102  return ::VecSetValues(V, stored_data_ptr->entityIndices.size(),
103  &*stored_data_ptr->entityIndices.begin(), ptr,
104  iora);
105  }
106  }
107  }
108  return ::VecSetValues(V, data.getIndices().size(),
109  &*data.getIndices().begin(), ptr, iora);
111 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359
@ MOFEM_INVALID_DATA
Definition: definitions.h:49
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
#define CHKERR
Inline error check.
Definition: definitions.h:548