v0.14.0
Loading...
Searching...
No Matches
Public Member Functions | List of all members
MoFEM::SetOtherGlobalGhostVector< 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_bit_number)
 

Detailed Description

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

Definition at line 519 of file VecManager.cpp.

Member Function Documentation

◆ operator()()

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

Definition at line 521 of file VecManager.cpp.

522 {
524 for (; miit != hi_miit; miit++) {
525 const auto uid = DofEntity::getUniqueIdCalculate(
526 (*miit)->getEntDofIdx(), FieldEntity::getLocalUniqueIdCalculate(
527 cpy_bit_number, (*miit)->getEnt()));
528 auto diiiit = dofs_ptr->template get<Unique_mi_tag>().find(uid);
529#ifndef NDEBUG
530 if (diiiit == dofs_ptr->template get<Unique_mi_tag>().end()) {
531 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
532 "Automatic creation of entity and dof not implemented");
533 }
534#endif
535 if constexpr (MODE == INSERT_VALUES)
536 (*diiiit)->getFieldData() = array[(*miit)->getPetscGlobalDofIdx()];
537 else if constexpr (MODE == ADD_VALUES)
538 (*diiiit)->getFieldData() += array[(*miit)->getPetscGlobalDofIdx()];
539 }
541 }
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:346
@ MOFEM_NOT_IMPLEMENTED
Definition: definitions.h:32
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:416
static UId getUniqueIdCalculate(const DofIdx dof, UId ent_uid)
UId getLocalUniqueIdCalculate()
Get the Local Unique Id Calculate object.

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