Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nonlinear Elastic Integrator #34

Open
wants to merge 86 commits into
base: main
Choose a base branch
from
Open

Nonlinear Elastic Integrator #34

wants to merge 86 commits into from

Conversation

larsson4
Copy link
Collaborator

@larsson4 larsson4 commented Mar 26, 2024

This PR adds a nonlinear elastic DG integrator to scaleupROM.

Tasks:

Stage 1: linear elastic integrators

  • Declare classes for integrators except interface
  • Implement (linear) integrators except interface
  • Unit tests for integrators (Compare them to linear elasticity integrators)

Stage 2: Solver structure with linear elastic integrators

  • Declare classes for solver (copy paste from linear elasticity)
  • Implement solver structure (copy paste from linear elasticity)
  • Write tests for the nonlinear solver (equality to linear solver) (didn't do this because too trivial)

Stage 3: Nonlinear Boundary, Domain and Dirichlet BC integrators

  • Implement nonlinear domain integrator by copy paste from hyperelasticnlfintegrator
  • Implement linear material model
  • Test nonlinear domain integrator against linear integrator
  • Implement nonlinear boundary integrator (merging DG and hyperelasticnlfintegrator)
    • Implemented the boundary version
    • Interface version
    • Add gradient calculation for both versions
  • Test nonlinear boundary integrator against linear
    • Test for boundary version
    • For interface version
  • Implement nonlinear Dirichlet BC integrator following linear example
  • Test nonlinear Dirichlet BC integrator formulation
  • Deal with Kappa term
  • Test solver with linear material model against linear DG

Stage 4: Geometric nonlinearity

  • Implement class following Linear Elastic model
  • Eval P
  • Derivative function

Stage 5: Interface integrator (maybe next step)

  • Declare interface integrator class
  • Implement interface integrator functions
  • Unit test interface integrator against boundary integrator
  • Test subdivided solver against MFEM implementation / non subdivided solver.

Future steps

  • Implement moment boundary condition for linear elasticity and hyperelasticity
  • Make tip moment example
  • Add NIPG version
  • Add HyperelasticDG tip moment example to MFEM

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants