#include <PDEOperatorExpression.hpp>


Definition at line 312 of file PDEOperatorExpression.hpp.
typedef std::multimap<std::string, ReferenceCounting<PDEScalarOperatorExpressionOrderOne> > PDEVectorialOperatorExpressionOrderOne::FirstOrderSum [private] |
Definition at line 320 of file PDEOperatorExpression.hpp.
typedef std::map<std::string, ReferenceCounting<PDEOperator> > PDEVectorialOperatorExpression::PDEOperatorList [inherited] |
Definition at line 116 of file PDEOperatorExpression.hpp.
enum PDEVectorialOperatorExpression::PDEScalarOperatorType [inherited] |
Definition at line 109 of file PDEOperatorExpression.hpp.
00109 { 00110 firstOrder, 00111 secondOrder 00112 };
enum PDEOperatorExpression::PDEOperatorType [inherited] |
enum Expression::Type [inherited] |
Reimplemented in IFStreamExpression, OFStreamExpression, and UnknownExpression.
Definition at line 42 of file Expression.hpp.
00042 { 00043 boolean, 00044 boundary, 00045 boundaryCondition, 00046 boundaryConditionList, 00047 00048 domain, 00049 00050 field, 00051 fieldlist, 00052 function, 00053 00054 ifstreamexpression, 00055 integrated, 00056 integratedOperator, 00057 insideExpression, 00058 insideListExpression, 00059 istreamexpression, 00060 istreamExpressionList, 00061 00062 linearExp, 00063 00064 mesh, 00065 multiLinearExp, 00066 multiLinearExpSum, 00067 multiLinearForm, 00068 multiLinearFormSum, 00069 00070 ofstreamexpression, 00071 option, 00072 ostreamexpression, 00073 ostreamExpressionList, 00074 00075 pdeEquation, 00076 pdeOperator, 00077 pdeOperatorSum, 00078 pdeProblem, 00079 problem, 00080 00081 real, 00082 00083 scene, 00084 solver, 00085 solverOptions, 00086 string, 00087 subOption, 00088 subOptionList, 00089 00090 testFunctionList, 00091 00092 unknown, 00093 unknownList, 00094 00095 variationalFormula, 00096 variationalBilinearOperator, 00097 variationalLinearOperator, 00098 variationalDirichlet, 00099 vector3 00100 };
| PDEVectorialOperatorExpressionOrderOne::PDEVectorialOperatorExpressionOrderOne | ( | ) | [inline] |
Definition at line 410 of file PDEOperatorExpression.hpp.
00411 : PDEVectorialOperatorExpression(PDEVectorialOperatorExpression::firstOrder) 00412 { 00413 ; 00414 }
| PDEVectorialOperatorExpressionOrderOne::~PDEVectorialOperatorExpressionOrderOne | ( | ) | [inline] |
| std::ostream& PDEVectorialOperatorExpressionOrderOne::put | ( | std::ostream & | os | ) | const [inline, protected, virtual] |
Writes *this to the output os.
Implements Expression.
Definition at line 326 of file PDEOperatorExpression.hpp.
00327 { 00328 bool plus = false; 00329 for (FirstOrderSum::const_iterator i = __sum.begin(); 00330 i != __sum.end(); ++i) { 00331 if (plus) 00332 os << '+'; 00333 os << (*(*i).second); 00334 plus = true; 00335 } 00336 00337 for (FirstOrderSum::const_iterator i = __diff.begin(); 00338 i != __diff.end(); ++i) { 00339 os << '-' << (*(*i).second); 00340 } 00341 return os; 00342 }
| void PDEVectorialOperatorExpressionOrderOne::__execute | ( | ) | [inline, protected, virtual] |
Implements PDEOperatorExpression.
Definition at line 344 of file PDEOperatorExpression.hpp.
References ErrorHandler::unexpected.
00345 { 00346 throw ErrorHandler(__FILE__,__LINE__, 00347 "not implemented", 00348 ErrorHandler::unexpected); 00349 }
| bool PDEVectorialOperatorExpressionOrderOne::__checkBoundaryExpression | ( | ) | const [virtual] |
Implements PDEOperatorExpression.
Definition at line 179 of file PDEOperatorExpression.cpp.
Referenced by PDEVectorialOperatorExpressionOrderTwo::__checkBoundaryExpression().
00180 { 00181 for(FirstOrderSum::const_iterator i = __sum.begin(); 00182 i != __sum.end(); ++i) { 00183 if ((*(*i).second).__checkBoundaryExpression()) { 00184 return true; 00185 } 00186 } 00187 for(FirstOrderSum::const_iterator i = __diff.begin(); 00188 i != __diff.end(); ++i) { 00189 if ((*(*i).second).__checkBoundaryExpression()) { 00190 return true; 00191 } 00192 } 00193 return false; 00194 }
| void PDEVectorialOperatorExpressionOrderOne::operator*= | ( | ReferenceCounting< FunctionExpression > | f | ) | [inline] |
Definition at line 354 of file PDEOperatorExpression.hpp.
00355 { 00356 for (FirstOrderSum::iterator i = __sum.begin(); 00357 i != __sum.end(); ++i) { 00358 (*(*i).second) *= f; 00359 } 00360 00361 for (FirstOrderSum::iterator i = __diff.begin(); 00362 i != __diff.end(); ++i) { 00363 (*(*i).second) *= f; 00364 } 00365 }
| void PDEVectorialOperatorExpressionOrderOne::operator+= | ( | ReferenceCounting< PDEScalarOperatorExpressionOrderOne > | pdeOp | ) | [inline] |
Definition at line 367 of file PDEOperatorExpression.hpp.
References __sum.
00368 { 00369 __sum.insert(std::make_pair(pdeOp->unknownName(),pdeOp)); 00370 }
| void PDEVectorialOperatorExpressionOrderOne::operator+= | ( | ReferenceCounting< PDEVectorialOperatorExpressionOrderOne > | pdeVectOp | ) | [inline] |
Definition at line 372 of file PDEOperatorExpression.hpp.
00373 { 00374 for (FirstOrderSum::iterator i = (*pdeVectOp).__sum.begin(); 00375 i != (*pdeVectOp).__sum.end(); ++i) { 00376 __sum.insert(*i); 00377 } 00378 00379 for (FirstOrderSum::iterator i = (*pdeVectOp).__diff.begin(); 00380 i != (*pdeVectOp).__diff.end(); ++i) { 00381 __diff.insert(*i); 00382 } 00383 }
| void PDEVectorialOperatorExpressionOrderOne::operator-= | ( | ReferenceCounting< PDEVectorialOperatorExpressionOrderOne > | pdeVectOp | ) | [inline] |
Definition at line 385 of file PDEOperatorExpression.hpp.
00386 { 00387 for (FirstOrderSum::iterator i = (*pdeVectOp).__sum.begin(); 00388 i != (*pdeVectOp).__sum.end(); ++i) { 00389 __diff.insert(*i); 00390 } 00391 00392 for (FirstOrderSum::iterator i = (*pdeVectOp).__diff.begin(); 00393 i != (*pdeVectOp).__diff.end(); ++i) { 00394 __sum.insert(*i); 00395 } 00396 }
| void PDEVectorialOperatorExpressionOrderOne::preexec | ( | ) | [inline] |
Definition at line 398 of file PDEOperatorExpression.hpp.
Referenced by PDEVectorialOperatorExpressionOrderTwo::__execute().
00399 { 00400 for(FirstOrderSum::iterator i = __sum.begin(); 00401 i != __sum.end(); ++i) { 00402 (*(*i).second).preexec(); 00403 } 00404 for(FirstOrderSum::iterator i = __diff.begin(); 00405 i != __diff.end(); ++i) { 00406 (*(*i).second).preexec(); 00407 } 00408 }
| PDEVectorialOperatorExpression::PDEOperatorList& PDEVectorialOperatorExpression::pdeOperatorList | ( | ) | [inline, inherited] |
Definition at line 126 of file PDEOperatorExpression.hpp.
References PDEVectorialOperatorExpression::__pdeOperatorList.
Referenced by PDEOperatorSumExpression::execute().
00127 { 00128 return __pdeOperatorList; 00129 }
| void PDEOperatorExpression::execute | ( | ) | [virtual, inherited] |
Executes the expression.
Implements Expression.
Definition at line 54 of file PDEOperatorExpression.cpp.
References PDEOperatorExpression::__checkBoundaryExpression(), PDEOperatorExpression::__execute(), ErrorHandler::normal, and stringify().
Referenced by PDEOperatorSumExpression::execute(), and PDEScalarOperatorExpressionOrderOne::preexec().
00055 { 00056 this->__execute(); 00057 if (this->__checkBoundaryExpression()) { 00058 throw ErrorHandler(__FILE__, __LINE__, 00059 "cannot evaluate the expression \"" 00060 +stringify(*this)+ 00061 "\" in the volume", 00062 ErrorHandler::normal); 00063 } 00064 }

| const PDEOperatorType& PDEOperatorExpression::pdeOperatorType | ( | ) | const [inline, inherited] |
Definition at line 58 of file PDEOperatorExpression.hpp.
References PDEOperatorExpression::__pdeOperatorType.
Referenced by PDEOperatorSumExpression::execute().
00059 { 00060 return __pdeOperatorType; 00061 }
| static Expression::Type Expression::getType | ( | ReferenceCounting< Expression > | e1, | |
| ReferenceCounting< Expression > | e2 | |||
| ) | [inline, static, protected, inherited] |
Traits conversion of types.
Definition at line 112 of file Expression.hpp.
References Expression::real.
00114 { 00115 return Expression::real; 00116 }
| virtual std::istream& Expression::_get | ( | std::istream & | is | ) | [inline, protected, virtual, inherited] |
Read *this to the input is.
Reimplemented in IStreamExpressionList, and RealExpressionVariable.
Definition at line 122 of file Expression.hpp.
References ErrorHandler::normal.
00123 { 00124 throw ErrorHandler(__FILE__,__LINE__, 00125 "operator >> is not supported for this expression", 00126 ErrorHandler::normal); 00127 return is; 00128 }
| const Expression::Type& Expression::type | ( | ) | const [inline, inherited] |
return the type.
Reimplemented in FunctionExpression.
Definition at line 132 of file Expression.hpp.
References Expression::__type.
Referenced by MeshExpressionExtract::execute().
00133 { 00134 return __type; 00135 }
friend class PDEVectorialOperatorExpressionOrderTwo [friend] |
Definition at line 315 of file PDEOperatorExpression.hpp.
| std::ostream& operator<< | ( | std::ostream & | os, | |
| const Expression & | e | |||
| ) | [friend, inherited] |
this function allows to output expressions.
Definition at line 143 of file Expression.hpp.
00144 { 00145 return e.put(os); 00146 }
| std::istream& operator>> | ( | std::istream & | is, | |
| Expression & | e | |||
| ) | [friend, inherited] |
this function allows to read expressions from streams
Definition at line 149 of file Expression.hpp.
00150 { 00151 return e._get(is); 00152 }
Definition at line 322 of file PDEOperatorExpression.hpp.
Referenced by __checkBoundaryExpression(), PDEVectorialOperatorExpressionOrderTwo::__execute(), operator*=(), operator+=(), operator-=(), preexec(), and put().
Definition at line 323 of file PDEOperatorExpression.hpp.
Referenced by __checkBoundaryExpression(), PDEVectorialOperatorExpressionOrderTwo::__execute(), operator*=(), operator+=(), operator-=(), preexec(), and put().
PDEOperatorList PDEVectorialOperatorExpression::__pdeOperatorList [protected, inherited] |
Definition at line 119 of file PDEOperatorExpression.hpp.
Referenced by PDEVectorialOperatorExpressionOrderTwo::__execute(), and PDEVectorialOperatorExpression::pdeOperatorList().
1.5.6