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 361 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 363 of file VecManager.cpp.

364  {
366  for (; miit != hi_miit; miit++) {
367  if (miit->get()->getHasLocalIndex()) {
368  auto diiiit =
369  dofs_ptr
370  ->template get<Composite_Name_And_Ent_And_EntDofIdx_mi_tag>()
371  .find(boost::make_tuple(cpy_field_name, (*miit)->getEnt(),
372  (*miit)->getEntDofIdx()));
373  if (diiiit ==
374  dofs_ptr
375  ->template get<Composite_Name_And_Ent_And_EntDofIdx_mi_tag>()
376  .end()) {
377  SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
378  "Automatic creation of entity and dof not implemented");
379  }
380  if (MODE == INSERT_VALUES)
381  (*diiiit)->getFieldData() = array[(*miit)->getPetscLocalDofIdx()];
382  else if (MODE == ADD_VALUES)
383  (*diiiit)->getFieldData() += array[(*miit)->getPetscLocalDofIdx()];
384  }
385  }
387  }
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:477
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:407

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