Solid engine class#
-
struct ae_type#
- #include <openfdem_sesmic.h>
Public Functions
-
ae_type() = default#
-
ae_type() = default#
-
struct any_cohmat_type#
- #include <openfdem_solid_cohesive_materials.h>
Public Functions
-
any_cohmat_type() = default#
Public Members
-
solidcoh_linear_t linear#
-
solidcohhet_EM_t EM_het#
-
solidcohani_EM_t EM_ani#
-
solidcohdyn_EM_t EM_dyn#
-
any_cohmat_type() = default#
-
struct any_conmat_type#
- #include <openfdem_solid_contact_materials.h>
Public Functions
-
any_conmat_type() = default#
Public Members
-
solidcon_GG_t Roughshear#
-
solidcon_standard_t Standard#
-
solidcon_Bond_t Bond#
-
solidcon_Rrotation_t Rrotation#
-
any_conmat_type() = default#
-
struct any_mat_type#
- #include <openfdem_solid_materials.h>
Public Functions
-
any_mat_type() = default#
Public Members
-
solid_elastic_t elastic#
-
solid_truss_t truss#
-
solid_neo_t neo#
-
solid_excavate_t excavate#
-
solid_soften_t soften#
-
solid_rigid_t rigid#
-
solid_transverse_t transverse#
-
solid_MC_t MC#
-
solid_DP_t DP#
-
solid_burgers_t burger#
-
solid_power_t power#
-
solid_JWL_t JWL#
-
solid_mazars_t mazars#
-
solid_JH_2_t JH2#
-
solid_TCK_t TCK#
-
solid_YANG_t Yang#
-
solid_dfb_t dfb#
-
mpm_snow_t snow#
-
mpm_sand_t sand#
-
any_mat_type() = default#
-
struct Coh_element_structure#
- #include <openfdem_solid_cohesive.h>
Public Members
-
std::vector<cohelement_type> cohele#
-
std::vector<fracture_type> fracture#
-
std::vector<damage_type> damage#
-
std::vector<cohelement_enum> state#
-
std::vector<cohelement_type> cohele#
-
struct cohelement_type#
- #include <openfdem_solid_cohesive.h>
Public Functions
-
cohelement_type() = default#
-
cohelement_type() = default#
-
struct damage_type#
- #include <openfdem_solid_cohesive.h>
Public Functions
-
damage_type() = default#
-
damage_type() = default#
-
struct DFN_structure#
- #include <openfdem_DFN.h>
-
struct dfn_type#
- #include <openfdem_DFN.h>
Public Functions
-
dfn_type() = default#
-
dfn_type() = default#
-
struct Edge_structure#
- #include <openfdem_edge.h>
-
struct edge_type#
- #include <openfdem_edge.h>
Public Functions
-
edge_type() = default#
-
edge_type() = default#
-
struct Element_structure#
- #include <openfdem_solid.h>
-
struct element_type#
- #include <openfdem_solid.h>
-
struct Entity_structure#
- #include <openfdem_entity.h>
-
struct entity_type#
- #include <openfdem_entity.h>
-
struct fracture_type#
- #include <openfdem_solid_cohesive.h>
Public Functions
-
fracture_type() = default#
-
fracture_type() = default#
-
class gaussCount : public OpenFdemAbstract#
- #include <get_gauss_point_counts.h>
-
class gaussDerivs : public OpenFdemAbstract#
- #include <get_shape_function_derivs.h>
-
class gaussPosition : public OpenFdemAbstract#
- #include <get_gauss_point_location.h>
-
class gaussShapeFunction : public OpenFdemAbstract#
- #include <shape_function_library.h>
-
class gaussWeights : public OpenFdemAbstract#
- #include <get_gauss_point_weights.h>
-
class InterfaceUtils : public OpenFdemAbstract#
- #include <solid_interface_element_utils.h>
Subclassed by ns_solid::SolidMechanicsCohesiveDynamicModule, ns_solid::SolidMechanicsCohesiveEMModule, ns_solid::SolidMechanicsCohesiveInstrinsicModule, ns_solid::SolidMechanicsCohesiveOPModule
Public Static Functions
-
static inline void getCZMFaceNodes(Cohelement cohelement, const Int cohindices, Int upnodes[], Int downnodes[])#
-
static inline void getCZMNodeCoord(const Nodal nodal, const Int nodelist[], Vector2 coord[], const Int count)#
-
static inline void getCZMNodeDeltaVel(const Nodal nodal, const Int nodeuplist[], const Int nodedownlist[], const Int count, Vector2 vel[])#
-
static inline Real getCZMkineticEnergy(const Nodal nodal, Edge edge, const Int facei, const Int facej)#
-
static inline void pushDamageCZMlist(General general, Cohelement cohelement, Seismic seismic, const Int cohelement_id, const Real area, Nodal nodal, Edge edge, const Int type)#
-
static inline void pushBrokenCZMlist(General general, Cohelement cohelement, const Int cohelement_id, const Real area, Nodal nodal, Edge edge, const Real type)#
-
static inline void getCZMthreshold(Vector2 &CZMpeak, Vector2 &CZMresidual, any_cohmat_type *cohmat, const Real CharacteristicLength, const Real shearStrengthonCZM, cohelement_cons cons, Real beta, Real tableValue[])#
get the peak and resiudal values of CZM.
- Parameters:
CZMpeak –
CZMresidual –
cohmat –
CharacteristicLength –
shearStrengthonCZM –
cons –
beta –
-
static inline void getCZMDIF(Real o, Real sabs, const Vector2 &vel, any_cohmat_type *cohmat, const Real CharacteristicLength, const Vector2 &peak, Vector2 &cohDIF, Vector2 &DIF)#
compute the dynamic increase factor for dynamic Evans-Marathe model. We are using the unified strain rate law, in which DIF = 1.0 + (strainrate / strainrate.c)^beta
- Parameters:
o –
sabs –
vel –
cohmat –
CharacteristicLength –
peak –
cohDIF –
DIF –
-
static inline void computeEMCZMdamage(Real dmg, Vector2 &peak, Vector2 &residual, Real &previousdamage, Vector2 &damage, cohelement_cons cons)#
-
static inline Real getEMCZMsigma(any_cohmat_type *cohmat, const Real o, const Real vo, const Real rou, UInt &nsoft, const Vector2 &CZMpeak, const Vector2 &damage, cohelement_cons cons, Real tableValue[])#
-
static inline Real getdynamicCZMsigma(any_cohmat_type *cohmat, const Real o, UInt &nsoft, const Vector2 CZMpeak, const Vector2 dynCZMpeak, const Vector2 damage, const Vector2 DIF, Real tableValue[])#
-
static inline Real getEMCZMshearstrength(any_cohmat_type *cohmat, Real sigma, cohelement_cons cons, Real tableValue[])#
-
static inline Real getEMCZMtau(any_cohmat_type *cohmat, const Real sigma, const Real shearStrengthonCZM, const Real sabs, const Real vs, const Real rou, const Vector2 &CZMpeak, const Vector2 &damage, cohelement_cons cons, Real tableValue[])#
-
static inline Real getdynamicEMCZMtau(const Real sigma, const Real shearStrengthonCZM, const Real sabs, const Vector2 &CZMpeak, const Vector2 &dynCZMpeak, const Vector2 &damage, const Vector2 &DIF)#
-
static inline void getCZMFaceNodes(Cohelement cohelement, const Int cohindices, Int upnodes[], Int downnodes[])#
-
struct mat_cohelement_t#
- #include <openfdem_mat.h>
cohesive material.
Public Functions
-
mat_cohelement_t() = default#
Public Members
-
cohelement_cons cons = cohelement_cons::COH_EM#
-
any_cohmat_type mat#
-
bool hasTableParamter = false#
-
bool hasfullTable = false#
-
short table[COHMAT_TABLE_SIZE] = {-1, -1, -1, -1, -1}#
-
mat_cohelement_t() = default#
-
struct mat_contact_t#
- #include <openfdem_mat.h>
contact material.
Public Functions
-
mat_contact_t() = default#
-
mat_contact_t() = default#
-
struct mat_element_t#
- #include <openfdem_mat.h>
class for matrix material library.
Public Functions
-
mat_element_t() = default#
-
mat_element_t() = default#
-
struct mat_fluid_cohesive_t#
- #include <openfdem_mat.h>
fluid flowing in fracture .
Public Functions
-
mat_fluid_cohesive_t() = default#
-
mat_fluid_cohesive_t() = default#
-
struct mat_fluid_element_t#
- #include <openfdem_mat.h>
hydro material.
Public Functions
-
mat_fluid_element_t() = default#
-
mat_fluid_element_t() = default#
-
struct mat_fluid_t#
- #include <openfdem_mat.h>
water material.
Public Functions
-
mat_fluid_t() = default#
-
mat_fluid_t() = default#
-
struct mat_gas_t#
- #include <openfdem_mat.h>
gas material in hydro module.
Public Functions
-
mat_gas_t() = default#
-
mat_gas_t() = default#
-
struct mat_mpmfluid_t#
- #include <openfdem_mat.h>
material point .
Public Functions
-
mat_mpmfluid_t() = default#
-
mat_mpmfluid_t() = default#
-
struct mat_nonlcoal_element_t#
- #include <openfdem_mat.h>
nonlocal material.
Public Functions
-
mat_nonlcoal_element_t() = default#
-
mat_nonlcoal_element_t() = default#
-
struct mat_thermal_element_t#
- #include <openfdem_mat.h>
thermal material.
Public Functions
-
mat_thermal_element_t() = default#
-
mat_thermal_element_t() = default#
-
class MaterialUtils : public OpenFdemAbstract#
- #include <material_utils.h>
Public Static Functions
-
static inline Real getKfromEv(Real E, Real v)#
compute the bulk modulus.
- Parameters:
E –
v –
- Returns:
-
static inline Real getGfromEv(Real E, Real v)#
compute the shear bulk modulus.
- Parameters:
E –
v –
- Returns:
-
static inline Real getEfromKG(Real K, Real G)#
compute the young’s modulus from K and G.
- Parameters:
K –
G –
- Returns:
-
static inline Real getvfromKG(Real K, Real G)#
compute the Poission’s ratio from K and G.
- Parameters:
K –
G –
- Returns:
-
static inline Real getLamdafromKG(Real K, Real G)#
compute lamda from K and G.
- Parameters:
K –
G –
- Returns:
-
static inline Real getLamdafromEv(Real E, Real v)#
compute the lamda from E and v.
- Parameters:
E –
v –
- Returns:
-
static inline Real getcpfromEv(Real E, Real v, Real rou)#
compute the wave velocity from E and v.
- Parameters:
E –
v –
rou –
- Returns:
-
static inline Real getKfromEv(Real E, Real v)#
-
class ModelAnisotropic : public ns_solid::ModelElastic, public OpenFdemAbstract#
- #include <solid_mechanics_model_aniso.h>
Public Functions
-
inline ModelAnisotropic()#
-
inline ~ModelAnisotropic()#
-
virtual void getBulkParameters()#
-
virtual void solidModelAnisotropic(General general, Element element, Solidmat solidmat, Intergration intergration, Nodal nodal)#
-
virtual void computeAnisotropicElasticStress(Nodal nodal, Element element, Intergration intergration)#
-
void initialize()#
Protected Attributes
-
inline ModelAnisotropic()#
-
class ModelBurger : public ns_solid::ModelElastic, public OpenFdemAbstract#
- #include <solid_mechanics_model_burger.h>
-
class ModelDamageMazars : public ns_solid::ModelElastic, public OpenFdemAbstract#
- #include <solid_mechanics_model_mazars.h>
Public Functions
-
inline ModelDamageMazars()#
-
inline ~ModelDamageMazars()#
-
virtual void getBulkParameters()#
Protected Attributes
-
inline ModelDamageMazars()#
-
class ModelDrucker : public ns_solid::ModelElastic, public OpenFdemAbstract#
- #include <solid_mechanics_model_druckerprager.h>
Public Functions
-
inline ModelDrucker()#
-
inline ~ModelDrucker()#
-
virtual void getBulkParameters()#
-
virtual void solidModelDrucker(General general, Element element, Solidmat solidmat, Intergration intergration, Nodal nodal)#
-
void tensionCorrection(Intergration intergration, const Int intPoint, UInt *iPlasticity, const Real &ft)#
-
inline ModelDrucker()#
-
class ModelElastic : public OpenFdemAbstract#
- #include <solid_mechanics_model_elastic.h>
Subclassed by ns_solid::ModelAnisotropic, ns_solid::ModelBurger, ns_solid::ModelDamageMazars, ns_solid::ModelDrucker, ns_solid::ModelExcavation, ns_solid::ModelJH2, ns_solid::ModelJWL, ns_solid::ModelMohr, ns_solid::ModelNeohookean, ns_solid::ModelNonlocalDamageMazars, ns_solid::ModelNonlocalTCK, ns_solid::ModelNonlocalYang, ns_solid::ModelTCK, ns_solid::ModelYang
Public Functions
-
inline ModelElastic()#
-
inline ~ModelElastic()#
-
inline void getBulkParameters(General general, Boudary boudary)#
Get the material parameters from the material library and compute the stiffness damping coefficient.
- Parameters:
solidmat –
matindices –
-
virtual void computeElasticTrailStress(Element element, Intergration intergration)#
Compute the elastic trial stress by incremental strain. the stress should not include the stiffness damping stress
\begin{aligned} &\Delta \sigma_{11}=\alpha_1 \Delta e_{11}+\alpha_2 \Delta e_{22}\ &\Delta \sigma_{22}=\alpha_2 \Delta e_{11}+\alpha_1 \Delta e_{22}\ &\Delta \sigma_{12}=2 G \Delta e_{12} \quad\left(\Delta \sigma_{21}=\Delta \sigma_{12}\right)\ &\Delta \sigma_{33}=\alpha_2\left(\Delta e_{11}+\Delta e_{22}\right) \end{aligned} where \alpha_1 = K + 4/3 * G and \alpha_2 = K - 2/3 * G
- Parameters:
nodal –
element –
elementindices –
-
inline ModelElastic()#
-
class ModelExcavation : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_excavation.h>
-
class ModelJH2 : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_JH2.h>
Public Functions
-
inline ModelJH2()#
-
inline ~ModelJH2()#
-
virtual void getBulkParameters()#
Protected Attributes
-
inline ModelJH2()#
-
class ModelJWL : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_JWL.h>
-
class ModelMohr : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_mohr.h>
Public Functions
-
inline ModelMohr()#
-
inline ~ModelMohr()#
-
virtual void getBulkParameters()#
-
virtual void solidModelMohr(General general, Element element, Solidmat solidmat, Intergration intergration, Nodal nodal)#
-
void apexCorrection(const Real &fric, Intergration intergration, const Int intPoint, Tensor &prin, UInt *iPlasticity)#
-
void tensionCorrection(Intergration intergration, const Int elementindices, Tensor &prin, UInt *iPlasticity, const Real &ftz)#
-
inline ModelMohr()#
-
class ModelNeohookean : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_neohookean.h>
-
class ModelNonlocalDamageMazars : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_nlmazars.h>
Public Functions
-
inline ModelNonlocalDamageMazars()#
-
inline ~ModelNonlocalDamageMazars()#
-
virtual void getBulkParameters()#
Protected Attributes
-
inline ModelNonlocalDamageMazars()#
-
class ModelNonlocalTCK : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_nlTCK.h>
Public Functions
-
inline ModelNonlocalTCK()#
-
inline ~ModelNonlocalTCK()#
-
virtual void getBulkParameters()#
Protected Attributes
-
bool isKUS = false#
-
inline ModelNonlocalTCK()#
-
class ModelNonlocalYang : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_nlyang.h>
Public Functions
-
inline ModelNonlocalYang()#
-
inline ~ModelNonlocalYang()#
-
virtual void getBulkParameters()#
Protected Attributes
-
inline ModelNonlocalYang()#
-
class ModelTCK : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_TCK.h>
Public Functions
-
inline ModelTCK()#
-
inline ~ModelTCK()#
-
virtual void getBulkParameters()#
Protected Attributes
-
bool isKUS = false#
-
inline ModelTCK()#
-
class ModelYang : public ns_solid::ModelElastic#
- #include <solid_mechanics_model_yang.h>
Public Functions
-
inline ModelYang()#
-
inline ~ModelYang()#
-
virtual void getBulkParameters()#
Protected Attributes
-
inline ModelYang()#
-
struct mpm_sand_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
mpm_sand_t() = default#
-
mpm_sand_t() = default#
-
struct mpm_snow_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
mpm_snow_t() = default#
-
mpm_snow_t() = default#
-
struct Nodal_structure#
- #include <openfdem_nodal.h>
Public Members
-
struct node_type#
- #include <openfdem_nodal.h>
Public Functions
-
node_type() = default#
-
node_type() = default#
-
class NonlocalSolid : public OpenFdemAbstract, public ElementUtils#
- #include <nonlocal_model_module.h>
-
struct Seismic_structure#
- #include <openfdem_sesmic.h>
-
struct solid_burgers_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_burgers_t() = default#
-
solid_burgers_t() = default#
-
struct solid_dfb_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_dfb_t() = default#
-
solid_dfb_t() = default#
-
struct solid_DP_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_DP_t() = default#
-
solid_DP_t() = default#
-
struct solid_elastic_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_elastic_t() = default#
-
solid_elastic_t() = default#
-
struct solid_excavate_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_excavate_t() = default#
-
solid_excavate_t() = default#
-
struct solid_JH_2_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_JH_2_t() = default#
-
solid_JH_2_t() = default#
-
struct solid_JWL_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_JWL_t() = default#
-
solid_JWL_t() = default#
-
struct Solid_mat_structure#
- #include <openfdem_mat.h>
Public Members
-
std::vector<mat_element_t> elemat#
-
std::vector<mat_cohelement_t> cohelemat#
-
std::vector<mat_contact_t> conmat#
-
mat_fluid_t water#
-
std::vector<mat_mpmfluid_t> mpmfluid#
-
std::vector<mat_fluid_element_t> hydro_ele#
-
std::vector<mat_fluid_cohesive_t> hydro_coh#
-
std::vector<mat_thermal_element_t> thermal_ele#
-
mat_nonlcoal_element_t nonlocal#
-
short hysteretic_flag = 0#
-
bool haswater = false#
-
bool hasgas = false#
-
std::vector<mat_element_t> elemat#
-
struct solid_mazars_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_mazars_t() = default#
-
solid_mazars_t() = default#
-
struct solid_MC_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_MC_t() = default#
-
solid_MC_t() = default#
-
struct solid_neo_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_neo_t() = default#
-
solid_neo_t() = default#
-
struct solid_power_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_power_t() = default#
-
solid_power_t() = default#
-
struct solid_rigid_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_rigid_t() = default#
-
solid_rigid_t() = default#
-
struct solid_soften_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_soften_t() = default#
-
solid_soften_t() = default#
-
struct solid_TCK_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_TCK_t() = default#
-
solid_TCK_t() = default#
-
struct solid_transverse_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_transverse_t() = default#
-
solid_transverse_t() = default#
-
struct solid_truss_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_truss_t() = default#
-
solid_truss_t() = default#
-
struct solid_YANG_t#
- #include <openfdem_solid_materials.h>
Public Functions
-
solid_YANG_t() = default#
-
solid_YANG_t() = default#
-
struct solidcoh_EM_t#
- #include <openfdem_solid_cohesive_materials.h>
Public Functions
-
solidcoh_EM_t() = default#
-
solidcoh_EM_t() = default#
-
struct solidcoh_linear_t#
- #include <openfdem_solid_cohesive_materials.h>
Public Functions
-
solidcoh_linear_t() = default#
-
solidcoh_linear_t() = default#
-
struct solidcoh_OP_t#
- #include <openfdem_solid_cohesive_materials.h>
Public Functions
-
solidcoh_OP_t() = default#
-
solidcoh_OP_t() = default#
-
struct solidcohani_EM_t#
- #include <openfdem_solid_cohesive_materials.h>
Public Functions
-
solidcohani_EM_t() = default#
-
solidcohani_EM_t() = default#