v0.14.0
Public Member Functions | Protected Attributes | List of all members
OpBlockChargeDensity Struct Reference

#include <tutorials/scl-12/src/electrostatics.hpp>

Inheritance diagram for OpBlockChargeDensity:
[legend]
Collaboration diagram for OpBlockChargeDensity:
[legend]

Public Member Functions

 OpBlockChargeDensity (boost::shared_ptr< DataAtIntegrationPts > common_data_ptr, boost::shared_ptr< std::map< int, BlockData >> int_block_sets_ptr, const std::string &field_name)
 
MoFEMErrorCode doWork (int row_side, int col_side, EntityType row_type, EntityType col_type, EntData &row_data, EntData &col_data)
 

Protected Attributes

boost::shared_ptr< DataAtIntegrationPtscommonDataPtr
 
boost::shared_ptr< std::map< int, BlockData > > intBlockSetsPtr
 

Detailed Description

Definition at line 74 of file electrostatics.hpp.

Constructor & Destructor Documentation

◆ OpBlockChargeDensity()

OpBlockChargeDensity::OpBlockChargeDensity ( boost::shared_ptr< DataAtIntegrationPts common_data_ptr,
boost::shared_ptr< std::map< int, BlockData >>  int_block_sets_ptr,
const std::string &  field_name 
)
inline

Definition at line 75 of file electrostatics.hpp.

79  : IntEleOp(field_name, field_name, OPROWCOL, false),
80  commonDataPtr(common_data_ptr), intBlockSetsPtr(int_block_sets_ptr) {
81  std::fill(&doEntities[MBVERTEX], &doEntities[MBMAXTYPE], false);
82  doEntities[MBVERTEX] = true;
83  }

Member Function Documentation

◆ doWork()

MoFEMErrorCode OpBlockChargeDensity::doWork ( int  row_side,
int  col_side,
EntityType  row_type,
EntityType  col_type,
EntData row_data,
EntData col_data 
)
inline

Definition at line 85 of file electrostatics.hpp.

87  {
89  for (const auto &m : *intBlockSetsPtr) {
90  if (m.second.interfaceEnts.find(getFEEntityHandle()) !=
91  m.second.interfaceEnts.end()) {
92  commonDataPtr->blockChrgDens = m.second.chargeDensity;
93  }
94  }
96  }

Member Data Documentation

◆ commonDataPtr

boost::shared_ptr<DataAtIntegrationPts> OpBlockChargeDensity::commonDataPtr
protected

Definition at line 99 of file electrostatics.hpp.

◆ intBlockSetsPtr

boost::shared_ptr<std::map<int, BlockData> > OpBlockChargeDensity::intBlockSetsPtr
protected

Definition at line 100 of file electrostatics.hpp.


The documentation for this struct was generated from the following file:
OpBlockChargeDensity::commonDataPtr
boost::shared_ptr< DataAtIntegrationPts > commonDataPtr
Definition: electrostatics.hpp:99
OpBlockChargeDensity::intBlockSetsPtr
boost::shared_ptr< std::map< int, BlockData > > intBlockSetsPtr
Definition: electrostatics.hpp:100
IntEleOp
IntEle::UserDataOperator IntEleOp
Definition: electrostatics.hpp:17
field_name
constexpr auto field_name
Definition: poisson_2d_homogeneous.cpp:13
m
FTensor::Index< 'm', 3 > m
Definition: shallow_wave.cpp:80
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359