![]() |
v0.13.2 |
#include <MoFEM.hpp>
#include <MatrixFunction.hpp>
#include <HenckyOps.hpp>
#include <ContactOps.hpp>
#include <PostProcContact.hpp>
#include <ContactNaturalDomainBC.hpp>
#include <ContactNaturalBoundaryBC.hpp>
Go to the source code of this file.
Classes | |
struct | ElementsAndOps< DIM > |
struct | ElementsAndOps< 2 > |
struct | ElementsAndOps< 3 > |
struct | ContactOps::DomainBCs |
struct | ContactOps::BoundaryBCs |
struct | Contact |
Namespaces | |
namespace | ContactOps |
Macros | |
#define | EXECUTABLE_DIMENSION 3 |
Functions | |
MoFEMErrorCode | ContactOps::addMatBlockOps (MoFEM::Interface &m_field, boost::ptr_deque< ForcesAndSourcesCore::UserDataOperator > &pipeline, std::string field_name, std::string block_name, boost::shared_ptr< MatrixDouble > mat_D_Ptr, Sev sev) |
int | main (int argc, char *argv[]) |
Variables | |
constexpr AssemblyType | A = AssemblyType::PETSC |
constexpr IntegrationType | I |
constexpr int | SPACE_DIM |
constexpr FieldSpace | CONTACT_SPACE = ElementsAndOps<SPACE_DIM>::CONTACT_SPACE |
constexpr bool | is_quasi_static = true |
int | order = 2 |
constexpr int | geom_order |
double | young_modulus = 100 |
double | poisson_ratio = 0.25 |
double | rho = 0.0 |
double | cn = 0.1 |
double | spring_stiffness = 0.1 |
double | alpha_dumping = 0 |
static char | help [] = "...\n\n" |
[Check] More... | |
\CONTACT contact.cpp
CONTACT of contact problem
Definition in file contact.cpp.
#define EXECUTABLE_DIMENSION 3 |
Definition at line 11 of file contact.cpp.
using AssemblyBoundaryEleOp = FormsIntegrators<BoundaryEleOp>::Assembly<A>::OpBase |
Definition at line 52 of file contact.cpp.
using AssemblyDomainEleOp = FormsIntegrators<DomainEleOp>::Assembly<A>::OpBase |
Definition at line 51 of file contact.cpp.
Definition at line 48 of file contact.cpp.
Definition at line 49 of file contact.cpp.
using DomainEle = ElementsAndOps<SPACE_DIM>::DomainEle |
Definition at line 46 of file contact.cpp.
Definition at line 47 of file contact.cpp.
using EntData = EntitiesFieldData::EntData |
Definition at line 45 of file contact.cpp.
using OpEssentialLhs = EssentialBC<BoundaryEleOp>::Assembly<A>::BiLinearForm< GAUSS>::OpEssentialLhs<DisplacementCubitBcData, 1, SPACE_DIM> |
using OpEssentialRhs = EssentialBC<BoundaryEleOp>::Assembly<A>::LinearForm< GAUSS>::OpEssentialRhs<DisplacementCubitBcData, 1, SPACE_DIM> |
Definition at line 85 of file contact.cpp.
using OpInertiaForce = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<I>::OpBaseTimesVector<1, SPACE_DIM, 1> |
Definition at line 78 of file contact.cpp.
using OpInternalForcePiola = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<I>::OpGradTimesTensor<1, SPACE_DIM, SPACE_DIM> |
Definition at line 92 of file contact.cpp.
using OpKPiola = FormsIntegrators<DomainEleOp>::Assembly<A>::BiLinearForm< GAUSS>::OpGradTensorGrad<1, SPACE_DIM, SPACE_DIM, 1> |
[Essential boundary conditions]
Definition at line 90 of file contact.cpp.
using OpLambdaGraULhs = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<I>::OpMixTensorTimesGrad<SPACE_DIM> |
Definition at line 59 of file contact.cpp.
using OpMass = FormsIntegrators<DomainEleOp>::Assembly<A>::BiLinearForm< GAUSS>::OpMass<1, SPACE_DIM> |
using OpMixDivULhs = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::BiLinearForm<I>::OpMixDivTimesVec<SPACE_DIM> |
[Operators used for contact]
Definition at line 57 of file contact.cpp.
using OpMixDivURhs = FormsIntegrators<DomainEleOp>::Assembly<A>::LinearForm< GAUSS>::OpMixDivTimesU<3, SPACE_DIM, SPACE_DIM> |
Definition at line 61 of file contact.cpp.
using OpMixLambdaGradURhs = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<I>::OpMixTensorTimesGradU<SPACE_DIM> |
Definition at line 63 of file contact.cpp.
using OpMixUTimesDivLambdaRhs = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<I>::OpMixVecTimesDivLambda<SPACE_DIM> |
Definition at line 65 of file contact.cpp.
using OpMixUTimesLambdaRhs = FormsIntegrators<DomainEleOp>::Assembly< PETSC>::LinearForm<I>::OpGradTimesTensor<1, SPACE_DIM, SPACE_DIM> |
Definition at line 67 of file contact.cpp.
using OpSpringLhs = FormsIntegrators<BoundaryEleOp>::Assembly< PETSC>::BiLinearForm<I>::OpMass<1, SPACE_DIM> |
Definition at line 69 of file contact.cpp.
using OpSpringRhs = FormsIntegrators<BoundaryEleOp>::Assembly< PETSC>::LinearForm<I>::OpBaseTimesVector<1, SPACE_DIM, 1> |
Definition at line 71 of file contact.cpp.
int main | ( | int | argc, |
char * | argv[] | ||
) |
[Register MoFEM discrete manager in PETSc]
[Register MoFEM discrete manager in PETSc
[Create MoAB]
< mesh database
< mesh database interface
[Create MoAB]
[Create MoFEM]
< finite element database
< finite element database interface
[Create MoFEM]
[Load mesh]
[Load mesh]
[CONTACT]
[CONTACT]
Definition at line 704 of file contact.cpp.
|
constexpr |
Definition at line 25 of file contact.cpp.
double alpha_dumping = 0 |
Definition at line 127 of file contact.cpp.
double cn = 0.1 |
Definition at line 124 of file contact.cpp.
|
constexpr |
Definition at line 54 of file contact.cpp.
|
constexpr |
Currently calculation of normals at integration points is missing on edges (i.e. 2d case). We have to restrict to linear geometry in 2d.
Definition at line 118 of file contact.cpp.
|
static |
[Check]
Definition at line 702 of file contact.cpp.
|
constexpr |
Definition at line 26 of file contact.cpp.
|
constexpr |
Definition at line 115 of file contact.cpp.
int order = 2 |
Definition at line 117 of file contact.cpp.
double poisson_ratio = 0.25 |
Definition at line 122 of file contact.cpp.
double rho = 0.0 |
Definition at line 123 of file contact.cpp.
|
constexpr |
Definition at line 42 of file contact.cpp.
double spring_stiffness = 0.1 |
Definition at line 125 of file contact.cpp.
double young_modulus = 100 |
Definition at line 121 of file contact.cpp.