![]() |
PRISMS-PF Manual v3.0-pre
|
Structure to hold the variable attributes of a field. This includes things like the name, equation type, whether it's nonlinear, and its dependence on other variables. More...
#include <variable_attributes.h>
Public Member Functions | |
void | format_dependencies () |
Combine 'value' and 'gradient' residual dependencies to one dependency set per RHS and LHS. This will populate dependencies_RHS and dependencies_LHS . | |
void | parse_residual_dependencies () |
Take user-defined dependency sets to set the residual flags for each variable. | |
void | parse_dependencies (std::map< unsigned int, variableAttributes > &other_var_attributes) |
Take user-defined dependency sets to set the evaluation flags for each variable. | |
void | determine_field_solve_type (std::map< unsigned int, variableAttributes > &other_var_attributes) |
Using the assigned evaluation flags determine the solve type for this equation. | |
void | print () const |
Print variable attributes to summary.log. | |
Public Attributes | |
std::string | name |
Field name. | |
types::index | field_index = numbers::invalid_index |
Field index. | |
fieldType | field_type = fieldType::UNDEFINED_FIELD |
Field type (SCALAR/VECTOR). | |
PDEType | pde_type = PDEType::UNDEFINED_PDE |
PDE type (EXPLICIT/NONEXPLICIT). | |
bool | is_postprocess = false |
Postprocess variable. | |
fieldSolveType | field_solve_type = fieldSolveType::UNDEFINED_SOLVE |
Internal classification for the field solve type. | |
std::set< std::string > | dependencies_value_RHS |
The user-inputted dependencies for the RHS value term. | |
std::set< std::string > | dependencies_gradient_RHS |
The user-inputted dependencies for the RHS gradient term. | |
std::set< std::string > | dependencies_RHS |
The collection of value and gradient dependencies for the RHS. | |
std::set< std::string > | dependencies_value_LHS |
The user-inputted dependencies for the LHS value term. | |
std::set< std::string > | dependencies_gradient_LHS |
The user-inputted dependencies for the LHS gradient term. | |
std::set< std::string > | dependencies_LHS |
The collection of value and gradient dependencies for the LHS. | |
std::unordered_map< std::pair< unsigned int, dependencyType >, dealii::EvaluationFlags::EvaluationFlags, pairHash > | eval_flag_set_RHS |
A map of evaluation flags for the dependencies of the current variable's RHS. This will tell deal.II whether to evaluate the value, gradient, and/or hessian for the specified field. | |
std::unordered_map< std::pair< unsigned int, dependencyType >, dealii::EvaluationFlags::EvaluationFlags, pairHash > | eval_flag_set_LHS |
A map of evaluation flags for the dependencies of the current variable's LHS. This will tell deal.II whether to evaluate the value, gradient, and/or hessian for the specified field. | |
dealii::EvaluationFlags::EvaluationFlags | eval_flags_residual_RHS |
Evaluation flags for the types of residual the user is expected to submit to on the RHS. | |
dealii::EvaluationFlags::EvaluationFlags | eval_flags_residual_LHS |
Evaluation flags for the types of residual the user is expected to submit to on the LHS. This is empty for EXPLICIT fields. | |
std::map< unsigned int, std::map< dependencyType, fieldType > > | dependency_set_RHS |
A dependency set where the RHS evaluation flags that are not 0 (not nothing) are included. This is used to determine what FEEvaluatiob objects are necessary in variable container. | |
std::map< unsigned int, std::map< dependencyType, fieldType > > | dependency_set_LHS |
A dependency set where the LHS evaluation flags that are not 0 (not nothing) are included. This is used to determine what FEEvaluatiob objects are necessary in variable container. | |
std::set< unsigned int > | simplified_dependency_set |
A simplified set of evaluation flags for the dependencies of the current variable's LHS & RHS. This will help determine the fieldSolveType of the field. Fields indices where the evaluation flags are not 0 (not nothing) are included. Additionally, explicit fields are excluded to speed up the graph search. | |
Structure to hold the variable attributes of a field. This includes things like the name, equation type, whether it's nonlinear, and its dependence on other variables.
std::set<std::string> variableAttributes::dependencies_gradient_LHS |
The user-inputted dependencies for the LHS gradient term.
std::set<std::string> variableAttributes::dependencies_gradient_RHS |
The user-inputted dependencies for the RHS gradient term.
std::set<std::string> variableAttributes::dependencies_LHS |
The collection of value and gradient dependencies for the LHS.
std::set<std::string> variableAttributes::dependencies_RHS |
The collection of value and gradient dependencies for the RHS.
std::set<std::string> variableAttributes::dependencies_value_LHS |
The user-inputted dependencies for the LHS value term.
std::set<std::string> variableAttributes::dependencies_value_RHS |
The user-inputted dependencies for the RHS value term.
std::map<unsigned int, std::map<dependencyType, fieldType> > variableAttributes::dependency_set_LHS |
A dependency set where the LHS evaluation flags that are not 0 (not nothing) are included. This is used to determine what FEEvaluatiob objects are necessary in variable container.
std::map<unsigned int, std::map<dependencyType, fieldType> > variableAttributes::dependency_set_RHS |
A dependency set where the RHS evaluation flags that are not 0 (not nothing) are included. This is used to determine what FEEvaluatiob objects are necessary in variable container.
std::unordered_map<std::pair<unsigned int, dependencyType>, dealii::EvaluationFlags::EvaluationFlags, pairHash> variableAttributes::eval_flag_set_LHS |
A map of evaluation flags for the dependencies of the current variable's LHS. This will tell deal.II whether to evaluate the value, gradient, and/or hessian for the specified field.
std::unordered_map<std::pair<unsigned int, dependencyType>, dealii::EvaluationFlags::EvaluationFlags, pairHash> variableAttributes::eval_flag_set_RHS |
A map of evaluation flags for the dependencies of the current variable's RHS. This will tell deal.II whether to evaluate the value, gradient, and/or hessian for the specified field.
dealii::EvaluationFlags::EvaluationFlags variableAttributes::eval_flags_residual_LHS |
Evaluation flags for the types of residual the user is expected to submit to on the LHS. This is empty for EXPLICIT fields.
dealii::EvaluationFlags::EvaluationFlags variableAttributes::eval_flags_residual_RHS |
Evaluation flags for the types of residual the user is expected to submit to on the RHS.
types::index variableAttributes::field_index = numbers::invalid_index |
Field index.
fieldSolveType variableAttributes::field_solve_type = fieldSolveType::UNDEFINED_SOLVE |
Internal classification for the field solve type.
fieldType variableAttributes::field_type = fieldType::UNDEFINED_FIELD |
Field type (SCALAR/VECTOR).
bool variableAttributes::is_postprocess = false |
Postprocess variable.
std::string variableAttributes::name |
Field name.
PDEType variableAttributes::pde_type = PDEType::UNDEFINED_PDE |
PDE type (EXPLICIT/NONEXPLICIT).
std::set<unsigned int> variableAttributes::simplified_dependency_set |
A simplified set of evaluation flags for the dependencies of the current variable's LHS & RHS. This will help determine the fieldSolveType of the field. Fields indices where the evaluation flags are not 0 (not nothing) are included. Additionally, explicit fields are excluded to speed up the graph search.