LLNL / libROM

Model reduction library with an emphasis on large scale parallelism and linear subspace methods
https://www.librom.net
Other
201 stars 36 forks source link

Implement time windowing DMD for MFEM example 10 #104

Closed siuwuncheung closed 2 years ago

siuwuncheung commented 2 years ago

This PR adds the option of time windowing DMD for MFEM example 10 nonlinear elasticity. Without specifying the option -nwinsamp it will run the serial DMD and produce identical results to master branch.

============================================================

Serial DMD results (takes a while to do the prediction)

Command 1: ./nonlinear_elasticity -s 2 -rs 1 -dt 0.02 -tf 20

Output 1: Relative error of DMD position (x) at t_final: 20 is 0.000571937 Relative error of DMD velocity (v) at t_final: 20 is 6.16546

Command 2: ./nonlinear_elasticity -s 2 -rs 1 -dt 0.05 -tf 50.0

Output 2: Relative error of DMD position (x) at t_final: 50 is 7.98169 Relative error of DMD velocity (v) at t_final: 50 is 0.0276505

============================================================

Time windowing DMD results (with 10 samples per window)

Command 1: ./nonlinear_elasticity -s 2 -rs 1 -dt 0.02 -tf 20 -nwinsamp 10

Output 1: Relative error of DMD position (x) at t_final: 20 is 4.11479e-06 Relative error of DMD velocity (v) at t_final: 20 is 9.43364e-05

Command 2: ./nonlinear_elasticity -s 2 -rs 1 -dt 0.05 -tf 50.0 -nwinsamp 10

Output 2: Relative error of DMD position (x) at t_final: 50 is 1.57678e-05 Relative error of DMD velocity (v) at t_final: 50 is 2.2577e-05

chldkdtn commented 2 years ago

@siuwuncheung Can you actually put the description your put in this PR in the beginning of nonlinear_elasticity.cpp file?