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: Linear Elastic Global pROM #128

Closed axla-io closed 2 years ago

axla-io commented 2 years ago

Example: Linear Elastic Global pROM

Background and description

As an exercise in getting to know the libROMlibrary, I implemented a global pROM for a linear elastic cantilever problem.

The program is based on ex2p in MFEM and the poisson_global_rom example in libROM.

What's added

The files:

The program has support for both external force parametrization and Young's Modulus $E$ + Poisson's ratio $\nu$ parametrization.

How has it been tested?

The code runs without any problems for the command line options offline, online, merge, fom, visit+ the added parameterization options.

I have made relative error comparisons for the predicted ROM solutions with the FOM solutions and they are consistent with expected results.

Comments

I have tried to keep my code consistent with the libROM syntax. Feel free to make or suggest changes. Some unnecessary line breaks were added to some files. I saw that just now. Hope that it isn't too much of a nuisance.

Reviewers

@chldkdtn @dylan-copeland @kevinhkhuynh @siuwuncheung

chldkdtn commented 2 years ago

This is Axel's first contribution to libROM. Kudos to @axla-io

@dylan-copeland @kevinhkhuynh @siuwuncheung let's review and see if there can be any improvements we can make here. This is a good first example for linear elasticity as well!

dylan-copeland commented 2 years ago

We usually work with branches in libROM rather than forks like this PR. It doesn't matter very much, but one inconvenience of the fork is that reviewers have to clone the fork instead of just checking out a branch. Please feel free to use branches in the future.

axla-io commented 2 years ago

We usually work with branches in libROM rather than forks like this PR. It doesn't matter very much, but one inconvenience of the fork is that reviewers have to clone the fork instead of just checking out a branch. Please feel free to use branches in the future.

Thanks for the input. I'll keep this in mind for the future.

chldkdtn commented 2 years ago

We usually work with branches in libROM rather than forks like this PR. It doesn't matter very much, but one inconvenience of the fork is that reviewers have to clone the fork instead of just checking out a branch. Please feel free to use branches in the future.

Thanks for the input. I'll keep this in mind for the future.

@axla-io I see that you have not accepted the invitation to the access or collaborator request to this libROM repo development. Please make sure you accept the invitation before it get expired.

axla-io commented 2 years ago

@axla-io I see that you have not accepted the invitation to the access or collaborator request to this libROM repo development. Please make sure you accept the invitation before it get expired.

@chldkdtn Thanks, I have accepted now.

chldkdtn commented 2 years ago

@axla-io You got two approvals, which are sufficient to "squash and merge" You are welcome to do so.

axla-io commented 2 years ago

@axla-io You got two approvals, which are sufficient to "squash and merge" You are welcome to do so.

Thanks! I'll do so then.