ASPECT
Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Friends | List of all members
aspect::Newton::Parameters Struct Reference

Public Types

enum  Stabilization { none = 0, symmetric = 1, PD = 2, SPD = symmetric | PD }
 

Public Member Functions

void parse_parameters (ParameterHandler &prm)
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm)
 

Public Attributes

double newton_derivative_scaling_factor
 
Stabilization preconditioner_stabilization
 
Stabilization velocity_block_stabilization
 
bool use_Newton_failsafe
 
double nonlinear_switch_tolerance
 
bool use_Eisenstat_Walker_method_for_Picard_iterations
 
unsigned int max_pre_newton_nonlinear_iterations
 
unsigned int max_newton_line_search_iterations
 
bool use_newton_residual_scaling_method
 
double maximum_linear_stokes_solver_tolerance
 
double SPD_safety_factor
 

Friends

Stabilization operator| (const Stabilization a, const Stabilization b)
 
Stabilization operator & (const Stabilization a, const Stabilization b)
 

Detailed Description

Definition at line 72 of file newton.h.

Member Enumeration Documentation

§ Stabilization

This enum describes the type of stabilization is used for the Newton solver. None represents no stabilization, SPD represent that the resulting matrix is made Symmetric Positive Definite, symmetric represents that the matrix is only symmetrized, and PD represents that we do the same as what we do for SPD, but without the symmetrization.

Enumerator
none 
symmetric 
PD 
SPD 

Definition at line 83 of file newton.h.

Member Function Documentation

§ declare_parameters()

static void aspect::Newton::Parameters::declare_parameters ( ParameterHandler &  prm)
static

Declare additional parameters that are needed for the Newton. solver.

§ parse_parameters()

void aspect::Newton::Parameters::parse_parameters ( ParameterHandler &  prm)

Parse additional parameters that are needed for the Newton. solver.

Friends And Related Function Documentation

§ operator|

Stabilization operator| ( const Stabilization  a,
const Stabilization  b 
)
friend

A binary 'or' operator that concatenates a set of stabilization flags by returning an object that combines the bits set in each of the two arguments.

Definition at line 99 of file newton.h.

§ operator &

Stabilization operator& ( const Stabilization  a,
const Stabilization  b 
)
friend

A binary 'and' operator that takes the intersection of two sets of stabilization flags by returning an object that selects those bits that are set in both of the two arguments.

Definition at line 114 of file newton.h.

Member Data Documentation

§ newton_derivative_scaling_factor

double aspect::Newton::Parameters::newton_derivative_scaling_factor

A scaling factor used for scaling the derivative part of the Newton Stokes solver in the assembly.

The exact Newton matrix consists of the Stokes matrix plus a term that results from the linearization of the material coefficients. The scaling factor multiplies these additional terms. In a full Newton method, it would be equal to one, but it can be chosen smaller in cases where the resulting linear system has undesirable properties.

If the scaling factor is zero, the resulting matrix is simply the Stokes matrix, and the resulting scheme is a defect correction (i.e., Picard iteration).

Definition at line 149 of file newton.h.

§ preconditioner_stabilization

Stabilization aspect::Newton::Parameters::preconditioner_stabilization

Definition at line 151 of file newton.h.

§ velocity_block_stabilization

Stabilization aspect::Newton::Parameters::velocity_block_stabilization

Definition at line 152 of file newton.h.

§ use_Newton_failsafe

bool aspect::Newton::Parameters::use_Newton_failsafe

Whether to use the Newton failsafe or not. If the failsafe is used, a failure of the linear solver is caught and we try to solve it again with both the preconditioner and the velocity block being stabilized with the SPD stabilization.

Definition at line 159 of file newton.h.

§ nonlinear_switch_tolerance

double aspect::Newton::Parameters::nonlinear_switch_tolerance

The nonlinear tolerance at which to switch the nonlinear solver from defect correction Picard to Newton.

Definition at line 166 of file newton.h.

§ use_Eisenstat_Walker_method_for_Picard_iterations

bool aspect::Newton::Parameters::use_Eisenstat_Walker_method_for_Picard_iterations

Definition at line 168 of file newton.h.

§ max_pre_newton_nonlinear_iterations

unsigned int aspect::Newton::Parameters::max_pre_newton_nonlinear_iterations

Definition at line 169 of file newton.h.

§ max_newton_line_search_iterations

unsigned int aspect::Newton::Parameters::max_newton_line_search_iterations

Definition at line 170 of file newton.h.

§ use_newton_residual_scaling_method

bool aspect::Newton::Parameters::use_newton_residual_scaling_method

Definition at line 171 of file newton.h.

§ maximum_linear_stokes_solver_tolerance

double aspect::Newton::Parameters::maximum_linear_stokes_solver_tolerance

Definition at line 172 of file newton.h.

§ SPD_safety_factor

double aspect::Newton::Parameters::SPD_safety_factor

Definition at line 173 of file newton.h.


The documentation for this struct was generated from the following file: