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

Example: Nonlinear Elastic global pROM #136

Closed axla-io closed 1 year ago

axla-io commented 2 years ago

Example: Nonlinear Elastic Global pROM

Background and description

To extend the libROMlibrary, I implemented a global parametric ROM for a nonlinear elastic cantilever problem.

The program is based on ex10p in MFEM and the mixed_nonlinear_diffusion example in libROM.

What's added

The file:

This example adds:

How has it been tested?

chldkdtn commented 2 years ago

@dylan-copeland Do you know what enables the mesh deformation visualization in VisIt? Currently, it seems that the mesh is not deformed in VisIt for this particular code.

dylan-copeland commented 2 years ago

@dylan-copeland Do you know what enables the mesh deformation visualization in VisIt? Currently, it seems that the mesh is not deformed in VisIt for this particular code.

The mesh has to have its nodes updated in the simulation, as done in Laghos, for example LagrangianHydroOperator::UpdateMesh in laghos_solver.cpp. Otherwise, the original mesh is output by the simulation and read by VisIt.

chldkdtn commented 2 years ago

Yes, but the thing is, it looks like this code is already updating nodes by the following lines:

    GridFunction* nodes = &x_gf;
    int owns_nodes = 0; 
    pmesh->SwapNodes(nodes, owns_nodes);
chldkdtn commented 2 years ago

@copeland, no worries, it works now. the part I wrote above needs to be inside of the time loop. Thank you for your help. :)

dylan-copeland commented 1 year ago

@axla-io I will be ready to approve this PR once scripts/stylize.sh is run. Please note that the master branch has been updated, so it would be best to pull from master first.