#include <boundary_type.h>
Public Member Functions | |
| void | addRelation (char *str) |
| BoundaryType () | |
| double | dep (int i) |
| double | dep () |
| void | EvalutateExpressions () |
| int & | GetID () |
| int & | GetMask () |
| double & | GetPression () |
| void | SetCurrentPosition (double x, double y=0, double z=0) |
| void | SetCurrentTime (double t) |
| ~BoundaryType () | |
Private Attributes | |
| std::vector< string > | algebraic_conditions |
| algebraic expressions that will be evaluated each step | |
| int | id |
| id of the boundary | |
| int | mask |
| mask that determine which coordinate is set | |
| double | pression |
| pression applied to detected surface | |
Definition at line 58 of file boundary_type.h.
| BoundaryType::BoundaryType | ( | ) | [inline] |
Definition at line 61 of file boundary_type.h.
References SetCurrentPosition(), and SetCurrentTime().
00061 { 00062 SetCurrentTime(0); 00063 SetCurrentPosition(0,0,0); 00064 };
Here is the call graph for this function:

| BoundaryType::~BoundaryType | ( | ) | [inline] |
| void BoundaryType::addRelation | ( | char * | str | ) | [inline] |
Definition at line 67 of file boundary_type.h.
References algebraic_conditions, DBG_INFO_STARTUP, DUMP, EvalutateExpressions(), MathExpParser::getVarValue(), mask, Parser::math_parser, PERIODICX, PERIODICY, PERIODICZ, SET_NORMAL, SET_UX, SET_UY, SET_UZ, and MathExpParser::UnSetVar().
Referenced by MaterialLibMesh< Dim >::ParseLine().
00067 { 00068 if (*str == '\0') return; 00069 algebraic_conditions.push_back(str); 00070 Parser::math_parser.UnSetVar("ux"); 00071 Parser::math_parser.UnSetVar("uy"); 00072 Parser::math_parser.UnSetVar("uz"); 00073 Parser::math_parser.UnSetVar("un"); 00074 Parser::math_parser.UnSetVar("ut"); 00075 Parser::math_parser.UnSetVar("X"); 00076 Parser::math_parser.UnSetVar("Y"); 00077 Parser::math_parser.UnSetVar("Z"); 00078 00079 EvalutateExpressions(); 00080 mask = 0; 00081 00082 if (Parser::math_parser.IsVarSet("ux")) 00083 mask |= SET_UX; 00084 if (Parser::math_parser.IsVarSet("uy")) 00085 mask |= SET_UY; 00086 if (Parser::math_parser.IsVarSet("uz")) 00087 mask |= SET_UZ; 00088 if (Parser::math_parser.IsVarSet("un")) 00089 mask |= SET_NORMAL; 00090 if (Parser::math_parser.IsVarSet("X")){ 00091 double r; 00092 Parser::math_parser.getVarValue("X",r); 00093 if (r == 1) 00094 mask |= PERIODICX; 00095 } 00096 if (Parser::math_parser.IsVarSet("Y")){ 00097 double r; 00098 Parser::math_parser.getVarValue("Y",r); 00099 if (r == 1) 00100 mask |= PERIODICY; 00101 } 00102 if (Parser::math_parser.IsVarSet("Z")){ 00103 double r; 00104 Parser::math_parser.getVarValue("Z",r); 00105 if (r == 1) 00106 mask |= PERIODICZ; 00107 } 00108 DUMP("adding boundary relation : " << str << " mask = " << mask,DBG_INFO_STARTUP); 00109 }
Here is the call graph for this function:

| double BoundaryType::dep | ( | int | i | ) | [inline] |
Definition at line 144 of file boundary_type.h.
References MathExpParser::getVarValue(), and Parser::math_parser.
00144 { 00145 00146 double res = 0; 00147 switch (i){ 00148 case 0: Parser::math_parser.getVarValue("ux",res);break; 00149 case 1: Parser::math_parser.getVarValue("uy",res);break; 00150 case 2: Parser::math_parser.getVarValue("uz",res);break; 00151 } 00152 00153 return res; 00154 };
Here is the call graph for this function:

| double BoundaryType::dep | ( | ) | [inline] |
Definition at line 137 of file boundary_type.h.
References MathExpParser::getVarValue(), and Parser::math_parser.
Referenced by MechaContLibMesh< Dim >::ApplyBoundaryCondidtions().
00137 { 00138 double res; 00139 Parser::math_parser.getVarValue("un",res); 00140 return res; 00141 };
Here is the call graph for this function:

| void BoundaryType::EvalutateExpressions | ( | ) | [inline] |
Definition at line 156 of file boundary_type.h.
References algebraic_conditions, DBG_DETAIL, DUMP, Parser::math_parser, and MathExpParser::parseLine().
Referenced by addRelation(), SetCurrentPosition(), and SetCurrentTime().
00156 { 00157 for (unsigned int k = 0 ; k < algebraic_conditions.size(); ++k){ 00158 DUMP("evaluation of expression " << k << " : " << algebraic_conditions[k],DBG_DETAIL); 00159 Parser::math_parser.parseLine(algebraic_conditions[k]); 00160 } 00161 }
Here is the call graph for this function:

| int& BoundaryType::GetID | ( | ) | [inline] |
Definition at line 120 of file boundary_type.h.
References id.
Referenced by MeshLibMesh< Dim >::createBoundaryConditions(), and MaterialLibMesh< Dim >::ParseLine().
00120 { 00121 return id; 00122 };
| int& BoundaryType::GetMask | ( | ) | [inline] |
Definition at line 111 of file boundary_type.h.
References mask.
Referenced by MeshLibMesh< Dim >::createBoundaryConditions(), and MaterialLibMesh< Dim >::ParseLine().
00111 { 00112 return mask; 00113 };
| double& BoundaryType::GetPression | ( | ) | [inline] |
Definition at line 115 of file boundary_type.h.
References pression.
Referenced by MaterialLibMesh< Dim >::ParseLine().
00115 { 00116 return pression; 00117 };
| void BoundaryType::SetCurrentPosition | ( | double | x, | |
| double | y = 0, |
|||
| double | z = 0 | |||
| ) | [inline] |
Definition at line 129 of file boundary_type.h.
References EvalutateExpressions(), Parser::math_parser, and MathExpParser::setVarValue().
Referenced by MechaContLibMesh< Dim >::ApplyBoundaryCondidtions(), and BoundaryType().
00129 { 00130 Parser::math_parser.setVarValue("x",x); 00131 Parser::math_parser.setVarValue("y",y); 00132 Parser::math_parser.setVarValue("z",z); 00133 00134 EvalutateExpressions(); 00135 };
Here is the call graph for this function:

| void BoundaryType::SetCurrentTime | ( | double | t | ) | [inline] |
Definition at line 124 of file boundary_type.h.
References EvalutateExpressions(), Parser::math_parser, and MathExpParser::setVarValue().
Referenced by MechaContLibMesh< Dim >::ApplyBoundaryCondidtions(), and BoundaryType().
00124 { 00125 Parser::math_parser.setVarValue("t",t); 00126 EvalutateExpressions(); 00127 };
Here is the call graph for this function:

std::vector<string> BoundaryType::algebraic_conditions [private] |
algebraic expressions that will be evaluated each step
Definition at line 166 of file boundary_type.h.
Referenced by addRelation(), and EvalutateExpressions().
int BoundaryType::id [private] |
int BoundaryType::mask [private] |
mask that determine which coordinate is set
Definition at line 171 of file boundary_type.h.
Referenced by addRelation(), and GetMask().
double BoundaryType::pression [private] |
pression applied to detected surface
Definition at line 175 of file boundary_type.h.
Referenced by GetPression().
1.5.2