v0.15.0
Loading...
Searching...
No Matches
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 }
IntEle::UserDataOperator IntEleOp
constexpr auto field_name
boost::shared_ptr< std::map< int, BlockData > > intBlockSetsPtr
boost::shared_ptr< DataAtIntegrationPts > commonDataPtr

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 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
FTensor::Index< 'm', 3 > m

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: