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.
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
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 haveAssembly
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.