VariationalAlphaUVExpression Class Reference

$\alpha u v$ operator More...

#include <VariationalOperatorExpression.hpp>

Inheritance diagram for VariationalAlphaUVExpression:

Inheritance graph
[legend]
Collaboration diagram for VariationalAlphaUVExpression:

Collaboration graph
[legend]

List of all members.

Public Types

enum  OperatorType {
  mugradUgradV, alphaDxUDxV, nuDxUV, nuUdxV,
  alphaUV
}
enum  Type {
  boolean, boundary, boundaryCondition, boundaryConditionList,
  domain, field, fieldlist, function,
  ifstreamexpression, integrated, integratedOperator, insideExpression,
  insideListExpression, istreamexpression, istreamExpressionList, linearExp,
  mesh, multiLinearExp, multiLinearExpSum, multiLinearForm,
  multiLinearFormSum, ofstreamexpression, option, ostreamexpression,
  ostreamExpressionList, pdeEquation, pdeOperator, pdeOperatorSum,
  pdeProblem, problem, real, scene,
  solver, solverOptions, string, subOption,
  subOptionList, testFunctionList, unknown, unknownList,
  variationalFormula, variationalBilinearOperator, variationalLinearOperator, variationalDirichlet,
  vector3
}

Public Member Functions

ReferenceCounting
< FunctionExpression
alpha ()
std::ostream & put (std::ostream &os) const
 VariationalAlphaUVExpression (ReferenceCounting< FunctionExpression > alpha, const std::string &unknownName, const VariationalOperator::Property &unknownProperty, const std::string &testFunctionName, const VariationalOperator::Property &testFunctionProperty, ReferenceCounting< BoundaryExpression > border=0)
 VariationalAlphaUVExpression (const VariationalAlphaUVExpression &V)
 ~VariationalAlphaUVExpression ()
ReferenceCounting
< BoundaryExpression
border () const
void execute ()
OperatorType operatorType ()
const std::string & unknownName () const
const std::string & testFunctionName () const
const
VariationalOperator::Property
unknownProperty () const
const
VariationalOperator::Property
testFunctionProperty () const
const Expression::Typetype () const
 return the type.

Protected Member Functions

std::string __propertyBeginWrite (const VariationalOperator::Property &property) const
std::string __propertyEndWrite (const VariationalOperator::Property &property) const
std::string __unknownTypeBeginWrite () const
std::string __unknownTypeEndWrite () const
std::string __testTypeBeginWrite () const
std::string __testTypeEndWrite () const
char __directionName (const size_t &i) const
virtual std::istream & _get (std::istream &is)
 Read *this to the input is.

Static Protected Member Functions

static Expression::Type getType (ReferenceCounting< Expression > e1, ReferenceCounting< Expression > e2)

Protected Attributes

const std::string __unknownName
const VariationalOperator::Property __unknownProperty
const std::string __testFunctionName
const VariationalOperator::Property __testFunctionProperty

Private Member Functions

bool __hasBoundaryExpression () const
void __executeRemaining ()

Private Attributes

ReferenceCounting
< FunctionExpression
__Alpha

Friends

std::ostream & operator<< (std::ostream &os, const Expression &e)
 this function allows to output expressions.
std::istream & operator>> (std::istream &is, Expression &e)
 this function allows to read expressions from streams


Detailed Description

$\alpha u v$ operator

Author:
Stephane Del Pino
Date:
Tue May 28 16:36:45 2002
$\alpha u v$ operator

Definition at line 1039 of file VariationalOperatorExpression.hpp.


Member Enumeration Documentation

Enumerator:
mugradUgradV  $ \int \mu \nabla u \nabla v $
alphaDxUDxV  $ \int \nabla u A \nabla v $
nuDxUV  $ \int \nu \partial_{x_i} u v $
nuUdxV  $ \int \nu u \partial_{x_i} v $
alphaUV  $ \int \alpha u v $

Definition at line 48 of file VariationalOperatorExpression.hpp.

00048                     {
00049     mugradUgradV,               
00050     alphaDxUDxV,                
00051     nuDxUV,                     
00052     nuUdxV,                     
00053     alphaUV,                    
00054   };

enum Expression::Type [inherited]

Enumerator:
boolean 
boundary 
boundaryCondition 
boundaryConditionList 
domain 
field 
fieldlist 
function 
ifstreamexpression 
integrated 
integratedOperator 
insideExpression 
insideListExpression 
istreamexpression 
istreamExpressionList 
linearExp 
mesh 
multiLinearExp 
multiLinearExpSum 
multiLinearForm 
multiLinearFormSum 
ofstreamexpression 
option 
ostreamexpression 
ostreamExpressionList 
pdeEquation 
pdeOperator 
pdeOperatorSum 
pdeProblem 
problem 
real 
scene 
solver 
solverOptions 
string 
subOption 
subOptionList 
testFunctionList 
unknown 
unknownList 
variationalFormula 
variationalBilinearOperator 
variationalLinearOperator 
variationalDirichlet 
vector3 

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   };


Constructor & Destructor Documentation

VariationalAlphaUVExpression::VariationalAlphaUVExpression ( ReferenceCounting< FunctionExpression alpha,
const std::string &  unknownName,
const VariationalOperator::Property unknownProperty,
const std::string &  testFunctionName,
const VariationalOperator::Property testFunctionProperty,
ReferenceCounting< BoundaryExpression border = 0 
) [inline]

Constructor

Parameters:
alpha $\alpha$, the mass coefficient
unknownName unknown function name
unknownProperty properties of the unknown function
testFunctionName test function name
testFunctionProperty properties of the test function
border the border where to compute the integral if required.

Definition at line 1096 of file VariationalOperatorExpression.hpp.

VariationalAlphaUVExpression::VariationalAlphaUVExpression ( const VariationalAlphaUVExpression V  )  [inline]

Copy Constructor

Parameters:
V 

Definition at line 1119 of file VariationalOperatorExpression.hpp.

01120     : VariationalBilinearOperatorExpression(V),
01121       __Alpha(V.__Alpha)
01122   {
01123     ;
01124   }

VariationalAlphaUVExpression::~VariationalAlphaUVExpression (  )  [inline]

Destructor

Definition at line 1131 of file VariationalOperatorExpression.hpp.

01132   {
01133     ;
01134   }


Member Function Documentation

bool VariationalAlphaUVExpression::__hasBoundaryExpression (  )  const [inline, private, virtual]

Implements VariationalBilinearOperatorExpression.

Definition at line 1045 of file VariationalOperatorExpression.hpp.

01046   {
01047     return (*__Alpha).hasBoundaryExpression();
01048   }

void VariationalAlphaUVExpression::__executeRemaining (  )  [inline, private, virtual]

VariationalBilinearOperatorExpression::__executeRemaining() overloading

Implements VariationalBilinearOperatorExpression.

Definition at line 1054 of file VariationalOperatorExpression.hpp.

01055   {
01056     (*__Alpha).execute();
01057   }

ReferenceCounting<FunctionExpression> VariationalAlphaUVExpression::alpha (  )  [inline]

std::ostream& VariationalAlphaUVExpression::put ( std::ostream &  os  )  const [inline, virtual]

std::string VariationalBilinearOperatorExpression::__propertyBeginWrite ( const VariationalOperator::Property property  )  const [inline, protected, inherited]

Definition at line 83 of file VariationalOperatorExpression.hpp.

References VariationalOperator::jump, and VariationalOperator::mean.

Referenced by VariationalBilinearOperatorExpression::__testTypeBeginWrite(), and VariationalBilinearOperatorExpression::__unknownTypeBeginWrite().

00084   {
00085     switch(property) {
00086     case VariationalOperator::mean: {
00087       return "{";
00088       break;
00089     }
00090     case VariationalOperator::jump: {
00091       return "[";
00092       break;
00093     }
00094     default: {
00095       return "";
00096     }
00097     }
00098   }

std::string VariationalBilinearOperatorExpression::__propertyEndWrite ( const VariationalOperator::Property property  )  const [inline, protected, inherited]

Definition at line 100 of file VariationalOperatorExpression.hpp.

References VariationalOperator::jump, and VariationalOperator::mean.

Referenced by VariationalBilinearOperatorExpression::__testTypeEndWrite(), and VariationalBilinearOperatorExpression::__unknownTypeEndWrite().

00101   {
00102     switch(property) {
00103     case VariationalOperator::mean: {
00104       return "}";
00105       break;
00106     }
00107     case VariationalOperator::jump: {
00108       return "]";
00109       break;
00110     }
00111     default: {
00112       return "";
00113     }
00114     }
00115   }

std::string VariationalBilinearOperatorExpression::__unknownTypeBeginWrite (  )  const [inline, protected, inherited]

std::string VariationalBilinearOperatorExpression::__unknownTypeEndWrite (  )  const [inline, protected, inherited]

std::string VariationalBilinearOperatorExpression::__testTypeBeginWrite (  )  const [inline, protected, inherited]

std::string VariationalBilinearOperatorExpression::__testTypeEndWrite (  )  const [inline, protected, inherited]

char VariationalBilinearOperatorExpression::__directionName ( const size_t &  i  )  const [inline, protected, inherited]

Definition at line 137 of file VariationalOperatorExpression.hpp.

References ErrorHandler::unexpected.

Referenced by VariationalNuDxUVExpression::put(), VariationalNuUdxVExpression::put(), and VariationalAlphaDxUDxVExpression::put().

00138   {
00139     switch(i) {
00140     case 0: return 'x';
00141     case 1: return 'y';
00142     case 2: return 'z';
00143     default: {
00144       throw ErrorHandler(__FILE__,__LINE__,": unknown direction",
00145                          ErrorHandler::unexpected);
00146       return '0';
00147     }
00148     }
00149   }

ReferenceCounting<BoundaryExpression> VariationalBilinearOperatorExpression::border (  )  const [inline, inherited]

Returns the border Expression

Returns:
__border

Definition at line 171 of file VariationalOperatorExpression.hpp.

References VariationalBilinearOperatorExpression::__border.

Referenced by VariationalProblemExpression::__internalSetBilinearBC().

00172   {
00173     return __border;
00174   }

void VariationalBilinearOperatorExpression::execute (  )  [inline, virtual, inherited]

Expression::execute() overloading

Implements Expression.

Definition at line 180 of file VariationalOperatorExpression.hpp.

References VariationalBilinearOperatorExpression::__border, VariationalBilinearOperatorExpression::__checkNoBoundaryExpression(), and VariationalBilinearOperatorExpression::__executeRemaining().

00181   {
00182     if(__border != 0) {
00183       (*__border).execute();
00184     }
00185     __executeRemaining();
00186     if(__border == 0) {
00187       __checkNoBoundaryExpression();
00188     }
00189   }

Here is the call graph for this function:

OperatorType VariationalBilinearOperatorExpression::operatorType (  )  [inline, inherited]

Access to the operator type

Returns:
__operatorType

Definition at line 196 of file VariationalOperatorExpression.hpp.

00197   {
00198     return __operatorType;
00199   }

const std::string& VariationalBilinearOperatorExpression::unknownName (  )  const [inline, inherited]

const std::string& VariationalBilinearOperatorExpression::testFunctionName (  )  const [inline, inherited]

Access to the test function

Returns:
__testFunctionName

Definition at line 218 of file VariationalOperatorExpression.hpp.

References VariationalBilinearOperatorExpression::__testFunctionName.

Referenced by VariationalProblemExpression::__internalSetBilinear(), and VariationalProblemExpression::__internalSetBilinearBC().

00219   {
00220     return __testFunctionName;
00221   }

const VariationalOperator::Property& VariationalBilinearOperatorExpression::unknownProperty (  )  const [inline, inherited]

Gets unknown property

Returns:
__unknownProperty

Definition at line 228 of file VariationalOperatorExpression.hpp.

References VariationalBilinearOperatorExpression::__unknownProperty.

Referenced by VariationalProblemExpression::__internalSetBilinear().

00229   {
00230     return __unknownProperty;
00231   }

const VariationalOperator::Property& VariationalBilinearOperatorExpression::testFunctionProperty (  )  const [inline, inherited]

Gets test function property

Returns:
__testFunctionProperty

Definition at line 238 of file VariationalOperatorExpression.hpp.

References VariationalBilinearOperatorExpression::__testFunctionProperty.

Referenced by VariationalProblemExpression::__internalSetBilinear().

00239   {
00240     return __testFunctionProperty;
00241   }

static Expression::Type Expression::getType ( ReferenceCounting< Expression e1,
ReferenceCounting< Expression e2 
) [inline, static, protected, inherited]

Traits conversion of types.

Todo:
IMPLEMENT IT.

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   }


Friends And Related Function Documentation

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   }


Member Data Documentation

mass term $\alpha$

Definition at line 1043 of file VariationalOperatorExpression.hpp.

Referenced by alpha(), and put().

const std::string VariationalBilinearOperatorExpression::__unknownName [protected, inherited]

const std::string VariationalBilinearOperatorExpression::__testFunctionName [protected, inherited]


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

Generated on Wed Nov 19 00:16:55 2008 for FreeFEM3D (aka ff3d) by  doxygen 1.5.6