v0.14.0
Public Member Functions | Public Attributes | List of all members
MoFEM::DofEntity_active_change Struct Reference

#include <src/multi_indices/DofsMultiIndices.hpp>

Collaboration diagram for MoFEM::DofEntity_active_change:
[legend]

Public Member Functions

 DofEntity_active_change (bool active)
 
void operator() (boost::shared_ptr< DofEntity > &dof)
 

Public Attributes

bool aCtive
 

Detailed Description

Activate or deactivate dofs (multi-index modifier)

Definition at line 527 of file DofsMultiIndices.hpp.

Constructor & Destructor Documentation

◆ DofEntity_active_change()

MoFEM::DofEntity_active_change::DofEntity_active_change ( bool  active)

Definition at line 47 of file DofsMultiIndices.cpp.

48  : aCtive(active) {}

Member Function Documentation

◆ operator()()

void MoFEM::DofEntity_active_change::operator() ( boost::shared_ptr< DofEntity > &  dof)

Definition at line 49 of file DofsMultiIndices.cpp.

49  {
50 
51  if (aCtive)
52  dof->dof = std::abs(dof->dof);
53  else
54  dof->dof = -std::abs(dof->dof);
55 
56  if (PetscUnlikely(aCtive && dof->getDofOrder() > dof->getMaxOrder())) {
57  MOFEM_LOG_CHANNEL("SELF");
58  MOFEM_LOG_TAG("SELF", "DofEntity_active_change");
59  MOFEM_LOG("SELF", Sev::error) << *dof;
60  THROW_MESSAGE("Set DoF active which has order larger than maximal order "
61  "set to entity");
62  }
63 }

Member Data Documentation

◆ aCtive

bool MoFEM::DofEntity_active_change::aCtive

Definition at line 528 of file DofsMultiIndices.hpp.


The documentation for this struct was generated from the following files:
MoFEM::DofEntity_active_change::aCtive
bool aCtive
Definition: DofsMultiIndices.hpp:528
MOFEM_LOG_CHANNEL
#define MOFEM_LOG_CHANNEL(channel)
Set and reset channel.
Definition: LogManager.hpp:284
THROW_MESSAGE
#define THROW_MESSAGE(msg)
Throw MoFEM exception.
Definition: definitions.h:561
MOFEM_LOG_TAG
#define MOFEM_LOG_TAG(channel, tag)
Tag channel.
Definition: LogManager.hpp:339
MOFEM_LOG
#define MOFEM_LOG(channel, severity)
Log.
Definition: LogManager.hpp:308