#include "tutorials/scl-12/src/electrostatics.hpp"
template<int SPACE_DIM>
struct OpElectricDispJump< SPACE_DIM >
- Examples
- mofem/tutorials/scl-12/electrostatics.cpp.
Definition at line 300 of file electrostatics.hpp.
◆ OpElectricDispJump()
Definition at line 301 of file electrostatics.hpp.
309
310 {
311 std::fill(&doEntities[MBVERTEX], &doEntities[MBMAXTYPE], false);
312 doEntities[MBVERTEX] = true;
313 }
SideEle::UserDataOperator SideEleOp
constexpr auto field_name
boost::shared_ptr< std::map< int, BlockData > > permBlockSetsPtr
boost::shared_ptr< MatrixDouble > djump
boost::shared_ptr< MatrixDouble > gradPtr
boost::shared_ptr< DataAtIntegrationPts > commonDataPtr
◆ doWork()
Definition at line 315 of file electrostatics.hpp.
315 {
317
319 auto t_field_grad = getFTensor1FromMat<SPACE_DIM>(*
gradPtr);
320
321 double blockPermittivity = 0.0;
322
324 if (
n.second.domainEnts.find(getFEEntityHandle()) !=
325 n.second.domainEnts.end()) {
326 blockPermittivity =
n.second.epsPermit;
327 }
328 }
329 auto N_InLoop = getNinTheLoop();
330 auto sensee = getSkeletonSense();
331 auto nb_gauss_pts = getGaussPts().size2();
332
333 if (N_InLoop == 0) {
336 }
337 auto t_jump = getFTensor1FromMat<SPACE_DIM>(*
djump);
338
339 for (int gg = 0; gg != nb_gauss_pts; gg++) {
340 t_jump(
i) -= t_field_grad(
i) * blockPermittivity * sensee;
341 ++t_jump;
342 ++t_field_grad;
343 }
344
346 }
#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< 'i', SPACE_DIM > i
const double n
refractive index of diffusive medium
◆ commonDataPtr
◆ djump
◆ gradPtr
◆ permBlockSetsPtr
The documentation for this struct was generated from the following file: