Code references for the numerical examples in the paper:
Folder containing gmsh
source file and a unstructured cantilever mesh
Folder will contain computed FEA solution, modelled solution, and mesh partitioning information
Code for building 3D elastodynamics solver using linear finite element, construction of LSTM-encoder-decoder network, etc.
Main script to run the explicit finite element elastodynamics solver to gather training data.
Extract displacement degrees of freedom on all shared nodes, from pre-computed numerical solutions.
Main training script for the LSTM-encoder-decoder network
Main script to perform the proposed synchronization-avoiding algorithm, using the pre-trained network model.
A minimal working example is included in this repository.
- Execute
mpirun -np 2 python3 Data_prepare.py
. The processor-wise solutions will be saved toResults/Dynamics/
. - Execute
mpirun -np 2 python3 Shared_extraction.py
. The processor-wise shared degrees of freedom will be saved toResults/sol_on_shared/
. - Execute
mpirun -np 2 python3 Model_training.py
. The trained model, training/validation error, etc will be saved toDistributed_save/
. - Execute
mpirun -np 2 python3 Online_predictor.py
. The predicted solution will be saved toResults/Dynamics/
. - Execute
python3 plotter.py
insideResults/
. The comparison picture can be seen asComparison.pdf
.
Note: The hyperparameter setting in Model_training.py
is primarily for fast training, so not optimal.