v0.8.23
Public Member Functions | List of all members
MoFEM::SetOtherLocalGhostVector< MODE > Struct Template Reference

Public Member Functions

template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
MoFEMErrorCode operator() (A0 dofs_ptr, A1 array, A2 miit, A3 hi_miit, A4 &cpy_field_name)
 

Detailed Description

template<int MODE>
struct MoFEM::SetOtherLocalGhostVector< MODE >

Definition at line 335 of file VecManager.cpp.

Member Function Documentation

◆ operator()()

template<int MODE>
template<typename A0 , typename A1 , typename A2 , typename A3 , typename A4 >
MoFEMErrorCode MoFEM::SetOtherLocalGhostVector< MODE >::operator() ( A0  dofs_ptr,
A1  array,
A2  miit,
A3  hi_miit,
A4 &  cpy_field_name 
)

Definition at line 337 of file VecManager.cpp.

338  {
340  for (; miit != hi_miit; miit++) {
341  if (miit->get()->getHasLocalIndex()) {
342  auto diiiit =
343  dofs_ptr
344  ->template get<Composite_Name_And_Ent_And_EntDofIdx_mi_tag>()
345  .find(boost::make_tuple(cpy_field_name, (*miit)->getEnt(),
346  (*miit)->getEntDofIdx()));
347  if (diiiit ==
348  dofs_ptr
349  ->template get<Composite_Name_And_Ent_And_EntDofIdx_mi_tag>()
350  .end()) {
351  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
352  "Automatic creation of entity and dof not implemented");
353  }
354  if (MODE == INSERT_VALUES)
355  (*diiiit)->getFieldData() = array[(*miit)->getPetscLocalDofIdx()];
356  else if (MODE == ADD_VALUES)
357  (*diiiit)->getFieldData() += array[(*miit)->getPetscLocalDofIdx()];
358  }
359  }
361  }
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:476
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:406

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