PRISMS-PF  v2.1
userInputParameters< dim > Class Template Reference

#include <userInputParameters.h>

Public Member Functions

 userInputParameters (inputFileReader &input_file_reader, dealii::ParameterHandler &parameter_handler, variableAttributeLoader variable_attributes)
 
void load_BC_list (const std::vector< std::string > list_of_BCs)
 
double get_model_constant_double (const std::string constant_name) const
 
int get_model_constant_int (const std::string constant_name) const
 
bool get_model_constant_bool (const std::string constant_name) const
 
dealii::Tensor< 1, dim > get_model_constant_rank_1_tensor (const std::string constant_name) const
 
dealii::Tensor< 2, dim > get_model_constant_rank_2_tensor (const std::string constant_name) const
 
dealii::Tensor< 2, 2 *dim-1+dim/3 > get_model_constant_elasticity_tensor (const std::string constant_name) const
 
void loadVariableAttributes (variableAttributeLoader variable_attributes)
 
std::vector< double > get_nucleus_semiaxes (unsigned int var_index) const
 
std::vector< double > get_nucleus_freeze_semiaxes (unsigned int var_index) const
 
std::vector< double > get_nucleus_rotation (unsigned int var_index) const
 
double get_no_nucleation_border_thickness (unsigned int var_index) const
 
double get_nucleus_hold_time (unsigned int var_index) const
 
dealii::Tensor< 2, dim, double > get_nucleus_rotation_matrix (unsigned int var_index) const
 

Public Attributes

std::unordered_map< std::string, unsigned int > model_constant_name_map
 
std::vector< double > domain_size
 
std::vector< unsigned int > subdivisions
 
unsigned int refine_factor
 
unsigned int degree
 
bool h_adaptivity
 
unsigned int max_refinement_level
 
unsigned int min_refinement_level
 
std::vector< int > refine_criterion_fields
 
std::vector< double > refine_window_max
 
std::vector< double > refine_window_min
 
unsigned int skip_remeshing_steps
 
unsigned int skip_print_steps
 
std::string output_file_type
 
bool output_vtu_per_process
 
std::string output_file_name
 
std::vector< unsigned int > outputTimeStepList
 
double dtValue
 
double finalTime
 
unsigned int totalIncrements
 
LinearSolverParameters linear_solver_parameters
 
NonlinearSolverParameters nonlinear_solver_parameters
 
unsigned int number_of_variables
 
std::vector< std::string > var_name
 
std::vector< fieldTypevar_type
 
std::vector< PDETypevar_eq_type
 
std::vector< bool > var_nonlinear
 
unsigned int num_var_explicit_RHS
 
unsigned int num_var_nonexplicit_RHS
 
std::vector< variable_infovarInfoListExplicitRHS
 
std::vector< variable_infovarInfoListNonexplicitRHS
 
unsigned int num_var_LHS
 
std::vector< variable_infovarInfoListLHS
 
std::vector< variable_infovarChangeInfoListLHS
 
std::vector< bool > load_ICs
 
std::vector< bool > load_parallel_file
 
std::vector< std::string > load_file_name
 
std::vector< std::string > load_field_name
 
bool resume_from_checkpoint
 
std::vector< unsigned int > checkpointTimeStepList
 
unsigned int pp_number_of_variables
 
unsigned int num_integrated_fields
 
bool postProcessingRequired
 
std::vector< bool > pp_calc_integral
 
std::vector< unsigned int > integrated_field_indices
 
std::vector< std::string > pp_var_name
 
std::vector< fieldTypepp_var_type
 
std::vector< variable_infopp_varInfoList
 
std::vector< variable_infopp_baseVarInfoList
 
std::vector< varBCs< dim > > BC_list
 
std::vector< boost::variant< double, int, bool, dealii::Tensor< 1, dim >, dealii::Tensor< 2, dim >, dealii::Tensor< 2, 2 *dim-1+dim/3 > > > model_constants
 
bool nucleation_occurs
 
std::vector< unsigned int > nucleating_variable_indices
 
std::vector< unsigned int > nucleation_need_value
 
double min_distance_between_nuclei
 
double nucleation_order_parameter_cutoff
 
unsigned int steps_between_nucleation_attempts
 
bool grain_remapping_activated
 
std::vector< unsigned int > variables_for_remapping
 
unsigned int skip_grain_reassignment_steps
 
double order_parameter_threshold
 
double buffer_between_grains
 
bool load_grain_structure
 
double min_radius_for_loading_grains
 
std::string grain_structure_filename
 
std::string grain_structure_variable_name
 
unsigned int num_grain_smoothing_cycles
 

Private Member Functions

std::vector< unsigned int > setTimeStepList (const std::string outputSpacingType, unsigned int numberOfOutputs, const std::vector< unsigned int > &userGivenTimeStepList)
 
void load_user_constants (inputFileReader &input_file_reader, dealii::ParameterHandler &parameter_handler)
 
dealii::Tensor< 2, 2 *dim-1+dim/3 > get_Cij_tensor (std::vector< double > elastic_constants, const std::string elastic_const_symmetry) const
 
dealii::Tensor< 2, 2 *dim-1+dim/3 > getCIJMatrix (const elasticityModel model, const std::vector< double > constants, dealii::ConditionalOStream &pcout) const
 

Private Attributes

std::vector< nucleationParameters< dim > > nucleation_parameters_list
 
std::map< unsigned int, unsigned int > nucleation_parameters_list_index
 

Detailed Description

template<int dim>
class userInputParameters< dim >

Definition at line 29 of file userInputParameters.h.

Constructor & Destructor Documentation

◆ userInputParameters()

userInputParameters ( inputFileReader input_file_reader,
dealii::ParameterHandler &  parameter_handler,
variableAttributeLoader  variable_attributes 
)

Definition at line 7 of file userInputParameters.cc.

Member Function Documentation

◆ get_Cij_tensor()

dealii::Tensor< 2, 2 *dim-1+dim/3 > get_Cij_tensor ( std::vector< double >  elastic_constants,
const std::string  elastic_const_symmetry 
) const
private

Definition at line 177 of file load_user_constants.cc.

◆ get_model_constant_bool()

bool get_model_constant_bool ( const std::string  constant_name) const
inline

Definition at line 46 of file userInputParameters.h.

◆ get_model_constant_double()

double get_model_constant_double ( const std::string  constant_name) const
inline

Definition at line 44 of file userInputParameters.h.

◆ get_model_constant_elasticity_tensor()

dealii::Tensor<2,2*dim-1+dim/3> get_model_constant_elasticity_tensor ( const std::string  constant_name) const
inline

Definition at line 49 of file userInputParameters.h.

◆ get_model_constant_int()

int get_model_constant_int ( const std::string  constant_name) const
inline

Definition at line 45 of file userInputParameters.h.

◆ get_model_constant_rank_1_tensor()

dealii::Tensor<1,dim> get_model_constant_rank_1_tensor ( const std::string  constant_name) const
inline

Definition at line 47 of file userInputParameters.h.

◆ get_model_constant_rank_2_tensor()

dealii::Tensor<2,dim> get_model_constant_rank_2_tensor ( const std::string  constant_name) const
inline

Definition at line 48 of file userInputParameters.h.

◆ get_no_nucleation_border_thickness()

double get_no_nucleation_border_thickness ( unsigned int  var_index) const
inline

Definition at line 58 of file userInputParameters.h.

◆ get_nucleus_freeze_semiaxes()

std::vector<double> get_nucleus_freeze_semiaxes ( unsigned int  var_index) const
inline

Definition at line 56 of file userInputParameters.h.

◆ get_nucleus_hold_time()

double get_nucleus_hold_time ( unsigned int  var_index) const
inline

Definition at line 59 of file userInputParameters.h.

◆ get_nucleus_rotation()

std::vector<double> get_nucleus_rotation ( unsigned int  var_index) const
inline

Definition at line 57 of file userInputParameters.h.

◆ get_nucleus_rotation_matrix()

dealii::Tensor<2,dim,double> get_nucleus_rotation_matrix ( unsigned int  var_index) const
inline

Definition at line 60 of file userInputParameters.h.

◆ get_nucleus_semiaxes()

std::vector<double> get_nucleus_semiaxes ( unsigned int  var_index) const
inline

Definition at line 55 of file userInputParameters.h.

◆ getCIJMatrix()

dealii::Tensor< 2, 2 *dim-1+dim/3 > getCIJMatrix ( const elasticityModel  model,
const std::vector< double >  constants,
dealii::ConditionalOStream &  pcout 
) const
private

Definition at line 238 of file load_user_constants.cc.

◆ load_BC_list()

void load_BC_list ( const std::vector< std::string >  list_of_BCs)

Definition at line 7 of file load_BC_list.cc.

◆ load_user_constants()

void load_user_constants ( inputFileReader input_file_reader,
dealii::ParameterHandler &  parameter_handler 
)
private

Definition at line 9 of file load_user_constants.cc.

◆ loadVariableAttributes()

void loadVariableAttributes ( variableAttributeLoader  variable_attributes)

Definition at line 6 of file loadVariableAttributes.cc.

◆ setTimeStepList()

std::vector< unsigned int > setTimeStepList ( const std::string  outputSpacingType,
unsigned int  numberOfOutputs,
const std::vector< unsigned int > &  userGivenTimeStepList 
)
private

Definition at line 4 of file setTimeStepList.cc.

Member Data Documentation

◆ BC_list

std::vector<varBCs<dim> > BC_list

Definition at line 140 of file userInputParameters.h.

◆ buffer_between_grains

double buffer_between_grains

Definition at line 159 of file userInputParameters.h.

◆ checkpointTimeStepList

std::vector<unsigned int> checkpointTimeStepList

Definition at line 123 of file userInputParameters.h.

◆ degree

unsigned int degree

Definition at line 66 of file userInputParameters.h.

◆ domain_size

std::vector<double> domain_size

Definition at line 60 of file userInputParameters.h.

◆ dtValue

double dtValue

Definition at line 87 of file userInputParameters.h.

◆ finalTime

double finalTime

Definition at line 88 of file userInputParameters.h.

◆ grain_remapping_activated

bool grain_remapping_activated

Definition at line 155 of file userInputParameters.h.

◆ grain_structure_filename

std::string grain_structure_filename

Definition at line 163 of file userInputParameters.h.

◆ grain_structure_variable_name

std::string grain_structure_variable_name

Definition at line 164 of file userInputParameters.h.

◆ h_adaptivity

bool h_adaptivity

Definition at line 69 of file userInputParameters.h.

◆ integrated_field_indices

std::vector<unsigned int> integrated_field_indices

Definition at line 130 of file userInputParameters.h.

◆ linear_solver_parameters

LinearSolverParameters linear_solver_parameters

Definition at line 92 of file userInputParameters.h.

◆ load_field_name

std::vector<std::string> load_field_name

Definition at line 119 of file userInputParameters.h.

◆ load_file_name

std::vector<std::string> load_file_name

Definition at line 118 of file userInputParameters.h.

◆ load_grain_structure

bool load_grain_structure

Definition at line 161 of file userInputParameters.h.

◆ load_ICs

std::vector<bool> load_ICs

Definition at line 116 of file userInputParameters.h.

◆ load_parallel_file

std::vector<bool> load_parallel_file

Definition at line 117 of file userInputParameters.h.

◆ max_refinement_level

unsigned int max_refinement_level

Definition at line 70 of file userInputParameters.h.

◆ min_distance_between_nuclei

double min_distance_between_nuclei

Definition at line 150 of file userInputParameters.h.

◆ min_radius_for_loading_grains

double min_radius_for_loading_grains

Definition at line 162 of file userInputParameters.h.

◆ min_refinement_level

unsigned int min_refinement_level

Definition at line 71 of file userInputParameters.h.

◆ model_constant_name_map

std::unordered_map<std::string,unsigned int> model_constant_name_map

Definition at line 40 of file userInputParameters.h.

◆ model_constants

std::vector<boost::variant<double, int, bool,dealii::Tensor<1,dim>, dealii::Tensor<2,dim>, dealii::Tensor<2,2*dim-1+dim/3> > > model_constants

Definition at line 143 of file userInputParameters.h.

◆ nonlinear_solver_parameters

NonlinearSolverParameters nonlinear_solver_parameters

Definition at line 95 of file userInputParameters.h.

◆ nucleating_variable_indices

std::vector<unsigned int> nucleating_variable_indices

Definition at line 147 of file userInputParameters.h.

◆ nucleation_need_value

std::vector<unsigned int> nucleation_need_value

Definition at line 148 of file userInputParameters.h.

◆ nucleation_occurs

bool nucleation_occurs

Definition at line 146 of file userInputParameters.h.

◆ nucleation_order_parameter_cutoff

double nucleation_order_parameter_cutoff

Definition at line 151 of file userInputParameters.h.

◆ nucleation_parameters_list

std::vector<nucleationParameters<dim> > nucleation_parameters_list
private

Definition at line 179 of file userInputParameters.h.

◆ nucleation_parameters_list_index

std::map<unsigned int, unsigned int> nucleation_parameters_list_index
private

Definition at line 180 of file userInputParameters.h.

◆ num_grain_smoothing_cycles

unsigned int num_grain_smoothing_cycles

Definition at line 165 of file userInputParameters.h.

◆ num_integrated_fields

unsigned int num_integrated_fields

Definition at line 127 of file userInputParameters.h.

◆ num_var_explicit_RHS

unsigned int num_var_explicit_RHS

Definition at line 107 of file userInputParameters.h.

◆ num_var_LHS

unsigned int num_var_LHS

Definition at line 111 of file userInputParameters.h.

◆ num_var_nonexplicit_RHS

unsigned int num_var_nonexplicit_RHS

Definition at line 107 of file userInputParameters.h.

◆ number_of_variables

unsigned int number_of_variables

Definition at line 98 of file userInputParameters.h.

◆ order_parameter_threshold

double order_parameter_threshold

Definition at line 158 of file userInputParameters.h.

◆ output_file_name

std::string output_file_name

Definition at line 83 of file userInputParameters.h.

◆ output_file_type

std::string output_file_type

Definition at line 81 of file userInputParameters.h.

◆ output_vtu_per_process

bool output_vtu_per_process

Definition at line 82 of file userInputParameters.h.

◆ outputTimeStepList

std::vector<unsigned int> outputTimeStepList

Definition at line 84 of file userInputParameters.h.

◆ postProcessingRequired

bool postProcessingRequired

Definition at line 128 of file userInputParameters.h.

◆ pp_baseVarInfoList

std::vector<variable_info> pp_baseVarInfoList

Definition at line 137 of file userInputParameters.h.

◆ pp_calc_integral

std::vector<bool> pp_calc_integral

Definition at line 129 of file userInputParameters.h.

◆ pp_number_of_variables

unsigned int pp_number_of_variables

Definition at line 126 of file userInputParameters.h.

◆ pp_var_name

std::vector<std::string> pp_var_name

Definition at line 132 of file userInputParameters.h.

◆ pp_var_type

std::vector<fieldType> pp_var_type

Definition at line 133 of file userInputParameters.h.

◆ pp_varInfoList

std::vector<variable_info> pp_varInfoList

Definition at line 136 of file userInputParameters.h.

◆ refine_criterion_fields

std::vector<int> refine_criterion_fields

Definition at line 73 of file userInputParameters.h.

◆ refine_factor

unsigned int refine_factor

Definition at line 65 of file userInputParameters.h.

◆ refine_window_max

std::vector<double> refine_window_max

Definition at line 74 of file userInputParameters.h.

◆ refine_window_min

std::vector<double> refine_window_min

Definition at line 75 of file userInputParameters.h.

◆ resume_from_checkpoint

bool resume_from_checkpoint

Definition at line 122 of file userInputParameters.h.

◆ skip_grain_reassignment_steps

unsigned int skip_grain_reassignment_steps

Definition at line 157 of file userInputParameters.h.

◆ skip_print_steps

unsigned int skip_print_steps

Definition at line 80 of file userInputParameters.h.

◆ skip_remeshing_steps

unsigned int skip_remeshing_steps

Definition at line 77 of file userInputParameters.h.

◆ steps_between_nucleation_attempts

unsigned int steps_between_nucleation_attempts

Definition at line 152 of file userInputParameters.h.

◆ subdivisions

std::vector<unsigned int> subdivisions

Definition at line 64 of file userInputParameters.h.

◆ totalIncrements

unsigned int totalIncrements

Definition at line 89 of file userInputParameters.h.

◆ var_eq_type

std::vector<PDEType> var_eq_type

Definition at line 102 of file userInputParameters.h.

◆ var_name

std::vector<std::string> var_name

Definition at line 100 of file userInputParameters.h.

◆ var_nonlinear

std::vector<bool> var_nonlinear

Definition at line 104 of file userInputParameters.h.

◆ var_type

std::vector<fieldType> var_type

Definition at line 101 of file userInputParameters.h.

◆ varChangeInfoListLHS

std::vector<variable_info> varChangeInfoListLHS

Definition at line 113 of file userInputParameters.h.

◆ variables_for_remapping

std::vector<unsigned int> variables_for_remapping

Definition at line 156 of file userInputParameters.h.

◆ varInfoListExplicitRHS

std::vector<variable_info> varInfoListExplicitRHS

Definition at line 108 of file userInputParameters.h.

◆ varInfoListLHS

std::vector<variable_info> varInfoListLHS

Definition at line 112 of file userInputParameters.h.

◆ varInfoListNonexplicitRHS

std::vector<variable_info> varInfoListNonexplicitRHS

Definition at line 108 of file userInputParameters.h.


The documentation for this class was generated from the following files: