![]() |
v0.16.0 |
#include <boost/python.hpp>#include <boost/python/def.hpp>#include <boost/python/numpy.hpp>#include <MoFEM.hpp>#include <ElasticSpring.hpp>#include <FluidLevel.hpp>#include <CalculateTraction.hpp>#include <NaturalDomainBC.hpp>#include <NaturalBoundaryBC.hpp>#include <HookeOps.hpp>#include <ElasticPostProc.hpp>#include <ObjectiveFunctionData.hpp>Go to the source code of this file.
Classes | |
| struct | DomainBCs |
| [Define entities] More... | |
| struct | BoundaryBCs |
| Boundary conditions marker. More... | |
| struct | PostProcEleByDim< 2 > |
| struct | PostProcEleByDim< 3 > |
| struct | Example |
| [Example] More... | |
| struct | OpStateSensitivity |
| struct | OpObjective |
| struct | OpAdJointObjective |
Enumerations | |
| enum | SensitivityMethod { DIRECT , ADJOINT } |
Functions | |
| Range | get_range_from_block (MoFEM::Interface &m_field, const std::string block_name, int dim) |
| MoFEMErrorCode | save_range (moab::Interface &moab, const std::string name, const Range r) |
| template<int DIM> | |
| auto | diff_symmetrize (FTensor::Number< DIM >) |
| int | main (int argc, char *argv[]) |
Variables | |
| constexpr int | BASE_DIM = 1 |
| [Constants and material properties] | |
| constexpr int | SPACE_DIM |
| [Define dimension] | |
| constexpr AssemblyType | A |
| [Define dimension] | |
| constexpr IntegrationType | I |
| Use Gauss quadrature for integration. | |
| constexpr double | young_modulus = 1 |
| [Material properties for linear elasticity] | |
| constexpr double | poisson_ratio = 0.3 |
| Poisson's ratio ν | |
| constexpr double | bulk_modulus_K |
| Bulk modulus K = E/(3(1-2ν)) | |
| constexpr double | shear_modulus_G |
| Shear modulus G = E/(2(1+ν)) | |
| PetscBool | is_plane_strain |
| SensitivityMethod | derivative_type = ADJOINT |
| static char | help [] = "...\n\n" |
| [Finite difference check] | |
Boundary finite elements.
Definition at line 46 of file gradient.cpp.
Boundary element operators
Definition at line 49 of file gradient.cpp.
| using BoundaryLhsBCs = NaturalBC<BoundaryEleOp>::Assembly<A>::BiLinearForm< I> |
Boundary LHS natural BCs.
Definition at line 67 of file gradient.cpp.
| using BoundaryRhsBCs = NaturalBC<BoundaryEleOp>::Assembly<A>::LinearForm< I> |
Boundary RHS natural BCs.
Definition at line 62 of file gradient.cpp.
| using DomainBaseOp = FormsIntegrators<DomainEleOp>::Assembly<A>::OpBase |
[Postprocess results]
Definition at line 703 of file gradient.cpp.
Domain finite elements.
Definition at line 44 of file gradient.cpp.
Domain element operators.
Definition at line 48 of file gradient.cpp.
| using DomainRhsBCs = NaturalBC<DomainEleOp>::Assembly<A>::LinearForm< I> |
Domain RHS natural BCs.
Definition at line 58 of file gradient.cpp.
| using EntData = EntitiesFieldData::EntData |
Entity data for field operations.
Definition at line 42 of file gradient.cpp.
| using OpBoundaryLhsBCs = BoundaryLhsBCs::OpFlux<BoundaryBCs, 1, SPACE_DIM> |
Boundary LHS flux operator.
Definition at line 69 of file gradient.cpp.
| using OpBoundaryRhsBCs = BoundaryRhsBCs::OpFlux<BoundaryBCs, 1, SPACE_DIM> |
Boundary flux operator.
Definition at line 64 of file gradient.cpp.
| using OpDomainRhsBCs = DomainRhsBCs::OpFlux<DomainBCs, 1, SPACE_DIM> |
Domain flux operator.
Definition at line 60 of file gradient.cpp.
Definition at line 89 of file gradient.cpp.
Definition at line 87 of file gradient.cpp.
| using SideEle = PostProcEleByDim<SPACE_DIM>::SideEle |
Definition at line 88 of file gradient.cpp.
| enum SensitivityMethod |
|
inline |
Definition at line 706 of file gradient.cpp.
| Range get_range_from_block | ( | MoFEM::Interface & | m_field, |
| const std::string | block_name, | ||
| int | dim | ||
| ) |
Definition at line 1385 of file gradient.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]
[Example]
[Example]
Definition at line 1332 of file gradient.cpp.
| MoFEMErrorCode save_range | ( | moab::Interface & | moab, |
| const std::string | name, | ||
| const Range | r | ||
| ) |
Definition at line 1424 of file gradient.cpp.
|
constexpr |
[Define dimension]
Use PETSc for matrix/vector assembly
Definition at line 23 of file gradient.cpp.
|
constexpr |
[Constants and material properties]
Dimension of the base functions
Definition at line 16 of file gradient.cpp.
|
constexpr |
Bulk modulus K = E/(3(1-2ν))
Definition at line 31 of file gradient.cpp.
| SensitivityMethod derivative_type = ADJOINT |
Definition at line 96 of file gradient.cpp.
|
static |
[Finite difference check]
Definition at line 1330 of file gradient.cpp.
|
constexpr |
Use Gauss quadrature for integration.
Definition at line 25 of file gradient.cpp.
| PetscBool is_plane_strain |
Flag for plane strain vs plane stress in 2D
Definition at line 37 of file gradient.cpp.
|
constexpr |
Poisson's ratio ν
Definition at line 30 of file gradient.cpp.
|
constexpr |
Shear modulus G = E/(2(1+ν))
Definition at line 34 of file gradient.cpp.
|
constexpr |
[Define dimension]
Space dimension of problem (2D or 3D), set at compile time
Definition at line 19 of file gradient.cpp.
|
constexpr |
[Material properties for linear elasticity]
Young's modulus E
Definition at line 29 of file gradient.cpp.