From 306e8ce1dea3988dc110ce9cdc8db0c79a25c17a Mon Sep 17 00:00:00 2001 From: Nicolas Marsic <nicolas.marsic@gmail.com> Date: Mon, 18 Jun 2012 13:30:01 +0000 Subject: [PATCH] New LocalFunctionSpace hierarchy --- FunctionSpace/LocalFunctionSpace0Form.cpp | 16 ++++++++++ FunctionSpace/LocalFunctionSpace0Form.h | 38 +++++++++++++++++++++++ FunctionSpace/LocalFunctionSpace1Form.cpp | 17 ++++++++++ FunctionSpace/LocalFunctionSpace1Form.h | 38 +++++++++++++++++++++++ 4 files changed, 109 insertions(+) create mode 100644 FunctionSpace/LocalFunctionSpace0Form.cpp create mode 100644 FunctionSpace/LocalFunctionSpace0Form.h create mode 100644 FunctionSpace/LocalFunctionSpace1Form.cpp create mode 100644 FunctionSpace/LocalFunctionSpace1Form.h diff --git a/FunctionSpace/LocalFunctionSpace0Form.cpp b/FunctionSpace/LocalFunctionSpace0Form.cpp new file mode 100644 index 0000000000..2751c0bbbd --- /dev/null +++ b/FunctionSpace/LocalFunctionSpace0Form.cpp @@ -0,0 +1,16 @@ +#include "LocalFunctionSpace0Form.h" + + +LocalFunctionSpace0Form::LocalFunctionSpace0Form(const Basis& basis, + const Element& elem){ +} + + +LocalFunctionSpace0Form::~LocalFunctionSpace0Form(void){ +} + + +double LocalFunctionSpace0Form::interpolate(const fullVector<double>& coef, + double x, double y, double z) const{ + +} diff --git a/FunctionSpace/LocalFunctionSpace0Form.h b/FunctionSpace/LocalFunctionSpace0Form.h new file mode 100644 index 0000000000..ade9ad4f48 --- /dev/null +++ b/FunctionSpace/LocalFunctionSpace0Form.h @@ -0,0 +1,38 @@ +#ifndef _LOCALFUNCTIONSPACE0FORM_H_ +#define _LOCALFUNCTIONSPACE0FORM_H_ + +/** + @class LocalFunctionSpace0Form + @brief 0 Form Local Function Spaces + + A Local Function Space build on a @em 0 @em Form + */ + +#include <vector> +#include "Polynomial.h" +#include "Basis.h" +#include "Element.h" +#include "LocalFunctionSpaceScalar.h" + +class LocalFunctionSpace0Form: public LocalFunctionSpaceScalar{ + private: + const std::vector<Polynomial>* basis; + + public: + //! Instantiate a new LocalFunctionSpace0Form + //! @param basis The Basis used to build + //! this Function Space + //! @param elem The Element on which this + //! Function Space is defined + LocalFunctionSpace0Form(const Basis& basis, + const Element& elem); + + //! Deletes this LocalFunctionSpace0Form + //! + virtual ~LocalFunctionSpace0Form(void); + + virtual double interpolate(const fullVector<double>& coef, + double x, double y, double z) const; +}; + +#endif diff --git a/FunctionSpace/LocalFunctionSpace1Form.cpp b/FunctionSpace/LocalFunctionSpace1Form.cpp new file mode 100644 index 0000000000..538e22304c --- /dev/null +++ b/FunctionSpace/LocalFunctionSpace1Form.cpp @@ -0,0 +1,17 @@ +#include "LocalFunctionSpace1Form.h" + + +LocalFunctionSpace1Form::LocalFunctionSpace1Form(const Basis& basis, + const Element& elem){ +} + + +LocalFunctionSpace1Form::~LocalFunctionSpace1Form(void){ +} + + +fullVector<double> LocalFunctionSpace1Form:: +interpolate(const fullVector<double>& coef, + double x, double y, double z) const{ + +} diff --git a/FunctionSpace/LocalFunctionSpace1Form.h b/FunctionSpace/LocalFunctionSpace1Form.h new file mode 100644 index 0000000000..df6a3a388b --- /dev/null +++ b/FunctionSpace/LocalFunctionSpace1Form.h @@ -0,0 +1,38 @@ +#ifndef _LOCALFUNCTIONSPACE1FORM_H_ +#define _LOCALFUNCTIONSPACE1FORM_H_ + +/** + @class LocalFunctionSpace1Form + @brief 1 Form Local Function Spaces + + A Local Function Space build on a @em 1 @em Form. + */ + +#include <vector> +#include "Polynomial.h" +#include "Basis.h" +#include "Element.h" +#include "LocalFunctionSpaceVector.h" + +class LocalFunctionSpace1Form: public LocalFunctionSpaceVector{ + private: + const std::vector<std::vector<Polynomial> >* basis; + + public: + //! Instantiate a new LocalFunctionSpace1Form + //! @param basis The Basis used to build + //! this Function Space + //! @param elem The Element on which this + //! Function Space is defined + LocalFunctionSpace1Form(const Basis& basis, + const Element& elem); + + //! Deletes this LocalFunctionSpace1Form + //! + virtual ~LocalFunctionSpace1Form(void); + + virtual fullVector<double> interpolate(const fullVector<double>& coef, + double x, double y, double z) const; +}; + +#endif -- GitLab