-
Notifications
You must be signed in to change notification settings - Fork 247
MPM Restart
This tutorial is intended on showing how to restart a MPM simulation. The Example is based on the Granular Flow Validation test. A picture of this test can be seen below.
Before even launching the simulation it is important to activate the restart capability so that Kratos is saving the restart files in the desired intervals. To do this open the "Results"-tab where the "Restart-Output"-option is found. Here the restart output can be enabled (it is enabled by default) and the output frequency can be defined. The output frequency can be set based on the number of time steps or the time between outputs.
After generating the calculation files the following entries can be found in the "ProjectParameters.json"-file containing the information about the restart process.
At this point, the simulation can be launched normally and Kratos will write the restart files into a folder called "MPM__Material|_restart_files". The restart files will be named "MPM_Material{time step/time}.rest". These files can then be used to restart the simulation if necessary.
Once a simulation has been launched and the restart files have been written, the simulation can be restarted from any of the existing restart files. To do this open the "ProjectParameters.json" and modify the "model_import_settings". The only value that needs to be modified is the "restart_load_file_label" entry. This entry should contain the label of the restart file to be used, i.e. the time step or the time that is given in the "MPM_Material_{time step/time}.rest" name to be used. It is important to write this number as a string!
When launching the simulation again, the simulation will start from the restart file, instead of starting from the beginning. It is important to note, that the previous result outputs (including the restart files) after the point of the restart will be overwritten! So if any specific outputs after the restart time should be saved, they need to be moved to a different folder or renamed.
- Getting Kratos (Last compiled Release)
- Compiling Kratos
- Running an example from GiD
- Kratos input files and I/O
- Data management
- Solving strategies
- Manipulating solution values
- Multiphysics
- Video tutorials
- Style Guide
- Authorship of Kratos files
- Configure .gitignore
- How to configure clang-format
- How to use smart pointer in Kratos
- How to define adjoint elements and response functions
- Visibility and Exposure
- Namespaces and Static Classes
Kratos structure
Conventions
Solvers
Debugging, profiling and testing
- Compiling Kratos in debug mode
- Debugging Kratos using GDB
- Cross-debugging Kratos under Windows
- Debugging Kratos C++ under Windows
- Checking memory usage with Valgind
- Profiling Kratos with MAQAO
- Creating unitary tests
- Using ThreadSanitizer to detect OMP data race bugs
- Debugging Memory with ASAN
HOW TOs
- How to create applications
- Python Tutorials
- Kratos For Dummies (I)
- List of classes and variables accessible via python
- How to use Logger
- How to Create a New Application using cmake
- How to write a JSON configuration file
- How to Access DataBase
- How to use quaternions in Kratos
- How to do Mapping between nonmatching meshes
- How to use Clang-Tidy to automatically correct code
- How to use the Constitutive Law class
- How to use Serialization
- How to use GlobalPointerCommunicator
- How to use PointerMapCommunicator
- How to use the Geometry
- How to use processes for BCs
- How to use Parallel Utilities in futureproofing the code
- Porting to Pybind11 (LEGACY CODE)
- Porting to AMatrix
- How to use Cotire
- Applications: Python-modules
- How to run multiple cases using PyCOMPSs
- How to apply a function to a list of variables
- How to use Kratos Native sparse linear algebra
Utilities
Kratos API
Kratos Structural Mechanics API