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

Example logic for auxiliary variables in DIRK stepper #119

Draft
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

jmbigman
Copy link
Contributor

Previously all variables were treated as if they have explicit time dependence and were updated by summing over stage derivatives. If $u$ was the time-dependent variable and $\zeta$ an auxiliary variable they would both be replaced by

$$\partial_t u \leftarrow k_u\quad,\quad u \leftarrow g_u + ahk_u$$ $$\partial_t \zeta \leftarrow k_\zeta\quad,\quad \zeta\leftarrow g_\zeta + ahk_\zeta$$

Now the lack of a time derivative on $\zeta$ is identified and they are instead replaced by

$$\partial_t u \leftarrow k_u\quad,\quad u \leftarrow g_u + ahk_u$$ $$\zeta\leftarrow k_\zeta$$

The non-linear solve is still done over $k_u$ , $k_\zeta$ but $k_\zeta$ now represents the value of the auxiliary variable $\zeta$ instead of its stage derivative which is not needed. Only the time-dependent $g_u$ is updated by summing over stage derivatives $k_u$.

…he DIRK stepper

Auxiliary variables (without time derivatives) are identified when forming the stage forms

Aux. variables are not updated by summing over stage derivatives but set directly to the
result of the non-linear solver
@jmbigman
Copy link
Contributor Author

Introduced based on discussion #116

@ScottMacLachlan
Copy link
Collaborator

I'll review this later on, but can you first check on the lint failure that's preventing CI from running fully?

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