Hi,

If you look at the documentation 
https://www.dealii.org/developer/doxygen/deal.II/classFE__Enriched.html#ada373a36db9791fa6e6440987e8ce258
then the constructor takes a pointer to the function, not the function 
itself.
So you need to create your object Enrichment<dim>()
and then pass a pointer to it. Obviously, it has to be alive while the 
class is being used.

Regards,
Denis.


On Thursday, November 17, 2016 at 9:57:34 PM UTC+1, [email protected] 
wrote:
>
> Hi,
>
> I am trying to use FE_enriched but having problems with the constructor.
>
> /* Constructor
>
>  * ************************
>
>  */
>
> template <int dim>
>
> Helmholtz_GFE2<dim>::Helmholtz_GFE2 ():
>
>
>
>   fe_enriched (FE_Q<dim>(1),
>
>                FE_Q<dim>(1),  Enrichment<dim>()),
>
>   dof_handler (triangulation)
>
> {
>
> }
>
>
>
> This is the error :
>
> Helmholtz_GFEM2.cc:193:3: error: no matching constructor for 
> initialization of 'FE_Enriched<2>'
>
> fe_enriched (FE_Q<dim>(1),
>
>
> It seems that  the problem is with the enrichment class 
>
> note: candidate constructor not viable: no known conversion from 
> 'Enrichment<2>' to 'const Function<2> *' for 3rd argument; take the address 
> of the argument with &
>
>   FE_Enriched (const FiniteElement<dim,spacedim> &fe_base,
>
>
> I declared the Enrichment class as inherited from Function class as in 
> several tutorials
>
>
> Enrichment function: constructor, value, gradient
>
> *************************************************
>
> */
>
> template <int dim>
>
> class Enrichment : public Function<dim>
>
> {
>
> public:
>
>
>  Enrichment ( ); //default constructor
>
>  virtual double value (const Point<dim>   &p,
>
>                         const unsigned int  component = 0) const; //value
>
>
>  virtual Tensor<1,dim> gradient (const Point<dim>   &p,
>
>                                     const unsigned int  component = 0) const; 
> //gradient
>
>
>
> private:
>
>   double k; //coefficient variable
>
> };
>
>
> Hope you can give me some hints.
>
>
> Edith
>

-- 
The deal.II project is located at http://www.dealii.org/
For mailing list/forum options, see 
https://groups.google.com/d/forum/dealii?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"deal.II User Group" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to