v0.16.0
Loading...
Searching...
No Matches
MatUmat.hpp
Go to the documentation of this file.
1/**
2 * @file MatUmat.hpp
3 * @brief
4 * @version 0.1
5 * @date 2026-04-02
6 *
7 * @copyright Copyright (c) 2026
8 *
9 */
10
11#ifndef MAT_OPS_UMAT_HPP
12#define MAT_OPS_UMAT_HPP
13
14#include "MatOps.hpp"
15
16namespace MatOps {
17
18struct UMAT {
19 UMAT() = delete;
20};
21
22template <int DIM, int MODEL_TYPE = (DIM == 3) ? MODEL_3D : MODEL_2D_PLANE_STRAIN>
23struct MatUmatImpl;
24
25template <int DIM, int MODEL_TYPE = (DIM == 3) ? MODEL_3D : MODEL_2D_PLANE_STRAIN>
28 EntityHandle entity, int gg) = 0;
29 virtual MoFEMErrorCode
31 boost::shared_ptr<MatOpsData> mat_ops_data_ptr) = 0;
32 virtual MoFEMErrorCode
34 boost::shared_ptr<MatOpsData> mat_ops_data_ptr) = 0;
35 virtual ~StrainHandler() = default;
36};
37
38template <>
39boost::shared_ptr<PhysicalEquations>
41 boost::shared_ptr<MatOpsData> mat_ops_data_ptr, int tag);
42
43template <>
44boost::shared_ptr<PhysicalEquations>
46 boost::shared_ptr<MatOpsData> mat_ops_data_ptr, int tag);
47
48template <>
49boost::shared_ptr<PhysicalEquations>
51 boost::shared_ptr<MatOpsData> mat_ops_data_ptr, int tag);
52
53} // namespace MatOps
54
55#endif // MAT_OPS_UMAT_HPP
boost::shared_ptr< PhysicalEquations > createMatOpsPhysicalEquationsPtr< UMAT, MODEL_2D_PLANE_STRESS >(boost::shared_ptr< MatOpsData > mat_ops_data_ptr, int tag)
Definition MatUmat.cpp:46
boost::shared_ptr< PhysicalEquations > createMatOpsPhysicalEquationsPtr< UMAT, MODEL_3D >(boost::shared_ptr< MatOpsData > mat_ops_data_ptr, int tag)
Definition MatUmat.cpp:31
boost::shared_ptr< PhysicalEquations > createMatOpsPhysicalEquationsPtr< UMAT, MODEL_2D_PLANE_STRAIN >(boost::shared_ptr< MatOpsData > mat_ops_data_ptr, int tag)
Definition MatUmat.cpp:38
PetscErrorCode MoFEMErrorCode
MoFEM/PETSc error code.
virtual MoFEMErrorCode convertStress(MatUmatImpl< DIM, MODEL_TYPE > &matUmatImpl, boost::shared_ptr< MatOpsData > mat_ops_data_ptr)=0
virtual ~StrainHandler()=default
virtual MoFEMErrorCode runUmat(MatUmatImpl< DIM, MODEL_TYPE > &matUmatImpl, EntityHandle entity, int gg)=0
virtual MoFEMErrorCode convertTangent(MatUmatImpl< DIM, MODEL_TYPE > &matUmatImpl, boost::shared_ptr< MatOpsData > mat_ops_data_ptr)=0
UMAT()=delete