PRISMS-PF  v2.1
EquationDependencyParser Class Reference

#include <EquationDependencyParser.h>

Public Member Functions

void parse (std::vector< std::string > var_name, std::vector< PDEType > var_eq_type, std::vector< std::string > sorted_dependencies_value_RHS, std::vector< std::string > sorted_dependencies_gradient_RHS, std::vector< std::string > sorted_dependencies_value_LHS, std::vector< std::string > sorted_dependencies_gradient_LHS, std::vector< bool > &var_nonlinear)
 
void pp_parse (std::vector< std::string > var_name, std::vector< std::string > pp_var_name, std::vector< std::string > sorted_dependencies_value, std::vector< std::string > sorted_dependencies_gradient)
 

Public Attributes

std::vector< bool > need_value_explicit_RHS
 
std::vector< bool > need_gradient_explicit_RHS
 
std::vector< bool > need_hessian_explicit_RHS
 
std::vector< bool > need_value_nonexplicit_RHS
 
std::vector< bool > need_gradient_nonexplicit_RHS
 
std::vector< bool > need_hessian_nonexplicit_RHS
 
std::vector< bool > need_value_nonexplicit_LHS
 
std::vector< bool > need_gradient_nonexplicit_LHS
 
std::vector< bool > need_hessian_nonexplicit_LHS
 
std::vector< bool > need_value_change_nonexplicit_LHS
 
std::vector< bool > need_gradient_change_nonexplicit_LHS
 
std::vector< bool > need_hessian_change_nonexplicit_LHS
 
std::vector< bool > need_value_residual_explicit_RHS
 
std::vector< bool > need_gradient_residual_explicit_RHS
 
std::vector< bool > need_value_residual_nonexplicit_RHS
 
std::vector< bool > need_gradient_residual_nonexplicit_RHS
 
std::vector< bool > need_value_residual_nonexplicit_LHS
 
std::vector< bool > need_gradient_residual_nonexplicit_LHS
 
std::vector< bool > pp_need_value
 
std::vector< bool > pp_need_gradient
 
std::vector< bool > pp_need_hessian
 
std::vector< bool > pp_need_value_residual
 
std::vector< bool > pp_need_gradient_residual
 

Protected Member Functions

void parseDependencyListRHS (std::vector< std::string > var_name, std::vector< PDEType > var_eq_type, unsigned int var_index, std::string value_dependencies, std::string gradient_dependencies, std::vector< bool > &need_value, std::vector< bool > &need_gradient, std::vector< bool > &need_hessian, bool &need_value_residual, bool &need_gradient_residual, bool &is_nonlinear)
 
void parseDependencyListLHS (std::vector< std::string > var_name, std::vector< PDEType > var_eq_type, unsigned int var_index, std::string value_dependencies, std::string gradient_dependencies, std::vector< bool > &need_value, std::vector< bool > &need_gradient, std::vector< bool > &need_hessian, std::vector< bool > &need_value_change, std::vector< bool > &need_gradient_change, std::vector< bool > &need_hessian_change, bool &need_value_residual, bool &need_gradient_residual, bool &is_nonlinear)
 
void parseDependencyListPP (std::vector< std::string > var_name, std::string value_dependencies, std::string gradient_dependencies, std::vector< bool > &need_value, std::vector< bool > &need_gradient, std::vector< bool > &need_hessian, bool &need_value_residual, bool &need_gradient_residual)
 

Detailed Description

This is a class to parse the strings the user puts into the variableAttributeLoader to specify which variable values, gradients, hessians, etc are needed for each governing equation.

Definition at line 12 of file EquationDependencyParser.h.

Member Function Documentation

◆ parse()

void parse ( std::vector< std::string >  var_name,
std::vector< PDEType var_eq_type,
std::vector< std::string >  sorted_dependencies_value_RHS,
std::vector< std::string >  sorted_dependencies_gradient_RHS,
std::vector< std::string >  sorted_dependencies_value_LHS,
std::vector< std::string >  sorted_dependencies_gradient_LHS,
std::vector< bool > &  var_nonlinear 
)

Definition at line 5 of file EquationDependencyParser.cc.

◆ parseDependencyListLHS()

void parseDependencyListLHS ( std::vector< std::string >  var_name,
std::vector< PDEType var_eq_type,
unsigned int  var_index,
std::string  value_dependencies,
std::string  gradient_dependencies,
std::vector< bool > &  need_value,
std::vector< bool > &  need_gradient,
std::vector< bool > &  need_hessian,
std::vector< bool > &  need_value_change,
std::vector< bool > &  need_gradient_change,
std::vector< bool > &  need_hessian_change,
bool &  need_value_residual,
bool &  need_gradient_residual,
bool &  is_nonlinear 
)
protected

Method to parse the LHS dependency strings and populate the vectors for whether values, gradients, or hessians are needed.

Definition at line 175 of file EquationDependencyParser.cc.

◆ parseDependencyListPP()

void parseDependencyListPP ( std::vector< std::string >  var_name,
std::string  value_dependencies,
std::string  gradient_dependencies,
std::vector< bool > &  need_value,
std::vector< bool > &  need_gradient,
std::vector< bool > &  need_hessian,
bool &  need_value_residual,
bool &  need_gradient_residual 
)
protected

Method to parse the postprocessing dependency strings and populate the vectors for whether values, gradients, or hessians are needed.

Definition at line 315 of file EquationDependencyParser.cc.

◆ parseDependencyListRHS()

void parseDependencyListRHS ( std::vector< std::string >  var_name,
std::vector< PDEType var_eq_type,
unsigned int  var_index,
std::string  value_dependencies,
std::string  gradient_dependencies,
std::vector< bool > &  need_value,
std::vector< bool > &  need_gradient,
std::vector< bool > &  need_hessian,
bool &  need_value_residual,
bool &  need_gradient_residual,
bool &  is_nonlinear 
)
protected

Method to parse the RHS dependency strings and populate the vectors for whether values, gradients, or hessians are needed.

Definition at line 105 of file EquationDependencyParser.cc.

◆ pp_parse()

void pp_parse ( std::vector< std::string >  var_name,
std::vector< std::string >  pp_var_name,
std::vector< std::string >  sorted_dependencies_value,
std::vector< std::string >  sorted_dependencies_gradient 
)

Definition at line 274 of file EquationDependencyParser.cc.

Member Data Documentation

◆ need_gradient_change_nonexplicit_LHS

std::vector<bool> need_gradient_change_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_gradient_explicit_RHS

std::vector<bool> need_gradient_explicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_gradient_nonexplicit_LHS

std::vector<bool> need_gradient_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_gradient_nonexplicit_RHS

std::vector<bool> need_gradient_nonexplicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_gradient_residual_explicit_RHS

std::vector<bool> need_gradient_residual_explicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_gradient_residual_nonexplicit_LHS

std::vector<bool> need_gradient_residual_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_gradient_residual_nonexplicit_RHS

std::vector<bool> need_gradient_residual_nonexplicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_hessian_change_nonexplicit_LHS

std::vector<bool> need_hessian_change_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_hessian_explicit_RHS

std::vector<bool> need_hessian_explicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_hessian_nonexplicit_LHS

std::vector<bool> need_hessian_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_hessian_nonexplicit_RHS

std::vector<bool> need_hessian_nonexplicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_change_nonexplicit_LHS

std::vector<bool> need_value_change_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_explicit_RHS

std::vector<bool> need_value_explicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_nonexplicit_LHS

std::vector<bool> need_value_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_nonexplicit_RHS

std::vector<bool> need_value_nonexplicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_residual_explicit_RHS

std::vector<bool> need_value_residual_explicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_residual_nonexplicit_LHS

std::vector<bool> need_value_residual_nonexplicit_LHS

Definition at line 31 of file EquationDependencyParser.h.

◆ need_value_residual_nonexplicit_RHS

std::vector<bool> need_value_residual_nonexplicit_RHS

Definition at line 31 of file EquationDependencyParser.h.

◆ pp_need_gradient

std::vector<bool> pp_need_gradient

Definition at line 34 of file EquationDependencyParser.h.

◆ pp_need_gradient_residual

std::vector<bool> pp_need_gradient_residual

Definition at line 34 of file EquationDependencyParser.h.

◆ pp_need_hessian

std::vector<bool> pp_need_hessian

Definition at line 34 of file EquationDependencyParser.h.

◆ pp_need_value

std::vector<bool> pp_need_value

Definition at line 34 of file EquationDependencyParser.h.

◆ pp_need_value_residual

std::vector<bool> pp_need_value_residual

Definition at line 34 of file EquationDependencyParser.h.


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