Skip to content

Enabled equation wise flexibility in the use of compensate_non_equilibrium_initial_residuum

wenqing requested to merge wenqing/ogs:non_eq_balance_source_term1 into master

This MR brings my implementation to flexibly use compensate_non_equilibrium_initial_residuum in balance equation wise, or primary variable wise. The changes are:

  1. for the input data in project file, tag of compensate_non_equilibrium_initial_residuum is moved from <time_loop><processes><process> to <process_variables><process_variable>. The reason is that there is only one process defined with the monolithic scheme but the variables are always individually defined for the balance equation of each physical process.
  2. the computation of non equilibrium initial residuum is conducted if any of <process_variables><process_variable> has the tag of compensate_non_equilibrium_initial_residuum with true value. After assembly of the vector of non equilibrium initial residuum, the entries of that vector that associated with the variables with the false value of compensate_non_equilibrium_initial_residuum are set to zero. With such implementation, the flexible use of compensate_non_equilibrium_initial_residuum is realized without modifying the local assemblers.
  3. for the sake of simplicity in usage, the assembly of boundary conditions and source terms is excluded from the computation of non equilibrium initial residuum vector. That means if the compensation of non equilibrium initial residuum to the balance equation is considered, the Neumann BC and the source term must be given as their increments from the initial state. This statement is added to the documentation of the tag ofcompensate_non_equilibrium_initial_residuum.

The same as before, that tag is an optional input. If the tag of compensate_non_equilibrium_initial_residuum is not presented in project file, its value is set to false by default.

This MR fixes #3247 (closed), and fixes #3242 (closed) as well.

  1. Feature description was added to the changelog
  2. Tests covering your feature were added? Yes it does. The feature is tested by modifying the existing benchmark.
  3. Any new feature or behavior change was documented? The related parameter documentation is updated.
Edited by wenqing

Merge request reports