NuTo
Numerics Tool
DamageLawNoSoftening.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "DamageLaw.h"
4 #include "SofteningMaterial.h"
5 
6 namespace NuTo
7 {
8 namespace Constitutive
9 {
10 
13 
22 {
23 public:
24  DamageLawNoSoftening(double kappa0)
25  : mKappa0(kappa0)
26  {
27  }
29  : mKappa0(m.ft / m.E)
30  {
31  }
32 
33  double Damage(double kappa) const override
34  {
35  if (kappa < mKappa0)
36  return 0.;
37  return 1. - mKappa0 / kappa;
38  }
39 
40  double Derivative(double kappa) const override
41  {
42  if (kappa < mKappa0)
43  return 0.;
44  return mKappa0 / (kappa * kappa);
45  }
46 
47 private:
48  double mKappa0;
49 };
50 } /* Constitutive */
51 } /* NuTo */
double Damage(double kappa) const override
calculates the damage for a given history variable kappa
Definition: DamageLawNoSoftening.h:33
damage law that exhibits no softening in the stress-strain curve and stays at peak load Peerlings et ...
Definition: DamageLawNoSoftening.h:21
DamageLawNoSoftening(Material::Softening m)
Definition: DamageLawNoSoftening.h:28
Common material parameters for softening materials.
Definition: SofteningMaterial.h:12
DamageLawNoSoftening(double kappa0)
Definition: DamageLawNoSoftening.h:24
double Derivative(double kappa) const override
calculates the derivative of the damage with respect to the history variable kappa ...
Definition: DamageLawNoSoftening.h:40
Definition: Exception.h:6
const double E
Definition: LinearElasticDamageBenchmark.cpp:6
interface for common damage laws
Definition: DamageLaw.h:9