16 #ifndef _aspect_parameters_h 17 #define _aspect_parameters_h 27 struct CompositionalFieldDescription;
30 namespace GeometryModel
74 iterated_Advection_and_Newton_Stokes
82 return input == NonlinearSolver::iterated_Advection_and_Newton_Stokes ||
83 input == NonlinearSolver::single_Advection_iterated_Newton_Stokes ||
84 input == NonlinearSolver::no_Advection_iterated_defect_correction_Stokes ||
85 input == NonlinearSolver::single_Advection_iterated_defect_correction_Stokes ||
86 input == NonlinearSolver::iterated_Advection_and_defect_correction_Stokes
97 return input == NonlinearSolver::no_Advection_iterated_Stokes ||
98 input == NonlinearSolver::no_Advection_iterated_defect_correction_Stokes ||
99 input == NonlinearSolver::single_Advection_iterated_Stokes ||
100 input == NonlinearSolver::single_Advection_iterated_defect_correction_Stokes ||
101 input == NonlinearSolver::single_Advection_iterated_Newton_Stokes ||
102 input == NonlinearSolver::iterated_Advection_and_Stokes ||
103 input == NonlinearSolver::iterated_Advection_and_defect_correction_Stokes ||
104 input == NonlinearSolver::iterated_Advection_and_Newton_Stokes
130 if (input ==
"continue with next timestep")
131 return continue_with_next_timestep;
132 else if (input ==
"cut timestep size")
133 return cut_timestep_size;
134 else if (input ==
"abort program")
135 return abort_program;
161 if (input ==
"continue with nonlinear solver")
162 return continue_with_nonlinear_solver;
163 else if (input ==
"abort")
178 net_translation_x = 0x1,
179 net_translation_y = 0x2,
180 net_translation_z = 0x4,
181 net_translation = 0x1+0x2+0x4,
182 linear_momentum_x = 0x8,
183 linear_momentum_y = 0x10,
184 linear_momentum_z = 0x20,
185 linear_momentum = linear_momentum_x+linear_momentum_y+linear_momentum_z,
187 angular_momentum = 0x80,
188 net_surface_rotation = 0x100,
189 any_translation = net_translation+linear_momentum,
190 any_rotation = net_rotation+angular_momentum+net_surface_rotation,
215 prescribed_field_with_diffusion
249 if (input ==
"isentropic compression")
250 return Formulation::isentropic_compression;
251 else if (input ==
"anelastic liquid approximation")
252 return Formulation::anelastic_liquid_approximation;
253 else if (input ==
"Boussinesq approximation")
254 return Formulation::boussinesq_approximation;
255 else if (input ==
"custom")
256 return Formulation::custom;
293 if (input ==
"isentropic compression")
294 return Formulation::MassConservation::isentropic_compression;
295 else if (input ==
"hydrostatic compression")
296 return Formulation::MassConservation::hydrostatic_compression;
297 else if (input ==
"reference density profile")
298 return Formulation::MassConservation::reference_density_profile;
299 else if (input ==
"implicit reference density profile")
300 return Formulation::MassConservation::implicit_reference_density_profile;
301 else if (input ==
"incompressible")
302 return Formulation::MassConservation::incompressible;
303 else if (input ==
"projected density field")
304 return Formulation::MassConservation::projected_density_field;
305 else if (input ==
"ask material model")
306 return Formulation::MassConservation::ask_material_model;
328 reference_density_profile
339 if (input ==
"real density")
340 return Formulation::TemperatureEquation::real_density;
341 else if (input ==
"reference density profile")
342 return Formulation::TemperatureEquation::reference_density_profile;
370 if (input ==
"entropy viscosity")
371 return entropy_viscosity;
372 else if (input ==
"SUPG")
382 return "entropy viscosity|SUPG";
402 return "default solver|block AMG|direct solver|block GMG";
408 if (input ==
"block AMG")
410 else if (input ==
"direct solver")
411 return direct_solver;
412 else if (input ==
"block GMG")
414 else if (input ==
"default solver")
415 return default_solver;
437 return "local smoothing|global coarsening";
443 if (input ==
"local smoothing")
444 return local_smoothing;
445 else if (input ==
"global coarsening")
446 return global_coarsening;
468 return "GMRES|IDR(s)";
474 if (input ==
"GMRES")
476 else if (input ==
"IDR(s)")
499 return "ARKode|fixed step";
505 if (input ==
"ARKode")
507 else if (input ==
"fixed step")
533 const MPI_Comm mpi_communicator);
564 const MPI_Comm mpi_communicator);
The NullspaceRemoval struct.
bool use_full_A_block_preconditioner
unsigned int min_grid_level
unsigned int n_expensive_stokes_solver_steps
std::vector< double > global_composition_min_preset
static Kind parse(const std::string &input)
double linear_stokes_solver_tolerance
bool use_pressure_gradient_for_darcy_field
unsigned int n_cheap_stokes_solver_steps
static Kind parse(const std::string &input)
unsigned int initial_adaptive_refinement
double coarsening_fraction
std::vector< unsigned int > normalized_fields
double maximum_first_time_step
double global_temperature_max_preset
unsigned int initial_global_refinement
static const std::string pattern()
double AMG_aggregation_threshold
std::vector< bool > use_discontinuous_composition_discretization
unsigned int stabilization_alpha
double linear_solver_A_block_tolerance
std::vector< double > additional_refinement_times
std::map< unsigned int, std::pair< std::string, unsigned int > > mapped_particle_properties
bool use_limiter_for_discontinuous_temperature_solution
bool use_locally_conservative_discretization
#define AssertThrow(cond, exc)
double nonlinear_tolerance
unsigned int stokes_gmres_restart_length
static Kind parse(const std::string &input)
static Kind parse(const std::string &input)
unsigned int temperature_degree
unsigned int idr_s_parameter
bool force_nonsymmetric_A_block_solver
bool mesh_deformation_enabled
Formulation::MassConservation::Kind formulation_mass_conservation
bool skip_solvers_on_initial_refinement
bool run_postprocessors_on_initial_refinement
bool adapt_by_fraction_of_cells
AdvectionFieldMethod::Kind temperature_method
bool have_discontinuous_composition_discretization
unsigned int AMG_smoother_sweeps
void declare_parameters(ParameterHandler &prm)
static ::ExceptionBase & ExcNotImplemented()
unsigned int resume_checkpoint_id
double temperature_solver_tolerance
NonlinearSolver::Kind nonlinear_solver
std::string world_builder_file
std::vector< bool > use_limiter_for_discontinuous_composition_solution
AdvectionStabilizationMethod::Kind advection_stabilization_method
unsigned int stokes_velocity_degree
bool enable_additional_stokes_rhs
NullspaceRemoval::Kind nullspace_removal
static Kind parse(const std::string &input)
static const std::string pattern()
static const std::string pattern()
bool use_artificial_viscosity_smoothing
double discontinuous_penalty
bool volume_of_fluid_tracking_enabled
static bool solve_Stokes_iteratively(const typename NonlinearSolver::Kind &input)
double reaction_time_step
double stabilization_gamma
double linear_solver_S_block_tolerance
bool use_direct_stokes_solver
bool use_operator_splitting
double refinement_fraction
unsigned int n_compositional_fields
unsigned int max_composition_degree
std::vector< unsigned int > composition_degrees
MaterialModel::MaterialAveraging::AveragingOperation material_averaging
unsigned int reaction_steps_per_advection_step
double minimum_composition_fraction
unsigned int n_particle_managers
bool use_conduction_timestep
double maximum_relative_increase_time_step
double composition_solver_tolerance
std::vector< std::string > names_of_compositional_fields
unsigned int max_nonlinear_iterations
NonlinearSolverFailureStrategy::Kind nonlinear_solver_failure_strategy
bool run_postprocessors_on_nonlinear_iterations
bool use_discontinuous_temperature_discretization
static Kind parse(const std::string &input)
static bool is_defect_correction(const typename NonlinearSolver::Kind &input)
StokesGMGType::Kind stokes_gmg_type
static std::string get_options_string()
std::set< types::boundary_id > fixed_heat_flux_boundary_indicators
std::string output_directory
std::vector< double > stabilization_beta
std::vector< aspect::CompositionalFieldDescription > composition_descriptions
std::vector< double > stabilization_c_R
LinearSolverFailureStrategy::Kind linear_solver_failure_strategy
std::vector< std::string > compositional_fields_with_disabled_boundary_entropy_viscosity
std::string pressure_normalization
bool use_equal_order_interpolation_for_stokes
double ARKode_relative_tolerance
StokesSolverType::Kind stokes_solver_type
unsigned int advection_gmres_restart_length
bool enable_prescribed_dilation
static const std::string pattern()
std::string AMG_smoother_type
StokesKrylovType::Kind stokes_krylov_type
double global_temperature_min_preset
Formulation::TemperatureEquation::Kind formulation_temperature_equation
static Kind parse(const std::string &input)
unsigned int n_checkpoints_to_keep
bool include_melt_transport
double adiabatic_surface_temperature
std::vector< unsigned int > chemical_composition_indices
unsigned int max_nonlinear_iterations_in_prerefinement
std::vector< double > global_composition_max_preset
unsigned int timing_output_frequency
std::vector< typename AdvectionFieldMethod::Kind > compositional_field_methods
unsigned int n_additional_checkpoints_to_keep
Formulation::Kind formulation
std::vector< double > additional_checkpoint_times
unsigned int n_chemical_compositions
bool skip_setup_initial_conditions_on_initial_refinement
unsigned int adaptive_refinement_interval
ReactionSolverType::Kind reaction_solver_type
double diffusion_length_scale