9#include <jem/numeric/algebra/utilities.h>
10#include <jive/util/FuncUtils.h>
16using jem::numeric::Function;
19using jive::util::FuncUtils;
39 const Properties &conf,
40 const Properties &props,
41 const Properties &globdat);
44 static Ref<Material>
makeNew(
const String &name,
const Properties &conf,
45 const Properties &props,
const Properties &globdat);
57 virtual void configure(
const Properties &props,
const Properties &globdat)
override;
59 virtual void getConfig(
const Properties &conf,
const Properties &globdat)
const override;
62 virtual void getHardVals(
const Vector &hardVals,
const Vector &hardParams)
const;
66 virtual void getStress(
const Vector &stress,
const Vector &strain)
override;
76 virtual void getStress(
const Vector &stress,
const Vector &strain,
const idx_t &ielem,
const idx_t &ip,
const bool inelastic =
true)
override;
82 virtual void getTable(
const String &name, XTable &strain_table,
const IdxVector &items,
const Vector &weights)
const override;
Linear elastic rod material implementation with cross-sectional properties.
Linear elastic rod material with configurable cross-sectional properties.
Definition ElasticRodMaterial.h:20
Elasto-plastic rod material implementing yield conditions with isotropic and kinematic hardening.
Definition ElastoPlasticRodMaterial.h:24
Cubix oldHardParams_
Hardening parameters from last converged step.
Definition ElastoPlasticRodMaterial.h:112
static Ref< Material > makeNew(const String &name, const Properties &conf, const Properties &props, const Properties &globdat)
Factory method for plastic material creation.
Definition ElastoPlasticRodMaterial.cpp:381
virtual void getStress(const Vector &stress, const Vector &strain) override
Elastic stress computation based on elastic rod material model.
Definition ElastoPlasticRodMaterial.cpp:190
virtual double getPotentialEnergy(const idx_t &ielem, const idx_t &ip) const override
Get the potential energy at a specific integration point.
Definition ElastoPlasticRodMaterial.cpp:369
idx_t dofCount_
Degrees of freedom in stress/strain vectors.
Definition ElastoPlasticRodMaterial.h:104
Matrix currDeltaFlow_
Current plastic flow increment.
Definition ElastoPlasticRodMaterial.h:118
static const char * YIELD_PROP
Yield condition function.
Definition ElastoPlasticRodMaterial.h:29
virtual void getHardVals(const Vector &hardVals, const Vector &hardParams) const
Get hardening values from hardening parameters.
Definition ElastoPlasticRodMaterial.cpp:185
virtual void getConfig(const Properties &conf, const Properties &globdat) const override
Retrieve current material configuration.
Definition ElastoPlasticRodMaterial.cpp:149
virtual void applyDeform() override
Apply computed deformation to the material state.
Definition ElastoPlasticRodMaterial.cpp:271
Matrix energyHardPot_
Hardening potential energy storage.
Definition ElastoPlasticRodMaterial.h:120
idx_t argCount_
Total arguments to yield condition.
Definition ElastoPlasticRodMaterial.h:105
Ref< Function > yieldCond_
Yield condition function.
Definition ElastoPlasticRodMaterial.h:96
virtual void getTable(const String &name, XTable &strain_table, const IdxVector &items, const Vector &weights) const override
Populate strain table with material-specific data.
Definition ElastoPlasticRodMaterial.cpp:318
double precision_
Convergence tolerance for stress update.
Definition ElastoPlasticRodMaterial.h:99
static const char * KIN_HARD_PROP
Kinematic hardening parameters.
Definition ElastoPlasticRodMaterial.h:32
static const char * ISO_HARD_PROP
Isotropic hardening parameters.
Definition ElastoPlasticRodMaterial.h:31
Cubix currPlastStrains_
Current plastic strains.
Definition ElastoPlasticRodMaterial.h:116
virtual double getHardeningPotential(const idx_t &ielem, const idx_t &ip) const override
Get the hardening potential energy at a specific integration point.
Definition ElastoPlasticRodMaterial.cpp:374
idx_t maxIter_
Max iterations for stress update.
Definition ElastoPlasticRodMaterial.h:98
Cubix oldPlastStrains_
Plastic strains from last converged step.
Definition ElastoPlasticRodMaterial.h:115
virtual void rejectDeform() override
Reject the current deformation and revert to previous state.
Definition ElastoPlasticRodMaterial.cpp:309
Matrix materialH_
Hardening matrix.
Definition ElastoPlasticRodMaterial.h:110
Cubix currHardParams_
Current hardening parameters.
Definition ElastoPlasticRodMaterial.h:113
static const char * YIELD_DERIV_PROP
Yield condition derivatives.
Definition ElastoPlasticRodMaterial.h:30
static const char * TYPE_NAME
Definition ElastoPlasticRodMaterial.h:28
Matrix energyDiss_
Dissipated energy storage.
Definition ElastoPlasticRodMaterial.h:119
virtual void configure(const Properties &props, const Properties &globdat) override
Configure plasticity parameters and yield conditions.
Definition ElastoPlasticRodMaterial.cpp:55
~ElastoPlasticRodMaterial()
Definition ElastoPlasticRodMaterial.cpp:51
FuncUtils::FuncArray yieldDeriv_
Derivatives of yield condition.
Definition ElastoPlasticRodMaterial.h:97
virtual double getDissipatedEnergy(const idx_t &ielem, const idx_t &ip) const override
Get the dissipated energy at a specific integration point.
Definition ElastoPlasticRodMaterial.cpp:364
static void declare()
Register plastic material type with factory.
Definition ElastoPlasticRodMaterial.cpp:388
Factory for dynamic material creation and registration.
Definition MaterialFactory.h:35