CustomCDP

The CDP Model With Custom Backbones

The formulation is identical to that of the CDP model.

User should provide the backbones and damage evolutions via expressions.

Syntax

material CustomCDP (1) (2) (3) (4) (5) (6) (7) [8] [9] [10] [11]
# (1) int, unique material tag
# (2) int, tension expression tag
# (3) int, compression expression tag
# (4) double, elastic modulus
# (5) double, poisson's ratio
# (6) double, normalized crack energy (+)
# (7) double, normalized crush energy (+)
# [8] double, dilatancy parameter, default: 0.2
# [9] double, biaxial compression strength ratio, default: 1.16
# [10] double, stiffness recovery ratio, default: 0.5
# [11] double, density, default: 0

Restrictions

  1. The expressions should take one input argument, the damage variable, κ\kappa. The κ\kappa is different from the degradation denoted as dd. The output should have a size of six.

  2. The normalized energy should be provided, which is used to generate objective results. It is typically around the size of the area under the curve.

  3. The output consists of six components, which are explained in the following.

The expression shall generate six numbers based on the input κ\kappa:

IndexSymbolDescription

1

dd

damage degradation index

2

ff

final stress: (1d)fˉ(1-d)\bar{f}

3

fˉ\bar{f}

effective stress f/(1d)f/(1-d)

4

d d\mathrm{d}~d

derivative of dd

5

d f\mathrm{d}~f

derivative of ff

6

d fˉ\mathrm{d}~\bar{f}

derivative of fˉ\bar{f}

The κ\kappa ranges from 0 to 1.

The damage degradation index dd shall satisfy: d(0)=0d(0)=0 and d(1)=1d(1)=1.

The ff is the actual stress observed as the final output of the model.

By following these rules imposed, users can implement any custom backbone and damage evolution.

Further explanation of the curves can be seen in 10.1061/(ASCE)0733-9399(1998)124:8(892)

Example

For the purpose of illustration, we provide a simple example, which may not be applicable to real concrete behaviour.

Let's, say, for example, the damage degradation is a linear function of κ\kappa, that is

d(κ)=κ,d(\kappa)=\kappa,

so that d(0)=0d(0)=0 and d(1)=1d(1)=1.

Assume the effective stess is a constant, say fˉ=10\bar{f}=10. The stress is then

f=fˉ(1d)=10(1κ).f=\bar{f}(1-d)=10(1-\kappa).

One can define an expression as follows:

expression SimpleVector 1 x y|6 example

where xx maps to κ\kappa and yy maps to the six components of the output.

The text file example contains the following:

y[0]:=x;
y[1]:=10*(1-x);
y[2]:=10;
y[3]:=1;
y[4]:=-10;
y[5]:=0;

Then it can be used in a CustomCDP material model such that:

# A TEST MODEL FOR CUSTOMCDP MATERIAL

node 1 5 -5 0
node 2 5 5 0
node 3 -5 5 0
node 4 -5 -5 0
node 5 5 -5 10
node 6 5 5 10
node 7 -5 5 10
node 8 -5 -5 10
node 9 5 -5 20
node 10 5 5 20
node 11 -5 5 20
node 12 -5 -5 20

expression SimpleVector 1 x y|6 example

material CustomCDP 1 1 1 5000 .2 2E-1 2E-1 .23 1.16 .4 2400E-12

element C3D8 1 1 2 3 4 5 6 7 8 1 G
element C3D8 2 5 6 7 8 9 10 11 12 1 G

hdf5recorder 1 Element E33 1
hdf5recorder 2 Element S33 1
hdf5recorder 3 Element KAPPAT 1

fix 1 1 1 2 5 6 9 10
fix 2 2 1 4 5 8 9 12
fix 3 3 1 2 3 4

displacement 1 0 1 3 9 10 11 12

step static 1
set fixed_step_size 1
set ini_step_size 1E-2
set symm_mat 0

converger RelIncreDisp 1 1E-9 10 1

analyze

save recorder 1 2 3

exit

One can plot the strain-stress curve.

The plastic strain can be computed as

εp=εσE\varepsilon_p=\varepsilon-\frac{\sigma}{E}

The curve can be plotted as

The κ\kappa is the accumulated area under the plastic strain-stress curve over the given gg, in this example, g=0.2g=0.2.

κ=1g0εpσdεp\kappa=\dfrac{1}{g}\int_0^{\varepsilon_p^*}\sigma{}d\varepsilon_p

The κ\kappa-σ\sigma curve can be processed as

Last updated