Skip to content

Commit b42e805

Browse files
authored
Merge pull request #6921 from gassmoeller/improve_variable_documentation
Improve Newton solver variable documentation
2 parents 2fcaad3 + ec02a47 commit b42e805

File tree

1 file changed

+33
-2
lines changed

1 file changed

+33
-2
lines changed

include/aspect/simulator.h

Lines changed: 33 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2054,18 +2054,49 @@ namespace aspect
20542054
std::unique_ptr<LinearAlgebra::PreconditionAMG> Amg_preconditioner;
20552055
std::unique_ptr<LinearAlgebra::PreconditionBase> Mp_preconditioner;
20562056

2057+
/**
2058+
* Whether to resize and rebuild the sparsity pattern and matrix. This can become
2059+
* necessary if constraints or the mesh changes.
2060+
*/
20572061
bool rebuild_sparsity_and_matrices;
2062+
2063+
/**
2064+
* Whether to assemble the stokes matrix before solving the Stokes equation.
2065+
* A matrix that is identical for subsequent time steps (e.g. if the viscosity is constant
2066+
* over time and no constraints change) can be reused and does not need to be assembled
2067+
* again, saving considerable computational time.
2068+
*
2069+
* Note, that this parameter does not control whether the right-hand side force term of
2070+
* the equation is assembled (it is always assembled).
2071+
*
2072+
* Also note that in the case of defect correction or Newton solvers, the Stokes
2073+
* matrix is actually on the right-hand side of the equation. The meaning of this flag
2074+
* does not change however, it still determines if these (right-hand) side terms are
2075+
* assembled.
2076+
*/
20582077
bool rebuild_stokes_matrix;
2078+
2079+
/**
2080+
* Whether to assemble the left-hand side matrix of the defect correct or Newton
2081+
* solver, i.e. the system Jacobian.
2082+
*/
20592083
bool assemble_newton_stokes_matrix;
2084+
2085+
/**
2086+
* A flag that indicates if we are solving a fixed point Stokes equation (if false),
2087+
* or a defect correction/Newton solver system (if true).
2088+
*/
20602089
bool assemble_newton_stokes_system;
2090+
2091+
/**
2092+
* Whether to assemble the stokes preconditioner matrix (if one is used).
2093+
*/
20612094
bool rebuild_stokes_preconditioner;
20622095

20632096
/**
20642097
* @}
20652098
*/
20662099

2067-
private:
2068-
20692100
/**
20702101
* Unique pointer for an instance of the MeshDeformationHandler. this way,
20712102
* if we do not need the machinery for doing mesh deformation stuff, we do

0 commit comments

Comments
 (0)