v0.8.23
Classes | Public Member Functions | Public Attributes | Protected Member Functions | Friends | List of all members
MoFEM::DataForcesAndSourcesCore Struct Reference

data structure for finite element entityIt keeps that about indices of degrees of freedom, dofs data, base functions functions, entity side number, type of entities, approximation order, etc. More...

#include <src/finite_elements/DataStructures.hpp>

Inheritance diagram for MoFEM::DataForcesAndSourcesCore:
[legend]

Classes

struct  EntData
 Data on single entity (This is passed as argument to DataOperator::doWork) More...
 

Public Member Functions

MoFEMErrorCode resetFieldDependentData ()
 
 DataForcesAndSourcesCore (const EntityType type)
 
virtual ~DataForcesAndSourcesCore ()
 
virtual MoFEMErrorCode setElementType (const EntityType type)
 

Public Attributes

std::bitset< LASTSPACEsPace
 spaces on element More...
 
std::bitset< LASTBASEbAse
 bases on element More...
 
ublas::matrix< intfacesNodes
 nodes on finite element faces More...
 
std::bitset< LASTSPACEspacesOnEntities [MBMAXTYPE]
 spaces on entity types More...
 
std::bitset< LASTBASEbasesOnEntities [MBMAXTYPE]
 bases on entity types More...
 
std::bitset< LASTBASEbasesOnSpaces [LASTSPACE]
 base on spaces More...
 
boost::ptr_vector< EntDatadataOnEntities [MBMAXTYPE]
 

Protected Member Functions

 DataForcesAndSourcesCore ()
 

Friends

std::ostream & operator<< (std::ostream &os, const DataForcesAndSourcesCore &e)
 

Detailed Description

data structure for finite element entity

It keeps that about indices of degrees of freedom, dofs data, base functions functions, entity side number, type of entities, approximation order, etc.

Examples
EshelbianPlasticity.cpp, and forces_and_sources_testing_users_base.cpp.

Definition at line 43 of file DataStructures.hpp.

Constructor & Destructor Documentation

◆ DataForcesAndSourcesCore() [1/2]

MoFEM::DataForcesAndSourcesCore::DataForcesAndSourcesCore ( const EntityType  type)

Definition at line 92 of file DataStructures.cpp.

92  {
93  constructor_data(this, type);
94 }
static void constructor_data(DataForcesAndSourcesCore *data, const EntityType type)

◆ ~DataForcesAndSourcesCore()

virtual MoFEM::DataForcesAndSourcesCore::~DataForcesAndSourcesCore ( )
virtual

Definition at line 1130 of file DataStructures.hpp.

1130 {}

◆ DataForcesAndSourcesCore() [2/2]

MoFEM::DataForcesAndSourcesCore::DataForcesAndSourcesCore ( )
protected

Definition at line 1138 of file DataStructures.hpp.

1138 {}

Member Function Documentation

◆ resetFieldDependentData()

MoFEMErrorCode MoFEM::DataForcesAndSourcesCore::resetFieldDependentData ( )

Reset data associated with particular field name

Returns
error code

Definition at line 1118 of file DataStructures.hpp.

1118  {
1120  for (EntityType t = MBVERTEX; t != MBMAXTYPE; t++) {
1121  for (auto &e : dataOnEntities[t]) {
1122  ierr = e.resetFieldDependentData();
1123  CHKERRG(ierr);
1124  }
1125  }
1127  }
#define MoFEMFunctionBeginHot
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:501
#define CHKERRG(n)
Check error code of MoFEM/MOAB/PETSc function.
Definition: definitions.h:544
#define MoFEMFunctionReturnHot(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:508
boost::ptr_vector< EntData > dataOnEntities[MBMAXTYPE]

◆ setElementType()

MoFEMErrorCode MoFEM::DataForcesAndSourcesCore::setElementType ( const EntityType  type)
virtual

Reimplemented in MoFEM::DerivedDataForcesAndSourcesCore.

Definition at line 96 of file DataStructures.cpp.

96  {
98  for (EntityType tt = MBVERTEX; tt != MBMAXTYPE; ++tt)
99  dataOnEntities[tt].clear();
100  constructor_data(this, type);
102 }
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:477
static void constructor_data(DataForcesAndSourcesCore *data, const EntityType type)
boost::ptr_vector< EntData > dataOnEntities[MBMAXTYPE]
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:407

Friends And Related Function Documentation

◆ operator<<

std::ostream& operator<< ( std::ostream &  os,
const DataForcesAndSourcesCore e 
)
friend

Definition at line 164 of file DataStructures.cpp.

164  {
165  for (unsigned int nn = 0; nn < e.dataOnEntities[MBVERTEX].size(); nn++) {
166  os << "dataOnEntities[MBVERTEX][" << nn << "]" << std::endl
167  << e.dataOnEntities[MBVERTEX][nn] << std::endl;
168  }
169  for (unsigned int ee = 0; ee < e.dataOnEntities[MBEDGE].size(); ee++) {
170  os << "dataOnEntities[MBEDGE][" << ee << "]" << std::endl
171  << e.dataOnEntities[MBEDGE][ee] << std::endl;
172  }
173  for (unsigned int ff = 0; ff < e.dataOnEntities[MBTRI].size(); ff++) {
174  os << "dataOnEntities[MBTRI][" << ff << "] " << std::endl
175  << e.dataOnEntities[MBTRI][ff] << std::endl;
176  }
177  for (unsigned int vv = 0; vv < e.dataOnEntities[MBTET].size(); vv++) {
178  os << "dataOnEntities[MBTET][" << vv << "]" << std::endl
179  << e.dataOnEntities[MBTET][vv] << std::endl;
180  }
181  return os;
182 }

Member Data Documentation

◆ bAse

std::bitset<LASTBASE> MoFEM::DataForcesAndSourcesCore::bAse

bases on element

Definition at line 1103 of file DataStructures.hpp.

◆ basesOnEntities

std::bitset<LASTBASE> MoFEM::DataForcesAndSourcesCore::basesOnEntities[MBMAXTYPE]

bases on entity types

Definition at line 1107 of file DataStructures.hpp.

◆ basesOnSpaces

std::bitset<LASTBASE> MoFEM::DataForcesAndSourcesCore::basesOnSpaces[LASTSPACE]

base on spaces

Definition at line 1108 of file DataStructures.hpp.

◆ dataOnEntities

boost::ptr_vector<EntData> MoFEM::DataForcesAndSourcesCore::dataOnEntities[MBMAXTYPE]

data on nodes, base function, dofs values, etc.

Examples
EshelbianPlasticity.cpp, and forces_and_sources_testing_users_base.cpp.

Definition at line 1110 of file DataStructures.hpp.

◆ facesNodes

ublas::matrix<int> MoFEM::DataForcesAndSourcesCore::facesNodes

nodes on finite element faces

Examples
forces_and_sources_testing_users_base.cpp.

Definition at line 1104 of file DataStructures.hpp.

◆ sPace

std::bitset<LASTSPACE> MoFEM::DataForcesAndSourcesCore::sPace

spaces on element

Definition at line 1102 of file DataStructures.hpp.

◆ spacesOnEntities

std::bitset<LASTSPACE> MoFEM::DataForcesAndSourcesCore::spacesOnEntities[MBMAXTYPE]

spaces on entity types

Definition at line 1106 of file DataStructures.hpp.


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