VariationalOperatorFdxGV Class Reference

#include <VariationalOperatorFdxGV.hpp>

Inheritance diagram for VariationalOperatorFdxGV:

Inheritance graph
[legend]
Collaboration diagram for VariationalOperatorFdxGV:

Collaboration graph
[legend]

List of all members.

Public Types

enum  Type { FV, FdxGV, FdxV, FgradGgradV }
enum  Property { normal, jump, mean }

Public Member Functions

const ScalarFunctionBasef () const
const ScalarFunctionBaseg () const
const size_t & number () const
ReferenceCounting
< VariationalLinearOperator
operator* (const ConstReferenceCounting< ScalarFunctionBase > &c) const
 VariationalOperatorFdxGV (const size_t &testFunctionNumber, const VariationalOperator::Property &testFunctionProperty, ConstReferenceCounting< ScalarFunctionBase > f, ConstReferenceCounting< ScalarFunctionBase > g, const size_t &i)
 VariationalOperatorFdxGV (const VariationalOperatorFdxGV &V)
 ~VariationalOperatorFdxGV ()
const
VariationalLinearOperator::Type
type () const
const size_t & testFunctionNumber () const
const
VariationalOperator::Property
testFunctionProperty () const

Protected Attributes

const VariationalOperator::Property __testFunctionProperty

Private Attributes

ConstReferenceCounting
< ScalarFunctionBase
__f
ConstReferenceCounting
< ScalarFunctionBase
__g
const size_t __i


Detailed Description

Definition at line 35 of file VariationalOperatorFdxGV.hpp.


Member Enumeration Documentation

Enumerator:
FV 
FdxGV 
FdxV 
FgradGgradV 

Definition at line 38 of file VariationalLinearOperator.hpp.

00038             {
00039     FV,
00040     FdxGV,
00041     FdxV,
00042     FgradGgradV
00043   };

Enumerator:
normal 
jump 
mean 

Definition at line 33 of file VariationalOperator.hpp.

00033                 {
00034     normal,
00035     jump,
00036     mean
00037   };


Constructor & Destructor Documentation

VariationalOperatorFdxGV::VariationalOperatorFdxGV ( const size_t &  testFunctionNumber,
const VariationalOperator::Property testFunctionProperty,
ConstReferenceCounting< ScalarFunctionBase f,
ConstReferenceCounting< ScalarFunctionBase g,
const size_t &  i 
) [inline]

Constructor

Parameters:
testFunctionNumber the test function number
testFunctionProperty test function property
f the given $ f $ function
g the given $ g $ function
i the index in $ \int f \partial_{x_i} g $

Definition at line 104 of file VariationalOperatorFdxGV.hpp.

Referenced by operator*().

00109     : VariationalLinearOperator(VariationalLinearOperator::FdxGV,
00110                                 testFunctionNumber, testFunctionProperty),
00111       __f(f),
00112       __g(g),
00113       __i(i)
00114   {
00115     ;
00116   }

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

Copy constructor

Parameters:
V another VariationalOperatorFdxGV

Definition at line 123 of file VariationalOperatorFdxGV.hpp.

00124     : VariationalLinearOperator(V),
00125       __f(V.__f),
00126       __g(V.__g),
00127       __i(V.__i)
00128   {
00129     ;
00130   }

VariationalOperatorFdxGV::~VariationalOperatorFdxGV (  )  [inline]

Destructor

Definition at line 136 of file VariationalOperatorFdxGV.hpp.

00137   {
00138     ;
00139   }


Member Function Documentation

const ScalarFunctionBase& VariationalOperatorFdxGV::f (  )  const [inline]

const ScalarFunctionBase& VariationalOperatorFdxGV::g (  )  const [inline]

const size_t& VariationalOperatorFdxGV::number (  )  const [inline]

ReferenceCounting<VariationalLinearOperator> VariationalOperatorFdxGV::operator* ( const ConstReferenceCounting< ScalarFunctionBase > &  c  )  const [inline, virtual]

"multiplies" the operator by a coefficient $ c $

Parameters:
c the given coefficient
Returns:
$ \int c\,f\partial_{x_i}g\,v $

Implements VariationalLinearOperator.

Definition at line 83 of file VariationalOperatorFdxGV.hpp.

References __f, ScalarFunctionBuilder::getBuiltFunction(), BinaryOperation::product, ScalarFunctionBuilder::setBinaryOperation(), ScalarFunctionBuilder::setFunction(), and VariationalOperatorFdxGV().

00084   {
00085     VariationalOperatorFdxGV* newOperator
00086       = new VariationalOperatorFdxGV(*this);
00087     ScalarFunctionBuilder functionBuilder;
00088     functionBuilder.setFunction(__f);
00089     functionBuilder.setBinaryOperation(BinaryOperation::product,c);
00090 
00091     (*newOperator).__f = functionBuilder.getBuiltFunction();
00092     return newOperator;
00093   }

Here is the call graph for this function:

const VariationalLinearOperator::Type& VariationalLinearOperator::type (  )  const [inline, inherited]

Returns the type of the operator

Returns:
__type

Definition at line 55 of file VariationalLinearOperator.hpp.

References VariationalLinearOperator::__type.

00056   {
00057     return __type;
00058   }

const size_t& VariationalOperator::testFunctionNumber (  )  const [inline, inherited]

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

Returns the test function property

Returns:
__testFunctionProperty

Definition at line 62 of file VariationalOperator.hpp.

References VariationalOperator::__testFunctionProperty.

00063   {
00064     return __testFunctionProperty;
00065   }


Member Data Documentation

the $ f$ function

Definition at line 40 of file VariationalOperatorFdxGV.hpp.

Referenced by f(), and operator*().

the $ g$ function

Definition at line 42 of file VariationalOperatorFdxGV.hpp.

Referenced by g().

const size_t VariationalOperatorFdxGV::__i [private]

The $ i $ in $\partial_{x_i}$

Definition at line 43 of file VariationalOperatorFdxGV.hpp.

Referenced by number().

stores test function properties

Definition at line 44 of file VariationalOperator.hpp.

Referenced by VariationalOperator::testFunctionProperty().


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

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