v0.14.0
Classes | Namespaces | Macros | Functions
EshelbianPlasticity.cpp File Reference

Implementation of automatic differentiation. More...

#include <MoFEM.hpp>
#include <CGGTonsorialBubbleBase.hpp>
#include <EshelbianPlasticity.hpp>
#include <boost/math/constants/constants.hpp>
#include <cholesky.hpp>
#include <EshelbianContact.hpp>
#include <phg-quadrule/quad.h>
#include "impl/EshelbianMonitor.cpp"
#include "impl/SetUpSchurImpl.cpp"
#include "impl/TSElasticPostStep.cpp"
#include <impl/EshelbianContact.cpp>

Go to the source code of this file.

Classes

struct  EshelbianPlasticity::VolUserDataOperatorStabAssembly
 
struct  EshelbianPlasticity::FaceUserDataOperatorStabAssembly
 
struct  EshelbianPlasticity::SetIntegrationAtFrontVolume
 
struct  EshelbianPlasticity::SetIntegrationAtFrontVolume::VolFe
 
struct  EshelbianPlasticity::VolRule
 Set integration rule on element. More...
 
struct  EshelbianPlasticity::FaceRule
 

Namespaces

 EshelbianPlasticity
 

Macros

#define SINGULARITY
 

Functions

static auto get_range_from_block (MoFEM::Interface &m_field, const std::string block_name, int dim)
 
static auto save_range (moab::Interface &moab, const std::string name, const Range r)
 

Detailed Description

Implementation of automatic differentiation.

Definition in file EshelbianPlasticity.cpp.

Macro Definition Documentation

◆ SINGULARITY

#define SINGULARITY

Definition at line 8 of file EshelbianPlasticity.cpp.

Function Documentation

◆ get_range_from_block()

static auto get_range_from_block ( MoFEM::Interface m_field,
const std::string  block_name,
int  dim 
)
static
Examples
EshelbianPlasticity.cpp.

Definition at line 52 of file EshelbianPlasticity.cpp.

53  {
54  Range r;
55 
56  auto mesh_mng = m_field.getInterface<MeshsetsManager>();
57  auto bcs = mesh_mng->getCubitMeshsetPtr(
58 
59  std::regex((boost::format("%s(.*)") % block_name).str())
60 
61  );
62 
63  for (auto bc : bcs) {
64  Range faces;
65  CHK_MOAB_THROW(bc->getMeshsetIdEntitiesByDimension(m_field.get_moab(), dim,
66  faces, true),
67  "get meshset ents");
68  r.merge(faces);
69  }
70 
71  return r;
72 };

◆ save_range()

static auto save_range ( moab::Interface &  moab,
const std::string  name,
const Range  r 
)
static
Examples
EshelbianPlasticity.cpp.

Definition at line 74 of file EshelbianPlasticity.cpp.

75  {
77  auto out_meshset = get_temp_meshset_ptr(moab);
78  CHKERR moab.add_entities(*out_meshset, r);
79  if (r.size()) {
80  CHKERR moab.write_file(name.c_str(), "VTK", "", out_meshset->get_ptr(), 1);
81  } else {
82  MOFEM_LOG("SELF", Sev::warning) << "Empty range for " << name;
83  }
85 };
MoFEM::UnknownInterface::getInterface
MoFEMErrorCode getInterface(IFACE *&iface) const
Get interface reference to pointer of interface.
Definition: UnknownInterface.hpp:93
CHK_MOAB_THROW
#define CHK_MOAB_THROW(err, msg)
Check error code of MoAB function and throw MoFEM exception.
Definition: definitions.h:589
sdf.r
int r
Definition: sdf.py:8
CHKERR
#define CHKERR
Inline error check.
Definition: definitions.h:548
MoFEM::CoreInterface::get_moab
virtual moab::Interface & get_moab()=0
MoFEM::get_temp_meshset_ptr
auto get_temp_meshset_ptr(moab::Interface &moab)
Create smart pointer to temporary meshset.
Definition: Templates.hpp:1886
Range
MOFEM_LOG
#define MOFEM_LOG(channel, severity)
Log.
Definition: LogManager.hpp:308
MoFEM::MeshsetsManager
Interface for managing meshsets containing materials and boundary conditions.
Definition: MeshsetsManager.hpp:104
MoFEM::MeshsetsManager::getCubitMeshsetPtr
MoFEMErrorCode getCubitMeshsetPtr(const int ms_id, const CubitBCType cubit_bc_type, const CubitMeshSets **cubit_meshset_ptr) const
get cubit meshset
Definition: MeshsetsManager.cpp:578
MoFEMFunctionReturn
#define MoFEMFunctionReturn(a)
Last executable line of each PETSc function used for error handling. Replaces return()
Definition: definitions.h:429
MoFEMFunctionBegin
#define MoFEMFunctionBegin
First executable line of each MoFEM function, used for error handling. Final line of MoFEM functions ...
Definition: definitions.h:359