Skip to content
Snippets Groups Projects
Commit 94e529ac authored by Nicolas Marsic's avatar Nicolas Marsic
Browse files

Doc...

parent bb7efb17
No related branches found
No related tags found
No related merge requests found
...@@ -63,7 +63,7 @@ class Basis{ ...@@ -63,7 +63,7 @@ class Basis{
int getType(void) const; int getType(void) const;
//! @return Returns the @em dimension //! @return Returns the @em dimension
//! (2D or 3D) of the Basis //! (1D, 2D or 3D) of the Basis
int getDim(void) const; int getDim(void) const;
//! @return Returns the number of @em Vertex //! @return Returns the number of @em Vertex
......
...@@ -29,16 +29,30 @@ class BasisScalar: public Basis{ ...@@ -29,16 +29,30 @@ class BasisScalar: public Basis{
//! Deletes this BasisScalar //! Deletes this BasisScalar
//! //!
virtual ~BasisScalar(void); virtual ~BasisScalar(void);
//! @param i A natural number
//! @return Returns the @c i%th @em Vertex Based
//! Basis Function
const Polynomial& const Polynomial&
getNodeFunction(unsigned int i) const; getNodeFunction(unsigned int i) const;
//! @param i A natural number
//! @param closure A natural number
//! @return Returns the @c i%th @em Edge Based
//! Basis Function, with the @c closure%th Closure
const Polynomial& const Polynomial&
getEdgeFunction(unsigned int closure, unsigned int i) const; getEdgeFunction(unsigned int closure, unsigned int i) const;
//! @param i A natural number
//! @param closure A natural number
//! @return Returns the @c i%th @em Face Based
//! Basis Function, with the @c closure%th Closure
const Polynomial& const Polynomial&
getFaceFunction(unsigned int closure, unsigned int i) const; getFaceFunction(unsigned int closure, unsigned int i) const;
//! @param i A natural number
//! @return Returns the @c i%th @em Cell Based
//! Basis Function
const Polynomial& const Polynomial&
getCellFunction(unsigned int i) const; getCellFunction(unsigned int i) const;
......
...@@ -30,15 +30,29 @@ class BasisVector: public Basis{ ...@@ -30,15 +30,29 @@ class BasisVector: public Basis{
//! //!
virtual ~BasisVector(void); virtual ~BasisVector(void);
//! @param i A natural number
//! @return Returns the @c i%th @em Vertex Based
//! Basis Function
const std::vector<Polynomial>& const std::vector<Polynomial>&
getNodeFunction(unsigned int i) const; getNodeFunction(unsigned int i) const;
//! @param i A natural number
//! @param closure A natural number
//! @return Returns the @c i%th @em Edge Based
//! Basis Function, with the @c closure%th Closure
const std::vector<Polynomial>& const std::vector<Polynomial>&
getEdgeFunction(unsigned int closure, unsigned int i) const; getEdgeFunction(unsigned int closure, unsigned int i) const;
//! @param i A natural number
//! @param closure A natural number
//! @return Returns the @c i%th @em Face Based
//! Basis Function, with the @c closure%th Closure
const std::vector<Polynomial>& const std::vector<Polynomial>&
getFaceFunction(unsigned int closure, unsigned int i) const; getFaceFunction(unsigned int closure, unsigned int i) const;
//! @param i A natural number
//! @return Returns the @c i%th @em Cell Based
//! Basis Function
const std::vector<Polynomial>& const std::vector<Polynomial>&
getCellFunction(unsigned int i) const; getCellFunction(unsigned int i) const;
......
...@@ -33,6 +33,9 @@ ...@@ -33,6 +33,9 @@
Those MElement%s @em must belong to the @em same Mesh. Those MElement%s @em must belong to the @em same Mesh.
A FunctionSpace is also responsible for the generation of all
the Dof%s and GroupOfDof%s related to its geometrical @em Support.
@note @note
A FunctionSpace is an @em interface, so it A FunctionSpace is an @em interface, so it
can't be instantiated. can't be instantiated.
...@@ -80,14 +83,14 @@ class FunctionSpace{ ...@@ -80,14 +83,14 @@ class FunctionSpace{
std::vector<Dof> getKeys(const MEdge& edge) const; std::vector<Dof> getKeys(const MEdge& edge) const;
std::vector<Dof> getKeys(const MFace& face) const; std::vector<Dof> getKeys(const MFace& face) const;
unsigned int dofNumber(void) const;
unsigned int groupNumber(void) const;
const std::vector<const Dof*> getAllDofs(void) const; const std::vector<const Dof*> getAllDofs(void) const;
const std::vector<GroupOfDof*>& getAllGroups(void) const; const std::vector<GroupOfDof*>& getAllGroups(void) const;
const GroupOfDof& getGoDFromElement(const MElement& element) const; const GroupOfDof& getGoDFromElement(const MElement& element) const;
unsigned int dofNumber(void) const;
unsigned int groupNumber(void) const;
std::string toString(void) const; std::string toString(void) const;
protected: protected:
...@@ -146,9 +149,9 @@ class FunctionSpace{ ...@@ -146,9 +149,9 @@ class FunctionSpace{
** **
@fn FunctionSpace::isScalar @fn FunctionSpace::isScalar
@return Return @c true if this @return Returns:
FunstionSpace is scalar, and @li @c true, if this FunstionSpace is scalar
@c flase otherwise @li @c flase, otherwise
@see Basis::isScalar() @see Basis::isScalar()
** **
...@@ -196,27 +199,38 @@ class FunctionSpace{ ...@@ -196,27 +199,38 @@ class FunctionSpace{
@return Returns all the Dof%s associated to the given MFace @return Returns all the Dof%s associated to the given MFace
** **
@fn FunctionSpace::toString @fn FunctionSpace::getAllDofs
@return Returns the FunctionSpace string @return Returns all the @em Dof%s associated to every Element%s
of this FunctionSpace @em support
** **
@internal @fn FunctionSpace::getAllGroups
@fn FunctionSpace::build @return Returns all the @em GroupOfDof%s associated to every Element%s
@param goe The GroupOfElement defining the support of this FunctionSpace @em support
of this FunctionSpace **
@param basisType The Type of the Basis to use to build
this FunctionSpace
@param order The order of this FunctionSpace
Initializes a FunctionSpace with the given parameters @fn FunctionSpace::getGoDFromElement
@endinternal @param element An Element of the FunctionSpace Support
@return Returns the @em GroupOfDof%s associated to
the given @em Element
@note
If the given Element is not in the FunctionSpace Support,
an Exception is thrown
**
@fn FunctionSpace::dofNumber
@return Returns the number of Dof%s
given by FunctionSpace::getAllDofs()
** **
@internal @fn FunctionSpace::groupNumber
@fn FunctionSpace::closure @return Returns the number of GroupOfDof%s
given by FunctionSpace::getAllGroups()
**
Compute closure for Basis Functions @fn FunctionSpace::toString
@endinternal @return Returns the FunctionSpace string
**
*/ */
......
...@@ -13,7 +13,9 @@ ...@@ -13,7 +13,9 @@
This is the @em common @em interface of This is the @em common @em interface of
all @em Scalar FunctionSpaces.@n all @em Scalar FunctionSpaces.@n
A FunctionSpaceScalar can be @em interpolated. A FunctionSpaceScalar can be @em interpolated,
and can return a @em Local Basis associated
to an Element of the Support.
@note @note
A ScalarFunctionSpace is an @em interface, so it A ScalarFunctionSpace is an @em interface, so it
...@@ -99,6 +101,13 @@ class FunctionSpaceScalar : public FunctionSpace{ ...@@ -99,6 +101,13 @@ class FunctionSpaceScalar : public FunctionSpace{
@param element A MElement @param element A MElement
@return Returns the basis functions associated @return Returns the basis functions associated
to the given element (with correct @em closure) to the given element (with correct @em closure)
**
@fn FunctionSpaceScalar::getGradLocalFunctions
@param element A MElement
@return Returns the @em gradient
of the basis functions associated
to the given element (with correct @em closure)
*/ */
////////////////////// //////////////////////
......
...@@ -14,7 +14,9 @@ ...@@ -14,7 +14,9 @@
This is the @em common @em interface of This is the @em common @em interface of
all @em Vectorial FunctionSpaces.@n all @em Vectorial FunctionSpaces.@n
A FunctionSpaceVector can be @em interpolated. A FunctionSpaceVector can be @em interpolated,
and can return a @em Local Basis associated
to an Element of the Support.
@note @note
A VectorFunctionSpace is an @em interface, so it A VectorFunctionSpace is an @em interface, so it
...@@ -86,7 +88,7 @@ class FunctionSpaceVector : public FunctionSpace{ ...@@ -86,7 +88,7 @@ class FunctionSpaceVector : public FunctionSpace{
@fn FunctionSpaceVector::interpolateInRefSpace @fn FunctionSpaceVector::interpolateInRefSpace
@param element The MElement to interpolate on @param element The MElement to interpolate on
@param coef The coefficients of the interpolation @param coef The coefficients of the interpolation
@param xyz The coordinate @param uvw The coordinate
(of point @em inside the given @c element) (of point @em inside the given @c element)
of the interpolation in the @em Reference Space of the interpolation in the @em Reference Space
...@@ -106,6 +108,20 @@ class FunctionSpaceVector : public FunctionSpace{ ...@@ -106,6 +108,20 @@ class FunctionSpaceVector : public FunctionSpace{
@param element A MElement @param element A MElement
@return Returns the basis functions associated @return Returns the basis functions associated
to the given element (with correct @em closure) to the given element (with correct @em closure)
**
@fn FunctionSpaceVector::getCurlLocalFunctions
@param element A MElement
@return Returns the @em curl
of the basis functions associated
to the given element (with correct @em closure)
**
@fn FunctionSpaceVector::getDivLocalFunctions
@param element A MElement
@return Returns the @em divergence
of the basis functions associated
to the given element (with correct @em closure)
*/ */
////////////////////// //////////////////////
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
/** /**
@interface LagrangeBasis @interface LagrangeBasis
@brief Interoface for Lagrange Basis @brief Interface for Lagrange Basis
This is an interface for Lagrange Basis.@n This is an interface for Lagrange Basis.@n
...@@ -48,7 +48,7 @@ class LagrangeBasis: public BasisScalar{ ...@@ -48,7 +48,7 @@ class LagrangeBasis: public BasisScalar{
//! to the given Element //! to the given Element
//! @param fSpace The (scalar) Function Space //! @param fSpace The (scalar) Function Space
//! of the given Coefficients //! of the given Coefficients
//! @return Projects the given Coefficients in this LagrangeBasis@n //! @return Projects the given Coefficients in this LagrangeBasis
std::vector<double> project(const MElement& element, std::vector<double> project(const MElement& element,
const std::vector<double>& coef, const std::vector<double>& coef,
const FunctionSpaceScalar& fSpace); const FunctionSpaceScalar& fSpace);
...@@ -58,9 +58,7 @@ class LagrangeBasis: public BasisScalar{ ...@@ -58,9 +58,7 @@ class LagrangeBasis: public BasisScalar{
//! to the given Element //! to the given Element
//! @param fSpace The (vectorial) Function Space //! @param fSpace The (vectorial) Function Space
//! of the given Coefficients //! of the given Coefficients
//! @return Projects the given Coefficients in this LagrangeBasis@n //! @return Projects the given Coefficients in this LagrangeBasis
//! @note Each Coefficients will be projected into a vector
//! with the same dimesion as the vectorial Polynomials
std::vector<fullVector<double> > std::vector<fullVector<double> >
project(const MElement& element, project(const MElement& element,
const std::vector<double>& coef, const std::vector<double>& coef,
......
...@@ -35,7 +35,7 @@ class LagrangeGenerator{ ...@@ -35,7 +35,7 @@ class LagrangeGenerator{
@fn LagrangeGenerator::generate @fn LagrangeGenerator::generate
@param elementType The type of the element, @param elementType The type of the element,
on which the requested LagrangeBasis will be created on which the requested LagrangeBasis will be created
@param order The order or the requested LagrangeBasis @param lagrangeOrder The order or the requested LagrangeBasis
This method will @em instanciate the requested LagrangeBasis This method will @em instanciate the requested LagrangeBasis
......
...@@ -124,11 +124,13 @@ class Polynomial{ ...@@ -124,11 +124,13 @@ class Polynomial{
parameters parameters
@note @note
Note that Monomials are special case of Polynomial%s Note that Monomials are special case of Polynomial%s
**
@fn Polynomial::Polynomial(const Polynomial&) @fn Polynomial::Polynomial(const Polynomial&)
@param other A Polynomial @param other A Polynomial
@return Returns a new Polynomial, which is @return Returns a new Polynomial, which is
the @em copy of the given one the @em copy of the given one
**
@fn Polynomial::Polynomial(void) @fn Polynomial::Polynomial(void)
@return Returns a new Polynomial, which is @return Returns a new Polynomial, which is
...@@ -140,10 +142,12 @@ class Polynomial{ ...@@ -140,10 +142,12 @@ class Polynomial{
the @em zero @em Polynomial.@n the @em zero @em Polynomial.@n
Indeed, the @em zero @em Polynomial has one monomial, Indeed, the @em zero @em Polynomial has one monomial,
@em @c 0. @em @c 0.
**
@fn Polynomial::~Polynomial @fn Polynomial::~Polynomial
@return Deletes this Polynomial @return Deletes this Polynomial
**
@fn Polynomial::derivative @fn Polynomial::derivative
@param dim The dimention to use for the @param dim The dimention to use for the
derivation derivation
...@@ -154,10 +158,24 @@ class Polynomial{ ...@@ -154,10 +158,24 @@ class Polynomial{
@li @c 0 is for the @c x coordinate @li @c 0 is for the @c x coordinate
@li @c 1 is for the @c y coordinate @li @c 1 is for the @c y coordinate
@li @c 2 is for the @c z coordinate @li @c 2 is for the @c z coordinate
**
@fn Polynomial::gradient @fn Polynomial::gradient
@return Returns a Vector with the gradient @return Returns a Vector with the gradient
of this Polynomial of this Polynomial
**
@fn Polynomial::curl
@param p A vector of Polynomial%s
@return Returns the @em curl of the given
vector of Polynomial%s
**
@fn Polynomial::divergence
@param p A vector of Polynomial%s
@return Returns the @em divergence of the given
vector of Polynomial%s
**
@fn double Polynomial::operator()(const double, const double, const double) @fn double Polynomial::operator()(const double, const double, const double)
@param x A value @param x A value
...@@ -165,6 +183,7 @@ class Polynomial{ ...@@ -165,6 +183,7 @@ class Polynomial{
@param z A value @param z A value
@return Returns the @em evaluation of this @return Returns the @em evaluation of this
Polynomial at (@c x, @c y, @c z) Polynomial at (@c x, @c y, @c z)
**
@fn double Polynomial::at(const double, const double, const double) const @fn double Polynomial::at(const double, const double, const double) const
@param x A value @param x A value
...@@ -172,6 +191,7 @@ class Polynomial{ ...@@ -172,6 +191,7 @@ class Polynomial{
@param z A value @param z A value
@return Returns the @em evaluation of this @return Returns the @em evaluation of this
Polynomial at (@c x, @c y, @c z) Polynomial at (@c x, @c y, @c z)
**
@fn fullVector<double> Polynomial::at(const std::vector<Polynomial>&, const double, const double, const double) @fn fullVector<double> Polynomial::at(const std::vector<Polynomial>&, const double, const double, const double)
@param P A vector of Polynomial%s @param P A vector of Polynomial%s
...@@ -180,26 +200,31 @@ class Polynomial{ ...@@ -180,26 +200,31 @@ class Polynomial{
@param z A value @param z A value
@return Returns a fullVector with the @em evaluation of @return Returns a fullVector with the @em evaluation of
the given vector of Polynomial%s at (@c x, @c y, @c z) the given vector of Polynomial%s at (@c x, @c y, @c z)
**
@fn Polynomial Polynomial::operator+(const Polynomial&) const @fn Polynomial Polynomial::operator+(const Polynomial&) const
@param other An other Polynomial @param other An other Polynomial
@return Returns a @em new Polynomial, which is the @return Returns a @em new Polynomial, which is the
@em sum of this Polynomial and the given one @em sum of this Polynomial and the given one
**
@fn Polynomial Polynomial::operator-(const Polynomial&) const @fn Polynomial Polynomial::operator-(const Polynomial&) const
@param other An other Polynomial @param other An other Polynomial
@return Returns a @em new Polynomial, which is the @return Returns a @em new Polynomial, which is the
@em difference of this Polynomial and the given one @em difference of this Polynomial and the given one
**
@fn Polynomial Polynomial::operator*(const Polynomial&) const @fn Polynomial Polynomial::operator*(const Polynomial&) const
@param other An other Polynomial @param other An other Polynomial
@return Returns a @em new Polynomial, which is the @return Returns a @em new Polynomial, which is the
@em product of this Polynomial and the given one @em product of this Polynomial and the given one
**
@fn Polynomial Polynomial::operator*(const double) const @fn Polynomial Polynomial::operator*(const double) const
@param alpha A value @param alpha A value
@return Returns a @em new Polynomial, @return Returns a @em new Polynomial,
which is this Polynomial @em multiplied by @c alpha which is this Polynomial @em multiplied by @c alpha
**
@fn Polynomial::add @fn Polynomial::add
@param other An other Polynomial @param other An other Polynomial
...@@ -208,6 +233,7 @@ class Polynomial{ ...@@ -208,6 +233,7 @@ class Polynomial{
@note @note
The result of this operation is stored in The result of this operation is stored in
this Polynomial this Polynomial
**
@fn Polynomial::sub @fn Polynomial::sub
@param other An other Polynomial @param other An other Polynomial
...@@ -216,6 +242,7 @@ class Polynomial{ ...@@ -216,6 +242,7 @@ class Polynomial{
@note @note
The result of this operation is stored in The result of this operation is stored in
this Polynomial this Polynomial
**
@fn void Polynomial::mul(const Polynomial&) @fn void Polynomial::mul(const Polynomial&)
@param other An other Polynomial @param other An other Polynomial
...@@ -224,6 +251,7 @@ class Polynomial{ ...@@ -224,6 +251,7 @@ class Polynomial{
@note @note
The result of this operation is stored in The result of this operation is stored in
this Polynomial this Polynomial
**
@fn void Polynomial::mul(const double) @fn void Polynomial::mul(const double)
@param alpha A value @param alpha A value
...@@ -232,10 +260,12 @@ class Polynomial{ ...@@ -232,10 +260,12 @@ class Polynomial{
@note @note
The result of this operation is stored in The result of this operation is stored in
this Polynomial this Polynomial
**
@fn Polynomial::power @fn Polynomial::power
@param n A @em natural number @param n A @em natural number
@return Takes this Polynomial to the power @c n @return Takes this Polynomial to the power @c n
**
@fn Polynomial Polynomial::compose(const Polynomial&) const @fn Polynomial Polynomial::compose(const Polynomial&) const
@param other An other Polynomial, @param other An other Polynomial,
...@@ -244,6 +274,7 @@ class Polynomial{ ...@@ -244,6 +274,7 @@ class Polynomial{
Let this Polynomial be @c P(x, @c y, @c z).@n Let this Polynomial be @c P(x, @c y, @c z).@n
This method returns a @em new Polynomial, This method returns a @em new Polynomial,
representing @c P(Q(x, @c y, @c z), @c y, @c z) representing @c P(Q(x, @c y, @c z), @c y, @c z)
**
@fn Polynomial Polynomial::compose(const Polynomial&, const Polynomial&) const @fn Polynomial Polynomial::compose(const Polynomial&, const Polynomial&) const
@param otherA An other Polynomial, @param otherA An other Polynomial,
...@@ -254,11 +285,13 @@ class Polynomial{ ...@@ -254,11 +285,13 @@ class Polynomial{
Let this Polynomial be @c P(x, @c y, @c z).@n Let this Polynomial be @c P(x, @c y, @c z).@n
This method returns a @em new Polynomial, representing This method returns a @em new Polynomial, representing
@c P(Q(x, @c y, @c z), @c R(x, @c y, @c z), @c z) @c P(Q(x, @c y, @c z), @c R(x, @c y, @c z), @c z)
**
@fn void Polynomial::operator=(const Polynomial&) @fn void Polynomial::operator=(const Polynomial&)
@param other A Polynomial @param other A Polynomial
@return Sets this Polynomial to a @em copy @return Sets this Polynomial to a @em copy
of the given one of the given one
**
@fn Polynomial::toString @fn Polynomial::toString
@return Returns a string representing this Polynomial @return Returns a string representing this Polynomial
......
...@@ -19,9 +19,9 @@ ...@@ -19,9 +19,9 @@
class TriLagrangeBasis: public LagrangeBasis{ class TriLagrangeBasis: public LagrangeBasis{
public: public:
//! @param odrer A natural number //! @param order A natural number
//! //!
//! Returns a new for TriLagrangeBasis //! Returns a new TriLagrangeBasis
//! of the given Order //! of the given Order
TriLagrangeBasis(int order); TriLagrangeBasis(int order);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment