idaholab / moose

Multiphysics Object Oriented Simulation Environment
https://www.mooseframework.org
GNU Lesser General Public License v2.1
1.72k stars 1.04k forks source link

Evaluating time derivative of variables on the fly #25650

Open YaqiWang opened 12 months ago

YaqiWang commented 12 months ago

Reason

Currently, MOOSE adds a u_dot ghosted solution vector to store the time derivative DoFs of all nonlinear and auxiliary variables. One downside of this is that we need to have an extra solution vector to store the time derivative and in most of time integrators, this time derivative can be evaluated quite trivially. This design can possibly provide a solution to an existing issue #12347.

Design

The actual code for returning u_dot will be in time integrators. We could have Assembly to store the time derivatives so that kernels, materials, etc. can use them. We could also evaluate time derivatives for material properties in a consistent way, thus solve #12153.

Tag @roystgnr @lindsayad @zachmprince

Impact

More memory efficient code and more robust code for time integration.

lindsayad commented 11 months ago

Do you have particular time integrators that you would like to see this capability for? This could be implemented more easily for some integrators than others