@@ -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