Hi Edith,

> On 2 Nov 2017, at 15:46, Edith Sotelo <sotelog.ed...@gmail.com> wrote:
> 
> 
> Hi  Denis,
> Thank you for answering my (odd) questions...
> 
> I think I meant that I do not see how I could pass a point that is calculated 
> during assembly when constructing the enrichments functions. So to pass the 
> point during

what do you **have to** calculate this point during assembly? If it’s just a 
support point of the FE basis or a vertex, surely you can get it prior to 
assembly.
You can also use pointers to a Point<dim> in your custom function and then 
modify the value outside.

> assembly I think I need to get to the enrichment functions that are already 
> in the “enrichments” vector,  and this is a protected  member of the 
> FE_Enriched class … so I was thinking to make it public…  maybe you have a 
> different suggestion...
> 
> I want to do this to try a couple of things..
> 
> * I want to test a function like this : Cos ( z) with  z=sqrt ( (x-xo)^2 + 
> (y-yo)^2), where  (xo, yo) is the point I need to pass..
> 
> * I would like to implement the  kronecker delta property: f(x)-f(xi) where 
> xi is the coordinate of the dof
> 
> 
>  and I was also thinking that I would probably need to work with DG methods. 
> But I can try the 1D test you suggested first to find out the continuity of 
> my functions
> 
> Thank you for your help.
> 
> Edith
> 
> 
>> On Nov 2, 2017, at 1:49 AM, Denis Davydov <davyd...@gmail.com 
>> <mailto:davyd...@gmail.com>> wrote:
>> 
>> 
>> 
>> 2 нояб. 2017 г., в 2:50, Edith Sotelo <esot...@tamu.edu 
>> <mailto:esot...@tamu.edu>> написал(а):
>> 
>>> Hi Denis,
>>> Thank you for your answer but I still need to further understand some 
>>> things :  
>>> * I think I need to pass the point (xo) during assembly since it will 
>>> different for different cells ( dof coordinate or center of the cell), 
>> 
>> Unless you work with discontinuous Galerkin, then you need to be careful 
>> with how you use PUM.
>> 
>> If you take a global view of the shape functions and enrich each of them 
>> with a a given function, it will be extremely tedious to pull of. 
>> 
>> I don’t know what you are trying to do, but I suggest to draw a 1D sketch 
>> with a global view to linear shape-functions and the enriched functions 
>> (shape functions times enrichments), try to number them and see what 
>> constraints you should have on DoFs to make your FE space continuous.
>> 
>>> and I do not see how I can pass the point when declaring the function (ex. 
>>> Enrichment <dim> (param1,param2, etc...) ) to create 
>> 
>> See below
>> 
>>> the  FE_Enriched constructor, maybe I am missing something here.
>>> 
>>> *  The thing is that  during assembly the functions are already 
>>> encapsulated  in the “enrichments” vector and if I even  create a member 
>>> function like Enrichment<dim>::get_point(Point<dim> & ) how do I apply it 
>>> to the functions that are already in the “enrichments” vector ? Maybe I can 
>>> make  the “enrichments” vector  public?...
>> 
>> Writing out of head (there could be typos): 
>> 
>> template <int dim>
>> class MyFavoriteEnrichment : public dealii::Function<dim >
>> {
>> public:
>>    MyFavoriteEnrichment(const Point<dim> &x0);
>> 
>> }
>> 
>> is what u need.
>> Look at implementation of any dealii’s functions.
>> 
>>> 
>>> Thank you for your help
>>> 
>>> Edith
>>> 
>>> 
>>> 
>>>> On Nov 1, 2017, at 5:29 PM, Denis Davydov <davyd...@gmail.com 
>>>> <mailto:davyd...@gmail.com>> wrote:
>>>> 
>>>> Hi Edith,
>>>> 
>>>> f(x-x0) is just your enrichment function derived from dealii::Function. So 
>>>> define a class which takes that extra parameter (or any number of them) 
>>>> and use it with FE_Enriched.
>>>> Assuming that your bilinear form needs gradients, then you would need to 
>>>> implement gradients of your custom function so that FE_Enriched can work 
>>>> out chain rule for you.
>>>> 
>>>> Cheers,
>>>> Denis.
>>>> 
>>>> On Wednesday, November 1, 2017 at 5:27:10 AM UTC+1, Edith Sotelo wrote:
>>>> Hello,
>>>> 
>>>> I would like to implement enrichment functions of this type: f(x-xo) where 
>>>> xo is a user defined point. It could be the center of the cell or the dof 
>>>> coordinate.
>>>> I would like a suggestion about how to implement this, because I do not 
>>>> see how to pass it in the constructor since it is not a static point.I 
>>>> think it has to be  during the assembly step, but FE_values call the 
>>>> enrich function with a single argument (the quadrature point). 
>>>> What sould be a way to do pass the addtional point?
>>>> 
>>>> Thank you for you help.
>>>> 
>>>> 
>>>> -- 
>>>> The deal.II project is located at http://www.dealii.org/ 
>>>> <http://www.dealii.org/>
>>>> For mailing list/forum options, see 
>>>> https://groups.google.com/d/forum/dealii?hl=en 
>>>> <https://groups.google.com/d/forum/dealii?hl=en>
>>>> --- 
>>>> You received this message because you are subscribed to a topic in the 
>>>> Google Groups "deal.II User Group" group.
>>>> To unsubscribe from this topic, visit 
>>>> https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe 
>>>> <https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe>.
>>>> To unsubscribe from this group and all its topics, send an email to 
>>>> dealii+unsubscr...@googlegroups.com 
>>>> <mailto:dealii+unsubscr...@googlegroups.com>.
>>>> For more options, visit https://groups.google.com/d/optout 
>>>> <https://groups.google.com/d/optout>.
>>> 
>>> Edith
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> 
>>> -- 
>>> The deal.II project is located at http://www.dealii.org/ 
>>> <http://www.dealii.org/>
>>> For mailing list/forum options, see 
>>> https://groups.google.com/d/forum/dealii?hl=en 
>>> <https://groups.google.com/d/forum/dealii?hl=en>
>>> --- 
>>> You received this message because you are subscribed to a topic in the 
>>> Google Groups "deal.II User Group" group.
>>> To unsubscribe from this topic, visit 
>>> https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe 
>>> <https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe>.
>>> To unsubscribe from this group and all its topics, send an email to 
>>> dealii+unsubscr...@googlegroups.com 
>>> <mailto:dealii+unsubscr...@googlegroups.com>.
>>> For more options, visit https://groups.google.com/d/optout 
>>> <https://groups.google.com/d/optout>.
>> 
>> -- 
>> The deal.II project is located at http://www.dealii.org/ 
>> <http://www.dealii.org/>
>> For mailing list/forum options, see 
>> https://groups.google.com/d/forum/dealii?hl=en 
>> <https://groups.google.com/d/forum/dealii?hl=en>
>> --- 
>> You received this message because you are subscribed to a topic in the 
>> Google Groups "deal.II User Group" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe 
>> <https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe>.
>> To unsubscribe from this group and all its topics, send an email to 
>> dealii+unsubscr...@googlegroups.com 
>> <mailto:dealii+unsubscr...@googlegroups.com>.
>> For more options, visit https://groups.google.com/d/optout 
>> <https://groups.google.com/d/optout>.
> 
> Edith
> 
> 
> 
> 
> 
> 
> 
> 
> -- 
> The deal.II project is located at http://www.dealii.org/ 
> <http://www.dealii.org/>
> For mailing list/forum options, see 
> https://groups.google.com/d/forum/dealii?hl=en 
> <https://groups.google.com/d/forum/dealii?hl=en>
> --- 
> You received this message because you are subscribed to a topic in the Google 
> Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe 
> <https://groups.google.com/d/topic/dealii/fFbITWIMW5M/unsubscribe>.
> To unsubscribe from this group and all its topics, send an email to 
> dealii+unsubscr...@googlegroups.com 
> <mailto:dealii+unsubscr...@googlegroups.com>.
> For more options, visit https://groups.google.com/d/optout 
> <https://groups.google.com/d/optout>.

-- 
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 dealii+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to