How to Add a New constitutive law
- 1. Which files needed to be added
- in custom costitutive law of the corresponding application .cpp & .h files are added
- functions which could be used are those available in constitutive_law.h of kratos
- 2. Which files needed to be changed
- jamfile of application
- add_constitutive_laws_to_python.cpp of the custom python of the application
- .h of your constitutive law to be added
- class of the constitutive law being introduced
- 3. Additional infotmation
- costitutive law is an object in Kratos, so it's possible to store historical variables.
- static database The data can be stored as static database - it's not updated in every time-step:
- "node-> setValue(disp)"
- "node-> getValue(disp)"
- to update data in time, use:
- Material non-linearity:
- having stress as a function of strain, it's necessary to change the Algorithmic Tangent Modulus to implement material non-linearities