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.pyinsideResults/. The comparison picture can be seen asComparison.pdf.
Note: The hyperparameter setting in Model_training.py is primarily for fast training, so not optimal.