-
Notifications
You must be signed in to change notification settings - Fork 248
/
Copy pathconstitutive_laws_application.cpp
571 lines (526 loc) · 57.6 KB
/
constitutive_laws_application.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
// KRATOS ___ _ _ _ _ _ __ _
// / __\___ _ __ ___| |_(_) |_ _ _| |_(_)_ _____ / / __ ___ _____ /_\ _ __ _ __
// / / / _ \| '_ \/ __| __| | __| | | | __| \ \ / / _ \/ / / _` \ \ /\ / / __| //_\\| '_ \| '_ |
// / /__| (_) | | | \__ \ |_| | |_| |_| | |_| |\ V / __/ /__| (_| |\ V V /\__ \/ _ \ |_) | |_) |
// \____/\___/|_| |_|___/\__|_|\__|\__,_|\__|_| \_/ \___\____/\__,_| \_/\_/ |___/\_/ \_/ .__/| .__/
// |_| |_|
//
// License: BSD License
// Kratos default license: kratos/license.txt
//
// Main authors: Alejandro Cornejo Velazquez
// Riccardo Rossi
//
// System includes
// External includes
// Project includes
#include "constitutive_laws_application.h"
#include "constitutive_laws_application_variables.h"
namespace Kratos {
KratosConstitutiveLawsApplication::KratosConstitutiveLawsApplication():
KratosApplication("ConstitutiveLawsApplication")
{}
void KratosConstitutiveLawsApplication::Register()
{
KRATOS_INFO("") << "Initializing KratosConstitutiveLawsApplication..." << std::endl;
// Damage and plasticity
KRATOS_REGISTER_CONSTITUTIVE_LAW("LinearElasticOrthotropic2DLaw", mLinearElasticOrthotropic2DLaw);
// Register hyper elastic laws
KRATOS_REGISTER_CONSTITUTIVE_LAW("KirchhoffSaintVenant3DLaw", mHyperElasticIsotropicKirchhoff3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("KirchhoffSaintVenantPlaneStress2DLaw", mHyperElasticIsotropicKirchhoffPlaneStress2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("KirchhoffSaintVenantPlaneStrain2DLaw", mHyperElasticIsotropicKirchhoffPlaneStrain2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElastic3DLaw", mHyperElasticIsotropicNeoHookean3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D", mHyperElasticIsotropicQuasiIncompressibleIshochoricNeoHookean3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElasticPlaneStrain2DLaw", mHyperElasticIsotropicNeoHookeanPlaneStrain2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElasticSimoTaylorNeoHookean3DLaw", mHyperElasticSimoTaylorNeoHookean3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElasticSimoTaylorNeoHookeanPlaneStrain2DLaw", mHyperElasticSimoTaylorNeoHookeanPlaneStrain2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainJ2PlasticityPlaneStrain2DLaw", mSmallStrainJ2PlasticityPlaneStrain2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainJ2Plasticity3DLaw", mSmallStrainJ2Plasticity3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrain2DLaw", mSmallStrainIsotropicDamagePlaneStrain2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DLaw", mSmallStrainIsotropicDamage3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamageImplex3DLaw", mSmallStrainIsotropicDamageImplex3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamageTractionOnly3DLaw", mSmallStrainIsotropicDamageTractionOnly3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamageTractionOnlyImplex3DLaw", mSmallStrainIsotropicDamageTractionOnlyImplex3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("TrussPlasticityConstitutiveLaw", mTrussPlasticityConstitutiveLaw);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElasticIsotropicOgden1D", mHyperElasticIsotropicOgden1D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("HyperElasticIsotropicHenky1D", mHyperElasticIsotropicHenky1D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("ElasticPlaneStressUncoupledShear2DLaw", mElasticIsotropicPlaneStressUncoupledShear);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityFactory", mSmallStrainIsotropicPlasticityFactory);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityFactory", mSmallStrainKinematicPlasticityFactory);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamageFactory", mSmallStrainIsotropicDamageFactory);
KRATOS_REGISTER_CONSTITUTIVE_LAW("ViscousGeneralizedKelvin3D", mViscousGeneralizedKelvin3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("ViscousGeneralizedMaxwell3D", mViscousGeneralizedMaxwell3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("GenericSmallStrainViscoplasticity3D", mGenericSmallStrainViscoplasticity3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("PlasticityIsotropicKinematicJ2Law", mPlasticityIsotropicKinematicJ2);
KRATOS_REGISTER_CONSTITUTIVE_LAW("WrinklingLinear2DLaw", mWrinklingLinear2DLaw);
KRATOS_REGISTER_CONSTITUTIVE_LAW("MultiLinearElastic1DLaw", mMultiLinearElastic1DLaw);
KRATOS_REGISTER_CONSTITUTIVE_LAW("MultiLinearIsotropicPlaneStress2D", mMultiLinearIsotropicPlaneStress2D);
// Custom Constitutive laws
// Serial-Parallel Rule Of Mixtures
KRATOS_REGISTER_CONSTITUTIVE_LAW("SerialParallelRuleOfMixturesLaw3D", mSerialParallelRuleOfMixturesLaw3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SerialParallelRuleOfMixturesLaw2D", mSerialParallelRuleOfMixturesLaw2D);
// Anisotropic law
KRATOS_REGISTER_CONSTITUTIVE_LAW("GenericAnisotropicPlaneStrain2DLaw", mGenericAnisotropicPlaneStrain2DLaw);
KRATOS_REGISTER_CONSTITUTIVE_LAW("GenericAnisotropic3DLaw", mGenericAnisotropic3DLaw);
KRATOS_REGISTER_CONSTITUTIVE_LAW("GenericAnisotropicPlaneStress2DLaw", mGenericAnisotropicPlaneStress2DLaw);
/// Plasticity
/* Small strain */
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DVonMisesVonMises", mSmallStrainIsotropicPlasticity3DVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DVonMisesModifiedMohrCoulomb", mSmallStrainIsotropicPlasticity3DVonMisesModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DVonMisesDruckerPrager", mSmallStrainIsotropicPlasticity3DVonMisesDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DVonMisesTresca", mSmallStrainIsotropicPlasticity3DVonMisesTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DModifiedMohrCoulombVonMises", mSmallStrainIsotropicPlasticity3DModifiedMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb", mSmallStrainIsotropicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DModifiedMohrCoulombDruckerPrager", mSmallStrainIsotropicPlasticity3DModifiedMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DModifiedMohrCoulombTresca", mSmallStrainIsotropicPlasticity3DModifiedMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DTrescaVonMises", mSmallStrainIsotropicPlasticity3DTrescaVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DTrescaModifiedMohrCoulomb", mSmallStrainIsotropicPlasticity3DTrescaModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DTrescaDruckerPrager", mSmallStrainIsotropicPlasticity3DTrescaDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DTrescaTresca", mSmallStrainIsotropicPlasticity3DTrescaTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DDruckerPragerVonMises", mSmallStrainIsotropicPlasticity3DDruckerPragerVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DDruckerPragerModifiedMohrCoulomb", mSmallStrainIsotropicPlasticity3DDruckerPragerModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DDruckerPragerDruckerPrager", mSmallStrainIsotropicPlasticity3DDruckerPragerDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DDruckerPragerTresca", mSmallStrainIsotropicPlasticity3DDruckerPragerTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DVonMisesMohrCoulomb", mSmallStrainIsotropicPlasticity3DVonMisesMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DMohrCoulombVonMises", mSmallStrainIsotropicPlasticity3DMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DMohrCoulombMohrCoulomb", mSmallStrainIsotropicPlasticity3DMohrCoulombMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DMohrCoulombDruckerPrager", mSmallStrainIsotropicPlasticity3DMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DMohrCoulombTresca", mSmallStrainIsotropicPlasticity3DMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DTrescaMohrCoulomb", mSmallStrainIsotropicPlasticity3DTrescaMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticity3DDruckerPragerMohrCoulomb", mSmallStrainIsotropicPlasticity3DDruckerPragerMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainVonMisesVonMises", mSmallStrainIsotropicPlasticityPlaneStrainVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainVonMisesModifiedMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainVonMisesModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainVonMisesDruckerPrager", mSmallStrainIsotropicPlasticityPlaneStrainVonMisesDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainVonMisesTresca", mSmallStrainIsotropicPlasticityPlaneStrainVonMisesTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombVonMises", mSmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombModifiedMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombDruckerPrager", mSmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombTresca", mSmallStrainIsotropicPlasticityPlaneStrainModifiedMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainTrescaVonMises", mSmallStrainIsotropicPlasticityPlaneStrainTrescaVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainTrescaModifiedMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainTrescaModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainTrescaDruckerPrager", mSmallStrainIsotropicPlasticityPlaneStrainTrescaDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainTrescaTresca", mSmallStrainIsotropicPlasticityPlaneStrainTrescaTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainDruckerPragerVonMises", mSmallStrainIsotropicPlasticityPlaneStrainDruckerPragerVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainDruckerPragerModifiedMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainDruckerPragerModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainDruckerPragerDruckerPrager", mSmallStrainIsotropicPlasticityPlaneStrainDruckerPragerDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainDruckerPragerTresca", mSmallStrainIsotropicPlasticityPlaneStrainDruckerPragerTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainVonMisesMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainVonMisesMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainMohrCoulombVonMises", mSmallStrainIsotropicPlasticityPlaneStrainMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainMohrCoulombMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainMohrCoulombMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainMohrCoulombDruckerPrager", mSmallStrainIsotropicPlasticityPlaneStrainMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainMohrCoulombTresca", mSmallStrainIsotropicPlasticityPlaneStrainMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainTrescaMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainTrescaMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicPlasticityPlaneStrainDruckerPragerMohrCoulomb", mSmallStrainIsotropicPlasticityPlaneStrainDruckerPragerMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DVonMisesVonMises", mSmallStrainKinematicPlasticity3DVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DVonMisesModifiedMohrCoulomb", mSmallStrainKinematicPlasticity3DVonMisesModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DVonMisesDruckerPrager", mSmallStrainKinematicPlasticity3DVonMisesDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DVonMisesTresca", mSmallStrainKinematicPlasticity3DVonMisesTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DModifiedMohrCoulombVonMises", mSmallStrainKinematicPlasticity3DModifiedMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb", mSmallStrainKinematicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DModifiedMohrCoulombDruckerPrager", mSmallStrainKinematicPlasticity3DModifiedMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DModifiedMohrCoulombTresca", mSmallStrainKinematicPlasticity3DModifiedMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DTrescaVonMises", mSmallStrainKinematicPlasticity3DTrescaVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DTrescaModifiedMohrCoulomb", mSmallStrainKinematicPlasticity3DTrescaModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DTrescaDruckerPrager", mSmallStrainKinematicPlasticity3DTrescaDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DTrescaTresca", mSmallStrainKinematicPlasticity3DTrescaTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DDruckerPragerVonMises", mSmallStrainKinematicPlasticity3DDruckerPragerVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DDruckerPragerModifiedMohrCoulomb", mSmallStrainKinematicPlasticity3DDruckerPragerModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DDruckerPragerDruckerPrager", mSmallStrainKinematicPlasticity3DDruckerPragerDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DDruckerPragerTresca", mSmallStrainKinematicPlasticity3DDruckerPragerTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DVonMisesMohrCoulomb", mSmallStrainKinematicPlasticity3DVonMisesMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DMohrCoulombVonMises", mSmallStrainKinematicPlasticity3DMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DMohrCoulombMohrCoulomb", mSmallStrainKinematicPlasticity3DMohrCoulombMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DMohrCoulombDruckerPrager", mSmallStrainKinematicPlasticity3DMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DMohrCoulombTresca", mSmallStrainKinematicPlasticity3DMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DTrescaMohrCoulomb", mSmallStrainKinematicPlasticity3DTrescaMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticity3DDruckerPragerMohrCoulomb", mSmallStrainKinematicPlasticity3DDruckerPragerMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticitypePlaneStrainVonMisesVonMises", mSmallStrainKinematicPlasticityPlaneStrainVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainVonMisesModifiedMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainVonMisesModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainVonMisesDruckerPrager", mSmallStrainKinematicPlasticityPlaneStrainVonMisesDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainVonMisesTresca", mSmallStrainKinematicPlasticityPlaneStrainVonMisesTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombVonMises", mSmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombModifiedMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombDruckerPrager", mSmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombTresca", mSmallStrainKinematicPlasticityPlaneStrainModifiedMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainTrescaVonMises", mSmallStrainKinematicPlasticityPlaneStrainTrescaVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainTrescaModifiedMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainTrescaModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainTrescaDruckerPrager", mSmallStrainKinematicPlasticityPlaneStrainTrescaDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainTrescaTresca", mSmallStrainKinematicPlasticityPlaneStrainTrescaTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainDruckerPragerVonMises", mSmallStrainKinematicPlasticityPlaneStrainDruckerPragerVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainDruckerPragerModifiedMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainDruckerPragerModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainDruckerPragerDruckerPrager", mSmallStrainKinematicPlasticityPlaneStrainDruckerPragerDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainDruckerPragerTresca", mSmallStrainKinematicPlasticityPlaneStrainDruckerPragerTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainVonMisesMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainVonMisesMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainMohrCoulombVonMises", mSmallStrainKinematicPlasticityPlaneStrainMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainMohrCoulombMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainMohrCoulombMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainMohrCoulombDruckerPrager", mSmallStrainKinematicPlasticityPlaneStrainMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainMohrCoulombTresca", mSmallStrainKinematicPlasticityPlaneStrainMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainTrescaMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainTrescaMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainKinematicPlasticityPlaneStrainDruckerPragerMohrCoulomb", mSmallStrainKinematicPlasticityPlaneStrainDruckerPragerMohrCoulomb);
//Plastic Damage Model
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainPlasticDamageModel3DVonMisesVonMisesVonMises", mSmallStrainPlasticDamageModel3DVonMisesVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainPlasticDamageModel3DVonMisesVonMisesDruckerPrager", mSmallStrainPlasticDamageModel3DVonMisesVonMisesDruckerPrager);
/* Finite strain */
// Isotropic plasticity
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DVonMisesVonMises", mFiniteStrainIsotropicPlasticity3DVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DVonMisesModifiedMohrCoulomb", mFiniteStrainIsotropicPlasticity3DVonMisesModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DVonMisesDruckerPrager", mFiniteStrainIsotropicPlasticity3DVonMisesDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DVonMisesTresca", mFiniteStrainIsotropicPlasticity3DVonMisesTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DModifiedMohrCoulombVonMises", mFiniteStrainIsotropicPlasticity3DModifiedMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb", mFiniteStrainIsotropicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DModifiedMohrCoulombDruckerPrager", mFiniteStrainIsotropicPlasticity3DModifiedMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DModifiedMohrCoulombTresca", mFiniteStrainIsotropicPlasticity3DModifiedMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DTrescaVonMises", mFiniteStrainIsotropicPlasticity3DTrescaVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DTrescaModifiedMohrCoulomb", mFiniteStrainIsotropicPlasticity3DTrescaModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DTrescaDruckerPrager", mFiniteStrainIsotropicPlasticity3DTrescaDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DTrescaTresca", mFiniteStrainIsotropicPlasticity3DTrescaTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DDruckerPragerVonMises", mFiniteStrainIsotropicPlasticity3DDruckerPragerVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DDruckerPragerModifiedMohrCoulomb", mFiniteStrainIsotropicPlasticity3DDruckerPragerModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DDruckerPragerDruckerPrager", mFiniteStrainIsotropicPlasticity3DDruckerPragerDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DDruckerPragerTresca", mFiniteStrainIsotropicPlasticity3DDruckerPragerTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DVonMisesMohrCoulomb", mFiniteStrainIsotropicPlasticity3DVonMisesMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DMohrCoulombVonMises", mFiniteStrainIsotropicPlasticity3DMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DMohrCoulombMohrCoulomb", mFiniteStrainIsotropicPlasticity3DMohrCoulombMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DMohrCoulombDruckerPrager", mFiniteStrainIsotropicPlasticity3DMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DMohrCoulombTresca", mFiniteStrainIsotropicPlasticity3DMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DTrescaMohrCoulomb", mFiniteStrainIsotropicPlasticity3DTrescaMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainIsotropicPlasticity3DDruckerPragerMohrCoulomb", mFiniteStrainIsotropicPlasticity3DDruckerPragerMohrCoulomb);
// Kinematic plasticity
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DVonMisesVonMises", mFiniteStrainKinematicPlasticity3DVonMisesVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DVonMisesModifiedMohrCoulomb", mFiniteStrainKinematicPlasticity3DVonMisesModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DVonMisesDruckerPrager", mFiniteStrainKinematicPlasticity3DVonMisesDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DVonMisesTresca", mFiniteStrainKinematicPlasticity3DVonMisesTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DModifiedMohrCoulombVonMises", mFiniteStrainKinematicPlasticity3DModifiedMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb", mFiniteStrainKinematicPlasticity3DModifiedMohrCoulombModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DModifiedMohrCoulombDruckerPrager", mFiniteStrainKinematicPlasticity3DModifiedMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DModifiedMohrCoulombTresca", mFiniteStrainKinematicPlasticity3DModifiedMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DTrescaVonMises", mFiniteStrainKinematicPlasticity3DTrescaVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DTrescaModifiedMohrCoulomb", mFiniteStrainKinematicPlasticity3DTrescaModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DTrescaDruckerPrager", mFiniteStrainKinematicPlasticity3DTrescaDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DTrescaTresca", mFiniteStrainKinematicPlasticity3DTrescaTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DDruckerPragerVonMises", mFiniteStrainKinematicPlasticity3DDruckerPragerVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DDruckerPragerModifiedMohrCoulomb", mFiniteStrainKinematicPlasticity3DDruckerPragerModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DDruckerPragerDruckerPrager", mFiniteStrainKinematicPlasticity3DDruckerPragerDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DDruckerPragerTresca", mFiniteStrainKinematicPlasticity3DDruckerPragerTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DVonMisesMohrCoulomb", mFiniteStrainKinematicPlasticity3DVonMisesMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DMohrCoulombVonMises", mFiniteStrainKinematicPlasticity3DMohrCoulombVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DMohrCoulombMohrCoulomb", mFiniteStrainKinematicPlasticity3DMohrCoulombMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DMohrCoulombDruckerPrager", mFiniteStrainKinematicPlasticity3DMohrCoulombDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DMohrCoulombTresca", mFiniteStrainKinematicPlasticity3DMohrCoulombTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DTrescaMohrCoulomb", mFiniteStrainKinematicPlasticity3DTrescaMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("FiniteStrainKinematicPlasticity3DDruckerPragerMohrCoulomb", mFiniteStrainKinematicPlasticity3DDruckerPragerMohrCoulomb);
/// Damage
/* Small strain */
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DVonMises", mSmallStrainIsotropicDamage3DVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DModifiedMohrCoulomb", mSmallStrainIsotropicDamage3DModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DTresca", mSmallStrainIsotropicDamage3DTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DDruckerPrager", mSmallStrainIsotropicDamage3DDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DRankine", mSmallStrainIsotropicDamage3DRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DSimoJu", mSmallStrainIsotropicDamage3DSimoJu);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamage3DMohrCoulomb", mSmallStrainIsotropicDamage3DMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainVonMises", mSmallStrainIsotropicDamagePlaneStrainVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainModifiedMohrCoulomb", mSmallStrainIsotropicDamagePlaneStrainModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainTresca", mSmallStrainIsotropicDamagePlaneStrainTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainDruckerPrager", mSmallStrainIsotropicDamagePlaneStrainDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainRankine", mSmallStrainIsotropicDamagePlaneStrainRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainSimoJu", mSmallStrainIsotropicDamagePlaneStrainSimoJu);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStrainMohrCoulomb", mSmallStrainIsotropicDamagePlaneStrainMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressVonMises", mSmallStrainIsotropicDamagePlaneStressVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressModifiedMohrCoulomb", mSmallStrainIsotropicDamagePlaneStressModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressTresca", mSmallStrainIsotropicDamagePlaneStressTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressDruckerPrager", mSmallStrainIsotropicDamagePlaneStressDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressRankine", mSmallStrainIsotropicDamagePlaneStressRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressSimoJu", mSmallStrainIsotropicDamagePlaneStressSimoJu);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainIsotropicDamagePlaneStressMohrCoulomb", mSmallStrainIsotropicDamagePlaneStressMohrCoulomb);
// HCF (High Cycle Fatigue)
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawVonMises", mSmallStrainHighCycleFatigue3DLawVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawModifiedMohrCoulomb", mSmallStrainHighCycleFatigue3DLawModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawTresca", mSmallStrainHighCycleFatigue3DLawTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawDruckerPrager", mSmallStrainHighCycleFatigue3DLawDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawRankine", mSmallStrainHighCycleFatigue3DLawRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawSimoJu", mSmallStrainHighCycleFatigue3DLawSimoJu);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainHighCycleFatigue3DLawMohrCoulomb", mSmallStrainHighCycleFatigue3DLawMohrCoulomb);
// d+d- laws (3D)
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombModifiedMohrCoulomb3D", mSmallStrainDplusDminusDamageModifiedMohrCoulombModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombRankine3D", mSmallStrainDplusDminusDamageModifiedMohrCoulombRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombSimoJu3D", mSmallStrainDplusDminusDamageModifiedMohrCoulombSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombVonMises3D", mSmallStrainDplusDminusDamageModifiedMohrCoulombVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombTresca3D", mSmallStrainDplusDminusDamageModifiedMohrCoulombTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombDruckerPrager3D", mSmallStrainDplusDminusDamageModifiedMohrCoulombDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineModifiedMohrCoulomb3D", mSmallStrainDplusDminusDamageRankineModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineRankine3D", mSmallStrainDplusDminusDamageRankineRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineSimoJu3D", mSmallStrainDplusDminusDamageRankineSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineVonMises3D", mSmallStrainDplusDminusDamageRankineVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineTresca3D", mSmallStrainDplusDminusDamageRankineTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineDruckerPrager3D", mSmallStrainDplusDminusDamageRankineDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuModifiedMohrCoulomb3D", mSmallStrainDplusDminusDamageSimoJuModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuRankine3D", mSmallStrainDplusDminusDamageSimoJuRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuSimoJu3D", mSmallStrainDplusDminusDamageSimoJuSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuVonMises3D", mSmallStrainDplusDminusDamageSimoJuVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuTresca3D", mSmallStrainDplusDminusDamageSimoJuTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuDruckerPrager3D", mSmallStrainDplusDminusDamageSimoJuDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesModifiedMohrCoulomb3D", mSmallStrainDplusDminusDamageVonMisesModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesRankine3D", mSmallStrainDplusDminusDamageVonMisesRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesSimoJu3D", mSmallStrainDplusDminusDamageVonMisesSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesVonMises3D", mSmallStrainDplusDminusDamageVonMisesVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesTresca3D", mSmallStrainDplusDminusDamageVonMisesTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesDruckerPrager3D", mSmallStrainDplusDminusDamageVonMisesDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaModifiedMohrCoulomb3D", mSmallStrainDplusDminusDamageTrescaModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaRankine3D", mSmallStrainDplusDminusDamageTrescaRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaSimoJu3D", mSmallStrainDplusDminusDamageTrescaSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaVonMises3D", mSmallStrainDplusDminusDamageTrescaVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaTresca3D", mSmallStrainDplusDminusDamageTrescaTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaDruckerPrager3D", mSmallStrainDplusDminusDamageTrescaDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerModifiedMohrCoulomb3D", mSmallStrainDplusDminusDamageDruckerPragerModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerRankine3D", mSmallStrainDplusDminusDamageDruckerPragerRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerSimoJu3D", mSmallStrainDplusDminusDamageDruckerPragerSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerVonMises3D", mSmallStrainDplusDminusDamageDruckerPragerVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerTresca3D", mSmallStrainDplusDminusDamageDruckerPragerTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerDruckerPrager3D", mSmallStrainDplusDminusDamageDruckerPragerDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombMohrCoulomb3D", mSmallStrainDplusDminusDamageMohrCoulombMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombRankine3D", mSmallStrainDplusDminusDamageMohrCoulombRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombSimoJu3D", mSmallStrainDplusDminusDamageMohrCoulombSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombVonMises3D", mSmallStrainDplusDminusDamageMohrCoulombVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombTresca3D", mSmallStrainDplusDminusDamageMohrCoulombTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombDruckerPrager3D", mSmallStrainDplusDminusDamageMohrCoulombDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineMohrCoulomb3D", mSmallStrainDplusDminusDamageRankineMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuMohrCoulomb3D", mSmallStrainDplusDminusDamageSimoJuMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesMohrCoulomb3D", mSmallStrainDplusDminusDamageVonMisesMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaMohrCoulomb3D", mSmallStrainDplusDminusDamageTrescaMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerMohrCoulomb3D", mSmallStrainDplusDminusDamageDruckerPragerMohrCoulomb3D);
// d+d- laws (2D)
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombModifiedMohrCoulomb2D", mSmallStrainDplusDminusDamageModifiedMohrCoulombModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombRankine2D", mSmallStrainDplusDminusDamageModifiedMohrCoulombRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombSimoJu2D", mSmallStrainDplusDminusDamageModifiedMohrCoulombSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombVonMises2D", mSmallStrainDplusDminusDamageModifiedMohrCoulombVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombTresca2D", mSmallStrainDplusDminusDamageModifiedMohrCoulombTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageModifiedMohrCoulombDruckerPrager2D", mSmallStrainDplusDminusDamageModifiedMohrCoulombDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineModifiedMohrCoulomb2D", mSmallStrainDplusDminusDamageRankineModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineRankine2D", mSmallStrainDplusDminusDamageRankineRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineSimoJu2D", mSmallStrainDplusDminusDamageRankineSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineVonMises2D", mSmallStrainDplusDminusDamageRankineVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineTresca2D", mSmallStrainDplusDminusDamageRankineTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineDruckerPrager2D", mSmallStrainDplusDminusDamageRankineDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuModifiedMohrCoulomb2D", mSmallStrainDplusDminusDamageSimoJuModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuRankine2D", mSmallStrainDplusDminusDamageSimoJuRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuSimoJu2D", mSmallStrainDplusDminusDamageSimoJuSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuVonMises2D", mSmallStrainDplusDminusDamageSimoJuVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuTresca2D", mSmallStrainDplusDminusDamageSimoJuTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuDruckerPrager2D", mSmallStrainDplusDminusDamageSimoJuDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesModifiedMohrCoulomb2D", mSmallStrainDplusDminusDamageVonMisesModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesRankine2D", mSmallStrainDplusDminusDamageVonMisesRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesSimoJu2D", mSmallStrainDplusDminusDamageVonMisesSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesVonMises2D", mSmallStrainDplusDminusDamageVonMisesVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesTresca2D", mSmallStrainDplusDminusDamageVonMisesTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesDruckerPrager2D", mSmallStrainDplusDminusDamageVonMisesDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaModifiedMohrCoulomb2D", mSmallStrainDplusDminusDamageTrescaModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaRankine2D", mSmallStrainDplusDminusDamageTrescaRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaSimoJu2D", mSmallStrainDplusDminusDamageTrescaSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaVonMises2D", mSmallStrainDplusDminusDamageTrescaVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaTresca2D", mSmallStrainDplusDminusDamageTrescaTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaDruckerPrager2D", mSmallStrainDplusDminusDamageTrescaDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerModifiedMohrCoulomb2D", mSmallStrainDplusDminusDamageDruckerPragerModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerRankine2D", mSmallStrainDplusDminusDamageDruckerPragerRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerSimoJu2D", mSmallStrainDplusDminusDamageDruckerPragerSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerVonMises2D", mSmallStrainDplusDminusDamageDruckerPragerVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerTresca2D", mSmallStrainDplusDminusDamageDruckerPragerTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerDruckerPrager2D", mSmallStrainDplusDminusDamageDruckerPragerDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombMohrCoulomb2D", mSmallStrainDplusDminusDamageMohrCoulombMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombRankine2D", mSmallStrainDplusDminusDamageMohrCoulombRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombSimoJu2D", mSmallStrainDplusDminusDamageMohrCoulombSimoJu2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombVonMises2D", mSmallStrainDplusDminusDamageMohrCoulombVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombTresca2D", mSmallStrainDplusDminusDamageMohrCoulombTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageMohrCoulombDruckerPrager2D", mSmallStrainDplusDminusDamageMohrCoulombDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageRankineMohrCoulomb2D", mSmallStrainDplusDminusDamageRankineMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageSimoJuMohrCoulomb2D", mSmallStrainDplusDminusDamageSimoJuMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageVonMisesMohrCoulomb2D", mSmallStrainDplusDminusDamageVonMisesMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageTrescaMohrCoulomb2D", mSmallStrainDplusDminusDamageTrescaMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainDplusDminusDamageDruckerPragerMohrCoulomb2D", mSmallStrainDplusDminusDamageDruckerPragerMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("DamageDPlusDMinusPlaneStressMasonry2DLaw", mDamageDPlusDMinusPlaneStressMasonry2DLaw);
KRATOS_REGISTER_CONSTITUTIVE_LAW("DamageDPlusDMinusMasonry3DLaw", mDamageDPlusDMinusMasonry3DLaw);
// Orthotropic Damage
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageRankine3D", mSmallStrainOrthotropicDamageRankine3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageVonMises3D", mSmallStrainOrthotropicDamageVonMises3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageDruckerPrager3D", mSmallStrainOrthotropicDamageDruckerPrager3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageTresca3D", mSmallStrainOrthotropicDamageTresca3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageMohrCoulomb3D", mSmallStrainOrthotropicDamageMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageModifiedMohrCoulomb3D", mSmallStrainOrthotropicDamageModifiedMohrCoulomb3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageSimoJu3D", mSmallStrainOrthotropicDamageSimoJu3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageRankine2D", mSmallStrainOrthotropicDamageRankine2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageVonMises2D", mSmallStrainOrthotropicDamageVonMises2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageDruckerPrager2D", mSmallStrainOrthotropicDamageDruckerPrager2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageTresca2D", mSmallStrainOrthotropicDamageTresca2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageMohrCoulomb2D", mSmallStrainOrthotropicDamageMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageModifiedMohrCoulomb2D", mSmallStrainOrthotropicDamageModifiedMohrCoulomb2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainOrthotropicDamageSimoJu2D", mSmallStrainOrthotropicDamageSimoJu2D);
// Rules of mixtures
KRATOS_REGISTER_CONSTITUTIVE_LAW("ParallelRuleOfMixturesLaw2D", mParallelRuleOfMixturesLaw2D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("ParallelRuleOfMixturesLaw3D", mParallelRuleOfMixturesLaw3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("TractionSeparationLaw3D", mTractionSeparationLaw3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("AssociativePlasticDamageModel3DVonMises", mAssociativePlasticDamageModel3DVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("AssociativePlasticDamageModel3DDruckerPrager", mAssociativePlasticDamageModel3DDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("AssociativePlasticDamageModel3DModifiedMohrCoulomb", mAssociativePlasticDamageModel3DModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("AssociativePlasticDamageModel3DRankine", mAssociativePlasticDamageModel3DRankine);
// Thermal CL
KRATOS_REGISTER_CONSTITUTIVE_LAW("ThermalElasticIsotropic3D", mThermalElasticIsotropic3D);
KRATOS_REGISTER_CONSTITUTIVE_LAW("ThermalLinearPlaneStrain", mThermalLinearPlaneStrain);
KRATOS_REGISTER_CONSTITUTIVE_LAW("ThermalLinearPlaneStress", mThermalLinearPlaneStress);
/// Damage
/* Small strain */
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DVonMises", mSmallStrainThermalIsotropicDamage3DVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DModifiedMohrCoulomb", mSmallStrainThermalIsotropicDamage3DModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DTresca", mSmallStrainThermalIsotropicDamage3DTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DDruckerPrager", mSmallStrainThermalIsotropicDamage3DDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DRankine", mSmallStrainThermalIsotropicDamage3DRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DSimoJu", mSmallStrainThermalIsotropicDamage3DSimoJu);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamage3DMohrCoulomb", mSmallStrainThermalIsotropicDamage3DMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainVonMises", mSmallStrainThermalIsotropicDamagePlaneStrainVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainModifiedMohrCoulomb", mSmallStrainThermalIsotropicDamagePlaneStrainModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainTresca", mSmallStrainThermalIsotropicDamagePlaneStrainTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainDruckerPrager", mSmallStrainThermalIsotropicDamagePlaneStrainDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainRankine", mSmallStrainThermalIsotropicDamagePlaneStrainRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainSimoJu", mSmallStrainThermalIsotropicDamagePlaneStrainSimoJu);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStrainMohrCoulomb", mSmallStrainThermalIsotropicDamagePlaneStrainMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressVonMises", mSmallStrainThermalIsotropicDamagePlaneStressVonMises);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressRankine", mSmallStrainThermalIsotropicDamagePlaneStressRankine);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressTresca", mSmallStrainThermalIsotropicDamagePlaneStressTresca);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressMohrCoulomb", mSmallStrainThermalIsotropicDamagePlaneStressMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressModifiedMohrCoulomb", mSmallStrainThermalIsotropicDamagePlaneStressModifiedMohrCoulomb);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressDruckerPrager", mSmallStrainThermalIsotropicDamagePlaneStressDruckerPrager);
KRATOS_REGISTER_CONSTITUTIVE_LAW("SmallStrainThermalIsotropicDamagePlaneStressSimoJu", mSmallStrainThermalIsotropicDamagePlaneStressSimoJu);
// Constitutive laws variables
//Fatigue variables
KRATOS_REGISTER_VARIABLE(TOTAL_OR_PLASTIC_STRAIN_SPACE)
KRATOS_REGISTER_VARIABLE(TOTAL_STRAIN_VECTOR_PLASTICITY_POINT_CURVE)
KRATOS_REGISTER_VARIABLE(IS_PRESTRESSED)
KRATOS_REGISTER_VARIABLE(HIGH_CYCLE_FATIGUE_COEFFICIENTS)
KRATOS_REGISTER_VARIABLE(STRESS_LIMITS)
KRATOS_REGISTER_VARIABLE(HARDENING_PARAMETERS)
KRATOS_REGISTER_VARIABLE(FATIGUE_REDUCTION_FACTOR)
KRATOS_REGISTER_VARIABLE(LOCAL_NUMBER_OF_CYCLES)
KRATOS_REGISTER_VARIABLE(WOHLER_STRESS)
KRATOS_REGISTER_VARIABLE(REVERSION_FACTOR_RELATIVE_ERROR)
KRATOS_REGISTER_VARIABLE(MAX_STRESS_RELATIVE_ERROR)
KRATOS_REGISTER_VARIABLE(MAX_STRESS)
KRATOS_REGISTER_VARIABLE(THRESHOLD_STRESS)
KRATOS_REGISTER_VARIABLE(CYCLE_INDICATOR)
KRATOS_REGISTER_VARIABLE(CYCLES_TO_FAILURE)
KRATOS_REGISTER_VARIABLE(TIME_INCREMENT)
KRATOS_REGISTER_VARIABLE(DAMAGE_ACTIVATION)
KRATOS_REGISTER_VARIABLE(PREVIOUS_CYCLE);
KRATOS_REGISTER_VARIABLE(CYCLE_PERIOD)
KRATOS_REGISTER_VARIABLE(ADVANCE_STRATEGY_APPLIED);
KRATOS_REGISTER_VARIABLE(SYMMETRIZE_TANGENT_OPERATOR);
// Constitutive laws variables
KRATOS_REGISTER_VARIABLE(FIBER_VOLUMETRIC_PARTICIPATION)
KRATOS_REGISTER_VARIABLE(SERIAL_PARALLEL_IMPOSED_STRAIN)
KRATOS_REGISTER_VARIABLE(DELAMINATION_DAMAGE_VECTOR_MODE_ONE)
KRATOS_REGISTER_VARIABLE(DELAMINATION_DAMAGE_VECTOR_MODE_TWO)
KRATOS_REGISTER_VARIABLE(INTERFACIAL_NORMAL_STRENGTH_VECTOR)
KRATOS_REGISTER_VARIABLE(INTERFACIAL_SHEAR_STRENGTH_VECTOR)
KRATOS_REGISTER_VARIABLE(MODE_ONE_FRACTURE_ENERGY_VECTOR)
KRATOS_REGISTER_VARIABLE(MODE_TWO_FRACTURE_ENERGY_VECTOR)
KRATOS_REGISTER_VARIABLE(TENSILE_INTERFACE_MODULUS_VECTOR)
KRATOS_REGISTER_VARIABLE(SHEAR_INTERFACE_MODULUS_VECTOR)
KRATOS_REGISTER_VARIABLE(CRACK_RECLOSING)
KRATOS_REGISTER_VARIABLE(LAYER_EULER_ANGLES)
KRATOS_REGISTER_VARIABLE(INELASTIC_FLAG)
KRATOS_REGISTER_VARIABLE(INFINITY_YIELD_STRESS)
KRATOS_REGISTER_VARIABLE(YIELD_STRESS_TENSION)
KRATOS_REGISTER_VARIABLE(PLASTIC_STRAIN_VECTOR)
KRATOS_REGISTER_VARIABLE(YIELD_STRESS_COMPRESSION)
KRATOS_REGISTER_VARIABLE(DILATANCY_ANGLE)
KRATOS_REGISTER_VARIABLE(SOFTENING_TYPE)
KRATOS_REGISTER_VARIABLE(SOFTENING_TYPE_COMPRESSION)
KRATOS_REGISTER_VARIABLE(HARDENING_CURVE)
KRATOS_REGISTER_VARIABLE(MAX_NUMBER_NL_CL_ITERATIONS)
KRATOS_REGISTER_VARIABLE(VISCOUS_PARAMETER)
KRATOS_REGISTER_VARIABLE(DELAY_TIME)
KRATOS_REGISTER_VARIABLE(MAXIMUM_STRESS)
KRATOS_REGISTER_VARIABLE(MAXIMUM_STRESS_POSITION)
KRATOS_REGISTER_VARIABLE(PLASTIC_DISSIPATION_LIMIT_LINEAR_SOFTENING)
KRATOS_REGISTER_VARIABLE(UNIAXIAL_STRESS)
KRATOS_REGISTER_VARIABLE(FRICTION_ANGLE)
KRATOS_REGISTER_VARIABLE(COHESION)
KRATOS_REGISTER_VARIABLE(DISSIPATION)
KRATOS_REGISTER_VARIABLE(DAMAGE)
KRATOS_REGISTER_VARIABLE(DAMAGE_MATRIX)
KRATOS_REGISTER_VARIABLE(DAMAGE_FIBER)
KRATOS_REGISTER_VARIABLE(THRESHOLD)
KRATOS_REGISTER_VARIABLE(INTEGRATED_STRESS_TENSOR)
KRATOS_REGISTER_VARIABLE(PLASTIC_STRAIN_TENSOR)
KRATOS_REGISTER_VARIABLE(CURVE_FITTING_PARAMETERS)
KRATOS_REGISTER_VARIABLE(TANGENCY_REGION2)
KRATOS_REGISTER_VARIABLE(PLASTIC_STRAIN_INDICATORS)
KRATOS_REGISTER_VARIABLE(EQUIVALENT_PLASTIC_STRAIN)
KRATOS_REGISTER_VARIABLE(KINEMATIC_PLASTICITY_PARAMETERS)
KRATOS_REGISTER_VARIABLE(KINEMATIC_HARDENING_TYPE)
KRATOS_REGISTER_VARIABLE(CONSIDER_PERTURBATION_THRESHOLD)
KRATOS_REGISTER_VARIABLE(TANGENT_OPERATOR_ESTIMATION)
KRATOS_REGISTER_VARIABLE(TENSION_STRESS_TENSOR)
KRATOS_REGISTER_VARIABLE(COMPRESSION_STRESS_TENSOR)
KRATOS_REGISTER_VARIABLE(TENSION_STRESS_VECTOR)
KRATOS_REGISTER_VARIABLE(COMPRESSION_STRESS_VECTOR)
KRATOS_REGISTER_VARIABLE(EFFECTIVE_TENSION_STRESS_VECTOR)
KRATOS_REGISTER_VARIABLE(EFFECTIVE_COMPRESSION_STRESS_VECTOR)
KRATOS_REGISTER_VARIABLE(CAUCHY_STRESS_TENSOR_FIBER)
KRATOS_REGISTER_VARIABLE(CAUCHY_STRESS_VECTOR_FIBER)
KRATOS_REGISTER_VARIABLE(CAUCHY_STRESS_TENSOR_MATRIX)
KRATOS_REGISTER_VARIABLE(CAUCHY_STRESS_VECTOR_MATRIX)
KRATOS_REGISTER_VARIABLE(GREEN_LAGRANGE_STRAIN_TENSOR_MATRIX)
KRATOS_REGISTER_VARIABLE(GREEN_LAGRANGE_STRAIN_VECTOR_MATRIX)
KRATOS_REGISTER_VARIABLE(GREEN_LAGRANGE_STRAIN_TENSOR_FIBER)
KRATOS_REGISTER_VARIABLE(GREEN_LAGRANGE_STRAIN_VECTOR_FIBER)
KRATOS_REGISTER_VARIABLE(EXPONENTIAL_SATURATION_YIELD_STRESS)
KRATOS_REGISTER_VARIABLE(ACCUMULATED_PLASTIC_STRAIN)
KRATOS_REGISTER_VARIABLE(BACK_STRESS_VECTOR)
KRATOS_REGISTER_VARIABLE(BACK_STRESS_TENSOR)
KRATOS_REGISTER_VARIABLE(MULTI_LINEAR_ELASTICITY_MODULI)
KRATOS_REGISTER_VARIABLE(MULTI_LINEAR_ELASTICITY_STRAINS)
KRATOS_REGISTER_VARIABLE(STRAIN_DAMAGE_CURVE)
KRATOS_REGISTER_VARIABLE(STRESS_DAMAGE_CURVE)
KRATOS_REGISTER_VARIABLE(EQUIVALENT_STRESS_VECTOR_PLASTICITY_POINT_CURVE)
KRATOS_REGISTER_VARIABLE(PLASTIC_STRAIN_VECTOR_PLASTICITY_POINT_CURVE)
KRATOS_REGISTER_VARIABLE(UNIAXIAL_STRESS_FIBER)
KRATOS_REGISTER_VARIABLE(UNIAXIAL_STRESS_MATRIX)
KRATOS_REGISTER_VARIABLE(INTERFACIAL_NORMAL_STRENGTH)
KRATOS_REGISTER_VARIABLE(INTERFACIAL_SHEAR_STRENGTH)
KRATOS_REGISTER_VARIABLE(MODE_ONE_FRACTURE_ENERGY)
KRATOS_REGISTER_VARIABLE(MODE_TWO_FRACTURE_ENERGY)
KRATOS_REGISTER_VARIABLE(TENSILE_INTERFACE_MODULUS)
KRATOS_REGISTER_VARIABLE(SHEAR_INTERFACE_MODULUS)
// Some variables related with SP
KRATOS_REGISTER_VARIABLE(SERIAL_PARALLEL_EQUILIBRIUM_TOLERANCE)
// D+D- Damage Constitutive laws variables
KRATOS_REGISTER_VARIABLE(DAMAGE_TENSION)
KRATOS_REGISTER_VARIABLE(DAMAGE_COMPRESSION)
KRATOS_REGISTER_VARIABLE(THRESHOLD_TENSION)
KRATOS_REGISTER_VARIABLE(THRESHOLD_COMPRESSION)
KRATOS_REGISTER_VARIABLE(UNIAXIAL_STRESS_TENSION)
KRATOS_REGISTER_VARIABLE(UNIAXIAL_STRESS_COMPRESSION)
KRATOS_REGISTER_VARIABLE(FRACTURE_ENERGY_COMPRESSION)
KRATOS_REGISTER_VARIABLE(FRACTURE_ENERGY_DAMAGE_PROCESS)
KRATOS_REGISTER_3D_VARIABLE_WITH_COMPONENTS(EULER_ANGLES)
KRATOS_REGISTER_VARIABLE(OGDEN_BETA_1)
KRATOS_REGISTER_VARIABLE(OGDEN_BETA_2)
// D+D- Damage Constitutive laws variables, additional Masonry 2D & 3D
KRATOS_REGISTER_VARIABLE(DAMAGE_ONSET_STRESS_COMPRESSION)
KRATOS_REGISTER_VARIABLE(BIAXIAL_COMPRESSION_MULTIPLIER)
KRATOS_REGISTER_VARIABLE(FRACTURE_ENERGY_TENSION)
KRATOS_REGISTER_VARIABLE(RESIDUAL_STRESS_COMPRESSION)
KRATOS_REGISTER_VARIABLE(BEZIER_CONTROLLER_C1)
KRATOS_REGISTER_VARIABLE(BEZIER_CONTROLLER_C2)
KRATOS_REGISTER_VARIABLE(BEZIER_CONTROLLER_C3)
KRATOS_REGISTER_VARIABLE(YIELD_STRAIN_COMPRESSION)
KRATOS_REGISTER_VARIABLE(SHEAR_COMPRESSION_REDUCTOR)
KRATOS_REGISTER_VARIABLE(TRIAXIAL_COMPRESSION_COEFFICIENT)
KRATOS_REGISTER_VARIABLE(INTEGRATION_IMPLEX)
KRATOS_REGISTER_VARIABLE(TENSION_YIELD_MODEL)
KRATOS_REGISTER_VARIABLE(PLASTIC_DAMAGE_PROPORTION)
// For anisotropy + orthotrophy
// The ratios between the yield strength in the isotropic space and the anisotropic space
// at each direction in local coordinates ratio
KRATOS_REGISTER_SYMMETRIC_3D_TENSOR_VARIABLE_WITH_COMPONENTS(ISOTROPIC_ANISOTROPIC_YIELD_RATIO);
KRATOS_REGISTER_SYMMETRIC_3D_TENSOR_VARIABLE_WITH_COMPONENTS(ORTHOTROPIC_ELASTIC_CONSTANTS);
}
} // namespace Kratos.