PRISMS-PF Manual v3.0-pre
All Classes Functions Variables Enumerations Pages
user_input_parameters.h
1// SPDX-FileCopyrightText: © 2025 PRISMS Center at the University of Michigan
2// SPDX-License-Identifier: GNU Lesser General Public Version 2.1
3
4#ifndef user_input_parameters_h
5#define user_input_parameters_h
6
7#include <prismspf/config.h>
8#include <prismspf/user_inputs/boundary_parameters.h>
9#include <prismspf/user_inputs/checkpoint_parameters.h>
10#include <prismspf/user_inputs/input_file_reader.h>
11#include <prismspf/user_inputs/linear_solve_parameters.h>
12#include <prismspf/user_inputs/nonlinear_solve_parameters.h>
13#include <prismspf/user_inputs/output_parameters.h>
14#include <prismspf/user_inputs/spatial_discretization.h>
15#include <prismspf/user_inputs/temporal_discretization.h>
16#include <prismspf/user_inputs/user_constants.h>
17
18PRISMS_PF_BEGIN_NAMESPACE
19
20template <int dim>
22{
23public:
28 userInputParameters(inputFileReader &input_file_reader,
29 dealii::ParameterHandler &parameter_handler);
30
31 // Variable attributes
32 const std::map<unsigned int, variableAttributes> &var_attributes;
33
34 // Spatial discretization parameters
35 spatialDiscretization<dim> spatial_discretization;
36
37 // Temporal discretization parameters
38 temporalDiscretization temporal_discretization;
39
40 // Linear solve paramters
41 linearSolveParameters linear_solve_parameters;
42
43 // Nonlinear solve parameters
44 nonlinearSolveParameters nonlinear_solve_parameters;
45
46 // Output parameters
47 outputParameters output_parameters;
48
49 // Checkpoint parameters
50 checkpointParameters checkpoint_parameters;
51
52 // Boundary parameters
53 boundaryParameters<dim> boundary_parameters;
54
55 // User constants
56 userConstants<dim> user_constants;
57
58private:
63 void
64 assign_spatial_discretization_parameters(dealii::ParameterHandler &parameter_handler);
65
70 void
71 assign_temporal_discretization_parameters(dealii::ParameterHandler &parameter_handler);
72
77 void
78 assign_linear_solve_parameters(dealii::ParameterHandler &parameter_handler);
79
84 void
85 assign_nonlinear_solve_parameters(dealii::ParameterHandler &parameter_handler);
86
91 void
92 assign_output_parameters(dealii::ParameterHandler &parameter_handler);
93
98 void
99 assign_checkpoint_parameters(dealii::ParameterHandler &parameter_handler);
100
105 void
106 assign_load_initial_condition_parameters(dealii::ParameterHandler &parameter_handler);
107
112 void
113 assign_nucleation_parameters(dealii::ParameterHandler &parameter_handler);
114
119 void
120 assign_grain_parameters(dealii::ParameterHandler &parameter_handler);
121
126 void
127 assign_boundary_parameters(dealii::ParameterHandler &parameter_handler);
128
132 void
133 load_model_constants(inputFileReader &input_file_reader,
134 dealii::ParameterHandler &parameter_handler);
135};
136
137PRISMS_PF_END_NAMESPACE
138
139#endif
Parameters file reader. Declares parameter names in a dealii parameter_handler and parses the file fo...
Definition input_file_reader.h:23
Class the stores and manages user-defined constants.
Definition user_constants.h:29
Definition user_input_parameters.h:22
Struct that holds boundary parameters.
Definition boundary_parameters.h:100
Struct that holds checkpoint parameters.
Definition checkpoint_parameters.h:23
Struct that holds linear solver parameters.
Definition linear_solve_parameters.h:51
Struct that holds nonlinear solver parameters.
Definition nonlinear_solve_parameters.h:30
Struct that holds output parameters.
Definition output_parameters.h:23
Struct that holds spatial discretization parameters.
Definition spatial_discretization.h:20
Struct that holds temporal discretization parameters.
Definition temporal_discretization.h:17