v0.16.3
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Public Attributes | Static Public Attributes | List of all members
ContactOps::CommonData Struct Reference

[Common data] More...

#include "tutorials/adv-1_contact/src/ContactOps.hpp"

Inheritance diagram for ContactOps::CommonData:
[legend]
Collaboration diagram for ContactOps::CommonData:
[legend]

Public Member Functions

auto contactTractionPtr ()
 
auto contactDispPtr ()
 
auto contactDispGradPtr ()
 
auto sdfPtr ()
 
auto gradSdfPtr ()
 
auto hessSdfPtr ()
 
auto constraintPtr ()
 

Static Public Member Functions

static auto createTotalTraction (MoFEM::Interface &m_field)
 
static auto getFTensor1TotalTraction ()
 

Public Attributes

MatrixDouble contactTraction
 
MatrixDouble contactDisp
 
MatrixDouble contactDispGrad
 
VectorDouble sdfVals
 size is equal to number of gauss points on element
 
MatrixDouble gradsSdf
 
MatrixDouble hessSdf
 
VectorDouble constraintVals
 

Static Public Attributes

static SmartPetscObj< Vec > totalTractionAndArea
 

Detailed Description

[Common data]

Definition at line 24 of file ContactOps.hpp.

Member Function Documentation

◆ constraintPtr()

auto ContactOps::CommonData::constraintPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 97 of file ContactOps.hpp.

97 {
98 return boost::shared_ptr<VectorDouble>(shared_from_this(), &constraintVals);
99 }
VectorDouble constraintVals

◆ contactDispGradPtr()

auto ContactOps::CommonData::contactDispGradPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 80 of file ContactOps.hpp.

80 {
81 return boost::shared_ptr<MatrixDouble>(shared_from_this(),
83 }
MatrixDouble contactDispGrad

◆ contactDispPtr()

auto ContactOps::CommonData::contactDispPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 76 of file ContactOps.hpp.

76 {
77 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &contactDisp);
78 }
MatrixDouble contactDisp

◆ contactTractionPtr()

auto ContactOps::CommonData::contactTractionPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 71 of file ContactOps.hpp.

71 {
72 return boost::shared_ptr<MatrixDouble>(shared_from_this(),
74 }
MatrixDouble contactTraction

◆ createTotalTraction()

static auto ContactOps::CommonData::createTotalTraction ( MoFEM::Interface &  m_field)
inlinestatic
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp, and mofem/users_modules/adolc-plasticity/adolc_plasticity.cpp.

Definition at line 41 of file ContactOps.hpp.

41 {
42 constexpr int ghosts[] = {TX, TY, TZ, AREA_ACTIVE, AREA_POTENTIAL};
44 m_field.get_comm(),
45
46 (m_field.get_comm_rank() == 0) ? LAST_TOTAL_TRACTION_AND_AREA : 0,
48
49 (m_field.get_comm_rank() == 0) ? 0 : LAST_TOTAL_TRACTION_AND_AREA,
50 ghosts);
52 }
@ LAST_TOTAL_TRACTION_AND_AREA
auto createGhostVector(MPI_Comm comm, PetscInt n, PetscInt N, PetscInt nghost, const PetscInt ghosts[])
Create smart ghost vector.
static SmartPetscObj< Vec > totalTractionAndArea
virtual MPI_Comm & get_comm() const =0
virtual int get_comm_rank() const =0

◆ getFTensor1TotalTraction()

static auto ContactOps::CommonData::getFTensor1TotalTraction ( )
inlinestatic
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 54 of file ContactOps.hpp.

54 {
56 const double *t_ptr;
58 "get array");
60 t_ptr[TX], t_ptr[TY], t_ptr[TZ], t_ptr[AREA_ACTIVE],
61 t_ptr[AREA_POTENTIAL]};
62 CHK_THROW_MESSAGE(VecRestoreArrayRead(CommonData::totalTractionAndArea, &t_ptr),
63 "restore array");
64 return t;
65 } else {
67 0., 0.};
68 }
69 }
#define CHK_THROW_MESSAGE(err, msg)
Check and throw MoFEM exception.
constexpr double t
plate stiffness
Definition plate.cpp:58

◆ gradSdfPtr()

auto ContactOps::CommonData::gradSdfPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 89 of file ContactOps.hpp.

89 {
90 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &gradsSdf);
91 }

◆ hessSdfPtr()

auto ContactOps::CommonData::hessSdfPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 93 of file ContactOps.hpp.

93 {
94 return boost::shared_ptr<MatrixDouble>(shared_from_this(), &hessSdf);
95 }

◆ sdfPtr()

auto ContactOps::CommonData::sdfPtr ( )
inline
Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 85 of file ContactOps.hpp.

85 {
86 return boost::shared_ptr<VectorDouble>(shared_from_this(), &sdfVals);
87 }
VectorDouble sdfVals
size is equal to number of gauss points on element

Member Data Documentation

◆ constraintVals

VectorDouble ContactOps::CommonData::constraintVals

◆ contactDisp

MatrixDouble ContactOps::CommonData::contactDisp

◆ contactDispGrad

MatrixDouble ContactOps::CommonData::contactDispGrad

◆ contactTraction

MatrixDouble ContactOps::CommonData::contactTraction

◆ gradsSdf

MatrixDouble ContactOps::CommonData::gradsSdf

nb of rows is equals to number of gauss points on element, and nb of cols is equals to dimension

Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 31 of file ContactOps.hpp.

◆ hessSdf

MatrixDouble ContactOps::CommonData::hessSdf

nb of rows is equals to nb of element of symmetric matrix, and nb of cols is equals to number of gauss points on element

Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 33 of file ContactOps.hpp.

◆ sdfVals

VectorDouble ContactOps::CommonData::sdfVals

size is equal to number of gauss points on element

Examples
mofem/tutorials/adv-1_contact/src/ContactOps.hpp.

Definition at line 30 of file ContactOps.hpp.

◆ totalTractionAndArea

SmartPetscObj< Vec > CommonData::totalTractionAndArea
static

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