v0.13.2
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 522 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 524 of file VecManager.cpp.

525 {
527 for (; miit != hi_miit; miit++) {
528 const auto uid = DofEntity::getUniqueIdCalculate(
529 (*miit)->getEntDofIdx(), FieldEntity::getLocalUniqueIdCalculate(
530 cpy_bit_number, (*miit)->getEnt()));
531 auto diiiit = dofs_ptr->template get<Unique_mi_tag>().find(uid);
532#ifndef NDEBUG
533 if (diiiit == dofs_ptr->template get<Unique_mi_tag>().end()) {
534 SETERRQ(PETSC_COMM_SELF, MOFEM_NOT_IMPLEMENTED,
535 "Automatic creation of entity and dof not implemented");
536 }
537#endif
538 if constexpr (MODE == INSERT_VALUES)
539 (*diiiit)->getFieldData() = array[(*miit)->getPetscGlobalDofIdx()];
540 else if constexpr (MODE == ADD_VALUES)
541 (*diiiit)->getFieldData() += array[(*miit)->getPetscGlobalDofIdx()];
542 }
544 }
#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: