Problem Class Reference

#include <Problem.hpp>

Inheritance diagram for Problem:

Inheritance graph
[legend]
Collaboration diagram for Problem:

Collaboration graph
[legend]

List of all members.

Public Types

enum  Type { pde, variational }

Public Member Functions

void setDomain (ReferenceCounting< Domain > omega)
const Problem::Typetype () const
std::string typeName () const
ConstReferenceCounting< Domaindomain () const
virtual size_t numberOfUnknown () const =0
virtual ReferenceCounting
< Problem
operator* (const ConstReferenceCounting< ScalarFunctionBase > &c) const =0
virtual const
BoundaryConditionSet
boundaryConditionSet (const size_t &i) const =0
 Problem (const Problem::Type &t, ConstReferenceCounting< Domain > omega)
 Problem (const Problem &P)
virtual ~Problem ()

Private Attributes

ConstReferenceCounting< Domain__omega
const Problem::Type __type


Detailed Description

Definition at line 37 of file Problem.hpp.


Member Enumeration Documentation

Enumerator:
pde 
variational 

Definition at line 40 of file Problem.hpp.

00040             {
00041     pde,
00042     variational
00043   };


Constructor & Destructor Documentation

Problem::Problem ( const Problem::Type t,
ConstReferenceCounting< Domain omega 
) [inline]

Constructor

Parameters:
t the type of the problem
omega a pointer to the domain where the problem is posed

Definition at line 136 of file Problem.hpp.

00138     : __omega(omega),
00139       __type(t)
00140   {
00141     ;
00142   }

Problem::Problem ( const Problem P  )  [inline]

Copy constructor

Parameters:
P the copied problem

Definition at line 149 of file Problem.hpp.

00150     : __omega(P.__omega),
00151       __type(P.__type)
00152   {
00153     ;
00154   }

virtual Problem::~Problem (  )  [inline, virtual]

The destructor

Definition at line 160 of file Problem.hpp.

00161   {
00162     ;
00163   }


Member Function Documentation

void Problem::setDomain ( ReferenceCounting< Domain omega  )  [inline]

Sets the domain of computation

Parameters:
omega $\Omega$

Definition at line 58 of file Problem.hpp.

References __omega.

00059   {
00060     __omega = omega;
00061   }

const Problem::Type& Problem::type (  )  const [inline]

std::string Problem::typeName (  )  const [inline]

Definition at line 74 of file Problem.hpp.

References __type, pde, ErrorHandler::unexpected, and variational.

00075   {
00076     switch(__type) {
00077     case pde: {
00078       return "PDE";
00079     }
00080     case variational: {
00081       return "Variational";
00082     }
00083     default: {
00084       throw ErrorHandler(__FILE__,__LINE__,
00085                          "Unknown problem type name",
00086                          ErrorHandler::unexpected);
00087     }
00088     }
00089     return "";
00090   }

ConstReferenceCounting<Domain> Problem::domain (  )  const [inline]

Access to the domain of computation

Returns:
__omega

Definition at line 98 of file Problem.hpp.

References __omega.

00099   {
00100     return __omega;
00101   }

virtual size_t Problem::numberOfUnknown (  )  const [pure virtual]

Access to the number of unknown

Returns:
number of unknown

Implemented in PDESystem, and VariationalProblem.

Referenced by SpectralLegendreDiscretizer::assembleSecondMember(), FEMDiscretization< GivenMeshType, TypeOfDiscretization >::assembleSecondMember(), BoundaryConditionDiscretizationSpectralConform::BoundaryConditionDiscretizationSpectralConform(), BoundaryConditionDiscretizationSpectralNonConform::BoundaryConditionDiscretizationSpectralNonConform(), BoundaryConditionSurfaceMeshAssociation::BoundaryConditionSurfaceMeshAssociation(), DiscretizedOperators< FiniteElement::ElementaryMatrix >::DiscretizedOperators(), SpectralLegendreDiscretizer::getDiagonal(), BoundaryConditionDiscretizationSpectralConform::getDiagonal(), BoundaryConditionDiscretizationPenalty< MeshType, TypeOfDiscretization >::getDiagonal(), SpectralLegendreDiscretizer::getMultiDiagonal(), BoundaryConditionDiscretizationPenalty< MeshType, TypeOfDiscretization >::setMatrix(), BoundaryConditionDiscretizationSpectralConform::setSecondMember(), BoundaryConditionDiscretizationPenalty< MeshType, TypeOfDiscretization >::setSecondMember(), SpectralLegendreDiscretizer::SpectralLegendreDiscretizer(), SpectralLegendreDiscretizer::timesX(), BoundaryConditionDiscretizationSpectralConform::timesX(), BoundaryConditionDiscretizationPenalty< MeshType, TypeOfDiscretization >::timesX(), SpectralLegendreDiscretizer::transposedTimesX(), BoundaryConditionDiscretizationSpectralConform::transposedTimesX(), and BoundaryConditionDiscretizationPenalty< MeshType, TypeOfDiscretization >::transposedTimesX().

virtual ReferenceCounting<Problem> Problem::operator* ( const ConstReferenceCounting< ScalarFunctionBase > &  c  )  const [pure virtual]

"multiplies" the problem definition by a function

Parameters:
c the given coefficient
Returns:
the now modified problem

Implemented in PDESystem, and VariationalProblem.

virtual const BoundaryConditionSet& Problem::boundaryConditionSet ( const size_t &  i  )  const [pure virtual]

Access to the boundary condition set associated to the ith unknown

Parameters:
i ith unknown number
Returns:
boundary condition set associated to the ith unknown

Implemented in PDESystem, and VariationalProblem.

Referenced by BoundaryConditionSurfaceMeshAssociation::BoundaryConditionSurfaceMeshAssociation(), and BoundaryMeshAssociation::BoundaryMeshAssociation().


Member Data Documentation

$\Omega$ domain of computation

Definition at line 47 of file Problem.hpp.

Referenced by domain(), and setDomain().

const Problem::Type Problem::__type [private]

type of the problem

Definition at line 50 of file Problem.hpp.

Referenced by type(), and typeName().


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

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