54 double kappa =
mEvolution.Kappa(strain, deltaT, ids);
61 double kappa =
mEvolution.Kappa(strain, deltaT, ids);
63 double dOmegadKappa =
mDamageLaw.Derivative(kappa);
101 size_t numIpsPerCell = 1)
102 : mStrainNorm(strainNorm)
104 ResizeHistoryData(numCells, numIpsPerCell);
114 ResizeHistoryData(numCells, numIpsPerCell);
120 return std::max(mStrainNorm.Value(strain), mKappas(ids.
cellId, ids.
ipId));
125 if (mStrainNorm.Value(strain) >= mKappas(ids.
cellId, ids.
ipId))
126 return mStrainNorm.Derivative(strain).transpose();
132 mKappas(ids.
cellId, ids.
ipId) = Kappa(strain, deltaT, ids);
137 mKappas.setZero(numCells, numIpsPerCell);
LocalIsotropicDamage(LinearElasticDamage< TDim > elasticDamage, TDamageLaw damageLaw, TEvolution evolution)
Definition: LocalIsotropicDamage.h:38
Definition: LinearElasticDamage.h:16
EngineeringStress< TDim > Stress(EngineeringStrain< TDim > strain, double deltaT, CellIds ids) const override
Definition: LocalIsotropicDamage.h:52
Engineering strain.
Definition: EngineeringStrain.h:33
Local damage law with an isotropic damage variable.
Definition: LocalIsotropicDamage.h:35
named pair for cellId and ipId to make the argument list shorter and avoid accidental mixup of both ...
Definition: CellIds.h:7
Equivalent strain (strain norm) based on the modified mises norm.
Definition: ModifiedMisesStrainNorm.h:31
void Update(EngineeringStrain< TDim > strain, double deltaT, CellIds ids)
Definition: LocalIsotropicDamage.h:130
int ipId
Definition: CellIds.h:10
Constitutive::ModifiedMisesStrainNorm< TDim > mStrainNorm
Definition: LocalIsotropicDamage.h:141
const double omega
Definition: LinearElasticDamageBenchmark.cpp:8
EvolutionImplicit(Material::Softening m, size_t numCells=1, size_t numIpsPerCell=1)
Constructor.
Definition: LocalIsotropicDamage.h:111
void Update(EngineeringStrain< TDim > strain, double deltaT, CellIds ids)
Definition: LocalIsotropicDamage.h:70
double Kappa(EngineeringStrain< TDim > strain, double, CellIds ids) const
Definition: LocalIsotropicDamage.h:118
Explicit evolution equation for the NuTo::LocalIsotropicDamageLaw that implements ...
Definition: LocalIsotropicDamage.h:13
LocalIsotropicDamage(Material::Softening m, eDamageApplication damageApplication=eDamageApplication::FULL)
Definition: LocalIsotropicDamage.h:45
TDamageLaw mDamageLaw
Definition: LocalIsotropicDamage.h:79
Common material parameters for softening materials.
Definition: SofteningMaterial.h:12
exponential damage omega Peerlings, R., De Borst, R., Brekelmans, W., Geers, M.
Definition: DamageLawExponential.h:23
TEvolution mEvolution
Definition: LocalIsotropicDamage.h:80
eDamageApplication
Definition: LinearElasticDamage.h:14
Eigen::Matrix< double, 1, Voigt::Dim(TDim)> DkappaDstrain(EngineeringStrain< TDim > strain, double, CellIds ids) const
Definition: LocalIsotropicDamage.h:123
int cellId
Definition: CellIds.h:9
EngineeringTangent< TDim > Tangent(EngineeringStrain< TDim > strain, double deltaT, CellIds ids) const override
Definition: LocalIsotropicDamage.h:59
Engineering stress.
Definition: EngineeringStress.h:31
Definition: Exception.h:6
Definition: SerializeStreamOut.h:9
Applies an isotropic damage variable to the linear elastic hookes law.
Definition: LinearElasticDamage.h:27
const NuTo::EngineeringStrain< 3 > strain
Definition: LinearElasticDamageBenchmark.cpp:9
void ResizeHistoryData(size_t numCells, size_t numIpsPerCell)
Definition: LocalIsotropicDamage.h:135
EvolutionImplicit(Constitutive::ModifiedMisesStrainNorm< TDim > strainNorm, size_t numCells=1, size_t numIpsPerCell=1)
Constructor.
Definition: LocalIsotropicDamage.h:100
LinearElasticDamage< TDim > mElasticDamage
Definition: LocalIsotropicDamage.h:78
Definition: MechanicsInterface.h:13
Eigen::MatrixXd mKappas
Definition: LocalIsotropicDamage.h:142