BoundaryType Class Reference

#include <boundary_type.h>

List of all members.

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


Detailed Description

Definition at line 58 of file boundary_type.h.


Constructor & Destructor Documentation

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]

Definition at line 65 of file boundary_type.h.

00065 {};


Member Function Documentation

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:


Member Data Documentation

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]

id of the boundary

Definition at line 173 of file boundary_type.h.

Referenced by GetID().

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().


The documentation for this class was generated from the following file:
Generated on Fri Sep 7 13:13:05 2007 for LibMultiScale by  doxygen 1.5.2