Re: [deal.II] point_value, Real parts, step-29

2021-09-09 Thread Hermes Sampedro
Thank you for your answer, I could make it work.

Regards,
Hermes

El mar, 7 sept 2021 a las 4:28, Wolfgang Bangerth ()
escribió:

> On 9/6/21 3:27 AM, Hermes Sampedro wrote:
> > Thank you very much. I have been trying and I only get the real part of
> the
> > solution and it seems not to be right so far. Would be possible to make
> it
> > work for complex numbers?
>
> Hermes,
> do you think you could come up with a small, self-contained program that
> illustrates what isn't working? It's often not very difficult to debug
> once
> one has a small testcase, but it's often very difficult to come up with a
> testcase without access to the original program that someone says isn't
> working.
>
> Best
>   W.
>
> --
> 
> Wolfgang Bangerth  email: bange...@colostate.edu
> www: http://www.math.colostate.edu/~bangerth/
>
> --
> 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 a topic in the
> Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/dealii/Ru1_uMbix30/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/9f61547f-7058-08e8-7511-81240ba06b31%40colostate.edu
> .
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAB%3DnHhb5GA4dfY5scftaLeddNTqVdfoFesdP5Ah59F%3DnejUkBQ%40mail.gmail.com.


Re: [deal.II] point_value, Real parts, step-29

2021-09-06 Thread Wolfgang Bangerth

On 9/6/21 3:27 AM, Hermes Sampedro wrote:
Thank you very much. I have been trying and I only get the real part of the 
solution and it seems not to be right so far. Would be possible to make it 
work for complex numbers?


Hermes,
do you think you could come up with a small, self-contained program that 
illustrates what isn't working? It's often not very difficult to debug once 
one has a small testcase, but it's often very difficult to come up with a 
testcase without access to the original program that someone says isn't working.


Best
 W.

--

Wolfgang Bangerth  email: bange...@colostate.edu
   www: http://www.math.colostate.edu/~bangerth/

--
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/9f61547f-7058-08e8-7511-81240ba06b31%40colostate.edu.


Re: [deal.II] point_value, Real parts, step-29

2021-09-06 Thread Hermes Sampedro
Thank you very much. I have been trying and I only get the real part of the
solution and it seems not to be right so far. Would be possible to make it
work for complex numbers?

Thank you
H.

El vie, 27 ago 2021 a las 9:33, 'peterrum' via deal.II User Group (<
dealii@googlegroups.com>) escribió:

> Hi Hermes,
>
> I have extended the documentation a bit. See
> https://github.com/dealii/dealii/pull/12714.
>
> Maybe you could give us a short feedback if `VectorTools::point_values()`
> is working for complex numbers. If this is not the case, we can extend the
> function for this use case.
>
> PM
>
> On Tuesday, 24 August 2021 at 15:39:49 UTC+2 peterrum wrote:
>
>> You need to pass a vector of points.
>>
>> PM
>>
>> On Tuesday, 24 August 2021 at 15:26:05 UTC+2 hermes...@gmail.com wrote:
>>
>>> Thank you.
>>>
>>> Doing something similar:
>>>
>>>   *const* MappingQ1 mapping;
>>>
>>>   Utilities::MPI::RemotePointEvaluation evaluation_cache;
>>>
>>>   VectorTools::point_values(mapping, dof_handler,
>>> locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);
>>>
>>>
>>> I get the following error:
>>>
>>>  error: no matching function for call to 'point_values'
>>>
>>>   VectorTools::point_values(mapping, dof_handler,
>>> locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);
>>>
>>>
>>>
>>> I checked the parameters and seems to be ok. What can be producing the
>>> error?
>>>
>>> Thank you again
>>>
>>> H
>>>
>>> El mar, 24 ago 2021 a las 14:59, 'peterrum' via deal.II User Group (<
>>> dea...@googlegroups.com>) escribió:
>>>
 Hi Hermes,

 You don't need to do anything regarding the setup (it is done within
 the function). Just take at a look at:
 https://github.com/dealii/dealii/blob/44b6aadb35aca2333e4bfb6c9ce29c613f4dc9e9/tests/remote_point_evaluation/vector_tools_evaluate_at_points_01.cc#L214-L216

 I'll extend the documentation with an example today or tomorrow!

 Hope that helps,
 PM

 On Tuesday, 24 August 2021 at 14:46:46 UTC+2 hermes...@gmail.com wrote:

> Thank you for pointing that function.
>
> I am having some problems when creating the mapping and I am not sure
> if the function call is right. Could you please help me with that?
>
>   std::vector<*double*> pointSol;
>
>   Mapping mapping;
>
>
>
>   dealii::Utilities::MPI::RemotePointEvaluation remotePoint;
>
>   remotePoint.reinit();
>
>   pointSol = VectorTools::point_values(mapping,
> dof_handler,locally_relevant_solution,Point<2>(0.2, 0.2),remotePoint);
>
>
>
> Thank you
>
> H
>
>
>
> El mar, 24 ago 2021 a las 14:12, Martin Kronbichler (<
> kronbichl...@gmail.com>) escribió:
>
>> Dear Hermes,
>>
>> Did you try VectorTools::point_values,
>> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde
>> ?
>>
>> As an alternative, you can also check if the point is in the locally
>> owned cell of the respective cell, and run the evaluation only on that 
>> MPI
>> rank. You can then use an MPI collective, like MPI_Bcast or deal.II's
>> version Utilities::MPI::broadcast, to get the solution to all MPI ranks
>> (typically with another collective to make all ranks agree on who sends 
>> the
>> information).
>>
>> Best,
>> Martin
>>
>> This is a variant that allows the evaluation even on remote processes.
>> On 24.08.21 14:05, Hermes Sampedro wrote:
>>
>> Dear all,
>>
>> I am trying to extend my implementation with parallel computing. I
>> would like to get the solution in a single point when having a 
>> distributed
>> system. For example, in step-40 I have the
>> *locally_relevant_solution* at the output_result(...) function.
>> In a non distributed implementation I used:
>>
>>   Vector<*double*> vecSol (fe.n_components());
>>
>>   VectorTools::point_value(dof_handler, solution,Point<2>(0.2,
>> 0.2),vecSol);
>>
>>
>> What is the easiest way to do that? Is it possible to check if the
>> point is inside the *locally_relevant_solution? *Or would be more
>> appropriate to create a copy of the solution in a global vector and get 
>> the
>> point from there?
>>
>>
>> Thank you
>>
>> H
>>
>> El mié, 11 ago 2021 a las 10:12, Hermes Sampedro (<
>> hermes...@gmail.com>) escribió:
>>
>>> Thank you very much, I could make it work.
>>>
>>> Regards,
>>> Hermes
>>>
>>> El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret (<
>>> jppel...@gmail.com>) escribió:
>>>
 Another thing: You probably also need to initialise with the right
 number of components. So something like
 Vector vecSol (fe.n_components());


 On 10. Aug 2021, 

Re: [deal.II] point_value, Real parts, step-29

2021-08-27 Thread 'peterrum' via deal.II User Group
Hi Hermes,

I have extended the documentation a bit. 
See https://github.com/dealii/dealii/pull/12714.

Maybe you could give us a short feedback if `VectorTools::point_values()` 
is working for complex numbers. If this is not the case, we can extend the 
function for this use case.

PM

On Tuesday, 24 August 2021 at 15:39:49 UTC+2 peterrum wrote:

> You need to pass a vector of points.
>
> PM
>
> On Tuesday, 24 August 2021 at 15:26:05 UTC+2 hermes...@gmail.com wrote:
>
>> Thank you.
>>
>> Doing something similar:
>>
>>   *const* MappingQ1 mapping;
>>
>>   Utilities::MPI::RemotePointEvaluation evaluation_cache;
>>
>>   VectorTools::point_values(mapping, dof_handler, 
>> locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);
>>
>>
>> I get the following error:
>>
>>  error: no matching function for call to 'point_values'
>>
>>   VectorTools::point_values(mapping, dof_handler, 
>> locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);
>>
>>
>>
>> I checked the parameters and seems to be ok. What can be producing the 
>> error?
>>
>> Thank you again
>>
>> H  
>>
>> El mar, 24 ago 2021 a las 14:59, 'peterrum' via deal.II User Group (<
>> dea...@googlegroups.com>) escribió:
>>
>>> Hi Hermes,
>>>
>>> You don't need to do anything regarding the setup (it is done within the 
>>> function). Just take at a look at: 
>>> https://github.com/dealii/dealii/blob/44b6aadb35aca2333e4bfb6c9ce29c613f4dc9e9/tests/remote_point_evaluation/vector_tools_evaluate_at_points_01.cc#L214-L216
>>>
>>> I'll extend the documentation with an example today or tomorrow!
>>>
>>> Hope that helps,
>>> PM
>>>
>>> On Tuesday, 24 August 2021 at 14:46:46 UTC+2 hermes...@gmail.com wrote:
>>>
 Thank you for pointing that function.

 I am having some problems when creating the mapping and I am not sure 
 if the function call is right. Could you please help me with that? 

   std::vector<*double*> pointSol;

   Mapping mapping;

   

   dealii::Utilities::MPI::RemotePointEvaluation remotePoint;

   remotePoint.reinit();

   pointSol = VectorTools::point_values(mapping, 
 dof_handler,locally_relevant_solution,Point<2>(0.2, 0.2),remotePoint);



 Thank you

 H

   

 El mar, 24 ago 2021 a las 14:12, Martin Kronbichler (<
 kronbichl...@gmail.com>) escribió:

> Dear Hermes,
>
> Did you try VectorTools::point_values, 
> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde
>  
> ?
>
> As an alternative, you can also check if the point is in the locally 
> owned cell of the respective cell, and run the evaluation only on that 
> MPI 
> rank. You can then use an MPI collective, like MPI_Bcast or deal.II's 
> version Utilities::MPI::broadcast, to get the solution to all MPI ranks 
> (typically with another collective to make all ranks agree on who sends 
> the 
> information).
>
> Best,
> Martin
>
> This is a variant that allows the evaluation even on remote processes.
> On 24.08.21 14:05, Hermes Sampedro wrote:
>
> Dear all,  
>
> I am trying to extend my implementation with parallel computing. I 
> would like to get the solution in a single point when having a 
> distributed 
> system. For example, in step-40 I have the *locally_relevant_solution* at 
> the output_result(...) function.
> In a non distributed implementation I used:
>
>   Vector<*double*> vecSol (fe.n_components());
>
>   VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 
> 0.2),vecSol);
>
>
> What is the easiest way to do that? Is it possible to check if the 
> point is inside the *locally_relevant_solution? *Or would be more 
> appropriate to create a copy of the solution in a global vector and get 
> the 
> point from there?
>
>
> Thank you
>
> H
>
> El mié, 11 ago 2021 a las 10:12, Hermes Sampedro () 
> escribió:
>
>> Thank you very much, I could make it work. 
>>
>> Regards, 
>> Hermes
>>
>> El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret (<
>> jppel...@gmail.com>) escribió:
>>
>>> Another thing: You probably also need to initialise with the right 
>>> number of components. So something like 
>>> Vector vecSol (fe.n_components());
>>>
>>>
>>> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret  
>>> wrote:
>>>
>>> Hi Hermes, 
>>>
>>> You don’t say what errors you’re seeing, but my guess is that it now 
>>> doesn’t compile. This variant of the function (the one that Daniel 
>>> linked 
>>> to) returns void, so you should call it before outputting the result:
>>>
>>> Vector vecSol;
>>> VectorTools::point_value(dof_handler, 
>>> 

Re: [deal.II] point_value, Real parts, step-29

2021-08-24 Thread 'peterrum' via deal.II User Group
You need to pass a vector of points.

PM

On Tuesday, 24 August 2021 at 15:26:05 UTC+2 hermes...@gmail.com wrote:

> Thank you.
>
> Doing something similar:
>
>   *const* MappingQ1 mapping;
>
>   Utilities::MPI::RemotePointEvaluation evaluation_cache;
>
>   VectorTools::point_values(mapping, dof_handler, 
> locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);
>
>
> I get the following error:
>
>  error: no matching function for call to 'point_values'
>
>   VectorTools::point_values(mapping, dof_handler, 
> locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);
>
>
>
> I checked the parameters and seems to be ok. What can be producing the 
> error?
>
> Thank you again
>
> H  
>
> El mar, 24 ago 2021 a las 14:59, 'peterrum' via deal.II User Group (<
> dea...@googlegroups.com>) escribió:
>
>> Hi Hermes,
>>
>> You don't need to do anything regarding the setup (it is done within the 
>> function). Just take at a look at: 
>> https://github.com/dealii/dealii/blob/44b6aadb35aca2333e4bfb6c9ce29c613f4dc9e9/tests/remote_point_evaluation/vector_tools_evaluate_at_points_01.cc#L214-L216
>>
>> I'll extend the documentation with an example today or tomorrow!
>>
>> Hope that helps,
>> PM
>>
>> On Tuesday, 24 August 2021 at 14:46:46 UTC+2 hermes...@gmail.com wrote:
>>
>>> Thank you for pointing that function.
>>>
>>> I am having some problems when creating the mapping and I am not sure if 
>>> the function call is right. Could you please help me with that? 
>>>
>>>   std::vector<*double*> pointSol;
>>>
>>>   Mapping mapping;
>>>
>>>   
>>>
>>>   dealii::Utilities::MPI::RemotePointEvaluation remotePoint;
>>>
>>>   remotePoint.reinit();
>>>
>>>   pointSol = VectorTools::point_values(mapping, 
>>> dof_handler,locally_relevant_solution,Point<2>(0.2, 0.2),remotePoint);
>>>
>>>
>>>
>>> Thank you
>>>
>>> H
>>>
>>>   
>>>
>>> El mar, 24 ago 2021 a las 14:12, Martin Kronbichler (<
>>> kronbichl...@gmail.com>) escribió:
>>>
 Dear Hermes,

 Did you try VectorTools::point_values, 
 https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde
  
 ?

 As an alternative, you can also check if the point is in the locally 
 owned cell of the respective cell, and run the evaluation only on that MPI 
 rank. You can then use an MPI collective, like MPI_Bcast or deal.II's 
 version Utilities::MPI::broadcast, to get the solution to all MPI ranks 
 (typically with another collective to make all ranks agree on who sends 
 the 
 information).

 Best,
 Martin

 This is a variant that allows the evaluation even on remote processes.
 On 24.08.21 14:05, Hermes Sampedro wrote:

 Dear all,  

 I am trying to extend my implementation with parallel computing. I 
 would like to get the solution in a single point when having a distributed 
 system. For example, in step-40 I have the *locally_relevant_solution* at 
 the output_result(...) function.
 In a non distributed implementation I used:

   Vector<*double*> vecSol (fe.n_components());

   VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 
 0.2),vecSol);


 What is the easiest way to do that? Is it possible to check if the 
 point is inside the *locally_relevant_solution? *Or would be more 
 appropriate to create a copy of the solution in a global vector and get 
 the 
 point from there?


 Thank you

 H

 El mié, 11 ago 2021 a las 10:12, Hermes Sampedro () 
 escribió:

> Thank you very much, I could make it work. 
>
> Regards, 
> Hermes
>
> El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret (<
> jppel...@gmail.com>) escribió:
>
>> Another thing: You probably also need to initialise with the right 
>> number of components. So something like 
>> Vector vecSol (fe.n_components());
>>
>>
>> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret  
>> wrote:
>>
>> Hi Hermes, 
>>
>> You don’t say what errors you’re seeing, but my guess is that it now 
>> doesn’t compile. This variant of the function (the one that Daniel 
>> linked 
>> to) returns void, so you should call it before outputting the result:
>>
>> Vector vecSol;
>> VectorTools::point_value(dof_handler, 
>> solution,Point<2>(0.2, 0.2),vecSol)
>> std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;
>>
>> This will hopefully get you what you want.
>>
>> Best,
>> Jean-Paul
>>
>>
>> On 10. Aug 2021, at 16:09, Hermes Sampedro  
>> wrote:
>>
>> Thank you for your answer. I am not sure if I fully understand your 
>> suggestion. Do you mean something like that: 
>>
>>  Vector<*double*> vecSol;
>>  std::cout << "Solution at (0.2,0.2): "<< 
>> 

Re: [deal.II] point_value, Real parts, step-29

2021-08-24 Thread Hermes Sampedro
Thank you.

Doing something similar:

  *const* MappingQ1 mapping;

  Utilities::MPI::RemotePointEvaluation evaluation_cache;

  VectorTools::point_values(mapping, dof_handler,
locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);


I get the following error:

 error: no matching function for call to 'point_values'

  VectorTools::point_values(mapping, dof_handler,
locally_relevant_solution, Point<2>(0.2, 0.2), evaluation_cache);



I checked the parameters and seems to be ok. What can be producing the
error?

Thank you again

H

El mar, 24 ago 2021 a las 14:59, 'peterrum' via deal.II User Group (<
dealii@googlegroups.com>) escribió:

> Hi Hermes,
>
> You don't need to do anything regarding the setup (it is done within the
> function). Just take at a look at:
> https://github.com/dealii/dealii/blob/44b6aadb35aca2333e4bfb6c9ce29c613f4dc9e9/tests/remote_point_evaluation/vector_tools_evaluate_at_points_01.cc#L214-L216
>
> I'll extend the documentation with an example today or tomorrow!
>
> Hope that helps,
> PM
>
> On Tuesday, 24 August 2021 at 14:46:46 UTC+2 hermes...@gmail.com wrote:
>
>> Thank you for pointing that function.
>>
>> I am having some problems when creating the mapping and I am not sure if
>> the function call is right. Could you please help me with that?
>>
>>   std::vector<*double*> pointSol;
>>
>>   Mapping mapping;
>>
>>
>>
>>   dealii::Utilities::MPI::RemotePointEvaluation remotePoint;
>>
>>   remotePoint.reinit();
>>
>>   pointSol = VectorTools::point_values(mapping,
>> dof_handler,locally_relevant_solution,Point<2>(0.2, 0.2),remotePoint);
>>
>>
>>
>> Thank you
>>
>> H
>>
>>
>>
>> El mar, 24 ago 2021 a las 14:12, Martin Kronbichler (<
>> kronbichl...@gmail.com>) escribió:
>>
>>> Dear Hermes,
>>>
>>> Did you try VectorTools::point_values,
>>> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde
>>> ?
>>>
>>> As an alternative, you can also check if the point is in the locally
>>> owned cell of the respective cell, and run the evaluation only on that MPI
>>> rank. You can then use an MPI collective, like MPI_Bcast or deal.II's
>>> version Utilities::MPI::broadcast, to get the solution to all MPI ranks
>>> (typically with another collective to make all ranks agree on who sends the
>>> information).
>>>
>>> Best,
>>> Martin
>>>
>>> This is a variant that allows the evaluation even on remote processes.
>>> On 24.08.21 14:05, Hermes Sampedro wrote:
>>>
>>> Dear all,
>>>
>>> I am trying to extend my implementation with parallel computing. I would
>>> like to get the solution in a single point when having a distributed
>>> system. For example, in step-40 I have the *locally_relevant_solution* at
>>> the output_result(...) function.
>>> In a non distributed implementation I used:
>>>
>>>   Vector<*double*> vecSol (fe.n_components());
>>>
>>>   VectorTools::point_value(dof_handler, solution,Point<2>(0.2,
>>> 0.2),vecSol);
>>>
>>>
>>> What is the easiest way to do that? Is it possible to check if the point
>>> is inside the *locally_relevant_solution? *Or would be more appropriate
>>> to create a copy of the solution in a global vector and get the point from
>>> there?
>>>
>>>
>>> Thank you
>>>
>>> H
>>>
>>> El mié, 11 ago 2021 a las 10:12, Hermes Sampedro ()
>>> escribió:
>>>
 Thank you very much, I could make it work.

 Regards,
 Hermes

 El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret (<
 jppel...@gmail.com>) escribió:

> Another thing: You probably also need to initialise with the right
> number of components. So something like
> Vector vecSol (fe.n_components());
>
>
> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret 
> wrote:
>
> Hi Hermes,
>
> You don’t say what errors you’re seeing, but my guess is that it now
> doesn’t compile. This variant of the function (the one that Daniel linked
> to) returns void, so you should call it before outputting the result:
>
> Vector vecSol;
> VectorTools::point_value(dof_handler,
> solution,Point<2>(0.2, 0.2),vecSol)
> std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;
>
> This will hopefully get you what you want.
>
> Best,
> Jean-Paul
>
>
> On 10. Aug 2021, at 16:09, Hermes Sampedro 
> wrote:
>
> Thank you for your answer. I am not sure if I fully understand your
> suggestion. Do you mean something like that:
>
>  Vector<*double*> vecSol;
>  std::cout << "Solution at (0.2,0.2): "<<
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 
> 0.2),vecSol)<<
> std::endl;
>
>
> I still get some errors. Is there not any way to get for example the
> real part of *solution* easily and use it directly on the point_value
> as in step-3?
>
> Thank you
> H
>
> El mar, 10 ago 2021 a las 15:49, Daniel Arndt ()
> escribió:

Re: [deal.II] point_value, Real parts, step-29

2021-08-24 Thread 'peterrum' via deal.II User Group
Hi Hermes,

You don't need to do anything regarding the setup (it is done within the 
function). Just take at a look 
at: 
https://github.com/dealii/dealii/blob/44b6aadb35aca2333e4bfb6c9ce29c613f4dc9e9/tests/remote_point_evaluation/vector_tools_evaluate_at_points_01.cc#L214-L216

I'll extend the documentation with an example today or tomorrow!

Hope that helps,
PM

On Tuesday, 24 August 2021 at 14:46:46 UTC+2 hermes...@gmail.com wrote:

> Thank you for pointing that function.
>
> I am having some problems when creating the mapping and I am not sure if 
> the function call is right. Could you please help me with that? 
>
>   std::vector<*double*> pointSol;
>
>   Mapping mapping;
>
>   
>
>   dealii::Utilities::MPI::RemotePointEvaluation remotePoint;
>
>   remotePoint.reinit();
>
>   pointSol = VectorTools::point_values(mapping, 
> dof_handler,locally_relevant_solution,Point<2>(0.2, 0.2),remotePoint);
>
>
>
> Thank you
>
> H
>
>   
>
> El mar, 24 ago 2021 a las 14:12, Martin Kronbichler (<
> kronbichl...@gmail.com>) escribió:
>
>> Dear Hermes,
>>
>> Did you try VectorTools::point_values, 
>> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde
>>  
>> ?
>>
>> As an alternative, you can also check if the point is in the locally 
>> owned cell of the respective cell, and run the evaluation only on that MPI 
>> rank. You can then use an MPI collective, like MPI_Bcast or deal.II's 
>> version Utilities::MPI::broadcast, to get the solution to all MPI ranks 
>> (typically with another collective to make all ranks agree on who sends the 
>> information).
>>
>> Best,
>> Martin
>>
>> This is a variant that allows the evaluation even on remote processes.
>> On 24.08.21 14:05, Hermes Sampedro wrote:
>>
>> Dear all,  
>>
>> I am trying to extend my implementation with parallel computing. I would 
>> like to get the solution in a single point when having a distributed 
>> system. For example, in step-40 I have the *locally_relevant_solution* at 
>> the output_result(...) function.
>> In a non distributed implementation I used:
>>
>>   Vector<*double*> vecSol (fe.n_components());
>>
>>   VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 
>> 0.2),vecSol);
>>
>>
>> What is the easiest way to do that? Is it possible to check if the point 
>> is inside the *locally_relevant_solution? *Or would be more appropriate 
>> to create a copy of the solution in a global vector and get the point from 
>> there?
>>
>>
>> Thank you
>>
>> H
>>
>> El mié, 11 ago 2021 a las 10:12, Hermes Sampedro () 
>> escribió:
>>
>>> Thank you very much, I could make it work. 
>>>
>>> Regards, 
>>> Hermes
>>>
>>> El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret () 
>>> escribió:
>>>
 Another thing: You probably also need to initialise with the right 
 number of components. So something like 
 Vector vecSol (fe.n_components());


 On 10. Aug 2021, at 19:40, Jean-Paul Pelteret  
 wrote:

 Hi Hermes, 

 You don’t say what errors you’re seeing, but my guess is that it now 
 doesn’t compile. This variant of the function (the one that Daniel linked 
 to) returns void, so you should call it before outputting the result:

 Vector vecSol;
 VectorTools::point_value(dof_handler, 
 solution,Point<2>(0.2, 0.2),vecSol)
 std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;

 This will hopefully get you what you want.

 Best,
 Jean-Paul


 On 10. Aug 2021, at 16:09, Hermes Sampedro  wrote:

 Thank you for your answer. I am not sure if I fully understand your 
 suggestion. Do you mean something like that: 

  Vector<*double*> vecSol;
  std::cout << "Solution at (0.2,0.2): "<< 
 VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 
 0.2),vecSol)<< 
 std::endl;


 I still get some errors. Is there not any way to get for example the 
 real part of *solution* easily and use it directly on the point_value 
 as in step-3?

 Thank you 
 H

 El mar, 10 ago 2021 a las 15:49, Daniel Arndt () 
 escribió:

> Hermes,
>
> Use another overload. The one returning the solution as a parameter 
> should work: 
> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7
>
> Best,
> Daniel
>
> Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro <
> hermes...@gmail.com>:
>
>> Dear all,  
>>
>> It is explained in Step-3 how to evaluate the solution in a point. I 
>> am trying to do the same for Step-29, to evaluate the real and imaginary 
>> parts separately in a single point:
>>
>> *std::cout << "Solution at (0.2,0.2): "<< 
>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<< 
>> std::endl;*
>>
>> I do not have 

Re: [deal.II] point_value, Real parts, step-29

2021-08-24 Thread Hermes Sampedro
Thank you for pointing that function.

I am having some problems when creating the mapping and I am not sure if
the function call is right. Could you please help me with that?

  std::vector<*double*> pointSol;

  Mapping mapping;



  dealii::Utilities::MPI::RemotePointEvaluation remotePoint;

  remotePoint.reinit();

  pointSol = VectorTools::point_values(mapping,
dof_handler,locally_relevant_solution,Point<2>(0.2, 0.2),remotePoint);



Thank you

H



El mar, 24 ago 2021 a las 14:12, Martin Kronbichler (<
kronbichler.mar...@gmail.com>) escribió:

> Dear Hermes,
>
> Did you try VectorTools::point_values,
> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde
> ?
>
> As an alternative, you can also check if the point is in the locally owned
> cell of the respective cell, and run the evaluation only on that MPI rank.
> You can then use an MPI collective, like MPI_Bcast or deal.II's version
> Utilities::MPI::broadcast, to get the solution to all MPI ranks (typically
> with another collective to make all ranks agree on who sends the
> information).
>
> Best,
> Martin
>
> This is a variant that allows the evaluation even on remote processes.
> On 24.08.21 14:05, Hermes Sampedro wrote:
>
> Dear all,
>
> I am trying to extend my implementation with parallel computing. I would
> like to get the solution in a single point when having a distributed
> system. For example, in step-40 I have the *locally_relevant_solution* at
> the output_result(...) function.
> In a non distributed implementation I used:
>
>   Vector<*double*> vecSol (fe.n_components());
>
>   VectorTools::point_value(dof_handler, solution,Point<2>(0.2,
> 0.2),vecSol);
>
>
> What is the easiest way to do that? Is it possible to check if the point
> is inside the *locally_relevant_solution? *Or would be more appropriate
> to create a copy of the solution in a global vector and get the point from
> there?
>
>
> Thank you
>
> H
>
> El mié, 11 ago 2021 a las 10:12, Hermes Sampedro ()
> escribió:
>
>> Thank you very much, I could make it work.
>>
>> Regards,
>> Hermes
>>
>> El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret (<
>> jppelte...@gmail.com>) escribió:
>>
>>> Another thing: You probably also need to initialise with the right
>>> number of components. So something like
>>> Vector vecSol (fe.n_components());
>>>
>>>
>>> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret 
>>> wrote:
>>>
>>> Hi Hermes,
>>>
>>> You don’t say what errors you’re seeing, but my guess is that it now
>>> doesn’t compile. This variant of the function (the one that Daniel linked
>>> to) returns void, so you should call it before outputting the result:
>>>
>>> Vector vecSol;
>>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)
>>> std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;
>>>
>>> This will hopefully get you what you want.
>>>
>>> Best,
>>> Jean-Paul
>>>
>>>
>>> On 10. Aug 2021, at 16:09, Hermes Sampedro 
>>> wrote:
>>>
>>> Thank you for your answer. I am not sure if I fully understand your
>>> suggestion. Do you mean something like that:
>>>
>>>  Vector<*double*> vecSol;
>>>  std::cout << "Solution at (0.2,0.2): "<<
>>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)<<
>>> std::endl;
>>>
>>>
>>> I still get some errors. Is there not any way to get for example the
>>> real part of *solution* easily and use it directly on the point_value
>>> as in step-3?
>>>
>>> Thank you
>>> H
>>>
>>> El mar, 10 ago 2021 a las 15:49, Daniel Arndt ()
>>> escribió:
>>>
 Hermes,

 Use another overload. The one returning the solution as a parameter
 should work:
 https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7

 Best,
 Daniel

 Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro <
 hermesampe...@gmail.com>:

> Dear all,
>
> It is explained in Step-3 how to evaluate the solution in a point. I
> am trying to do the same for Step-29, to evaluate the real and imaginary
> parts separately in a single point:
>
> *std::cout << "Solution at (0.2,0.2): "<<
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<<
> std::endl;*
>
> I do not have any problems compiling however, an error occurs when
> running:
>
> *The violated condition was:  dof.get_fe(0).n_components() == 1*
>
> What is the proper way to call the real and imaginary parts of the
> solution at a particular point here?
>
>
> Thank you very much!
>
> H.
>
> --
> 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 

Re: [deal.II] point_value, Real parts, step-29

2021-08-24 Thread Martin Kronbichler

Dear Hermes,

Did you try VectorTools::point_values, 
https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#a1ad6eceb6cbeaa505baf7f938289bbde 
?


As an alternative, you can also check if the point is in the locally 
owned cell of the respective cell, and run the evaluation only on that 
MPI rank. You can then use an MPI collective, like MPI_Bcast or 
deal.II's version Utilities::MPI::broadcast, to get the solution to all 
MPI ranks (typically with another collective to make all ranks agree on 
who sends the information).


Best,
Martin

This is a variant that allows the evaluation even on remote processes.

On 24.08.21 14:05, Hermes Sampedro wrote:

Dear all,

I am trying to extend my implementation with parallel computing. I 
would like to get the solution in a single point when having a 
distributed system. For example, in step-40 I have the 
/locally_relevant_solution/ at the output_result(...) function.

In a non distributed implementation I used:

Vector<*double*> vecSol (fe.n_components());

VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol);


What is the easiest way to do that? Is it possible to check if the 
point is inside the /locally_relevant_solution? /Or would be more 
appropriate to create a copy of the solution in a global vector and 
get the point from there?



Thank you

H


El mié, 11 ago 2021 a las 10:12, Hermes Sampedro 
(mailto:hermesampe...@gmail.com>>) escribió:


Thank you very much, I could make it work.

Regards,
Hermes

El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret
(mailto:jppelte...@gmail.com>>) escribió:

Another thing: You probably also need to initialise with the
right number of components. So something like
Vector vecSol (fe.n_components());



On 10. Aug 2021, at 19:40, Jean-Paul Pelteret
mailto:jppelte...@gmail.com>> wrote:

Hi Hermes,

You don’t say what errors you’re seeing, but my guess is that
it now doesn’t compile. This variant of the function (the one
that Daniel linked to) returns void, so you should call it
before outputting the result:

Vector vecSol;
VectorTools::point_value(dof_handler,
solution,Point<2>(0.2, 0.2),vecSol)
std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;

This will hopefully get you what you want.

Best,
Jean-Paul



On 10. Aug 2021, at 16:09, Hermes Sampedro
mailto:hermesampe...@gmail.com>>
wrote:

Thank you for your answer. I am not sure if I fully
understand your suggestion. Do you mean something like that:

Vector<*double*> vecSol;
std::cout <<"Solution at (0.2,0.2): "<<
VectorTools::point_value(dof_handler,
solution,Point<2>(0.2,0.2),vecSol)<< std::endl;


I still get some errors. Is there not any way to get for
example the real part of/solution/ easily and use it
directly on the point_value as in step-3?

Thank you
H

El mar, 10 ago 2021 a las 15:49, Daniel Arndt
(mailto:d.arndt.m...@gmail.com>>)
escribió:

Hermes,

Use another overload. The one returning the solution as
a parameter should

work:https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7



Best,
Daniel

Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes
Sampedro mailto:hermesampe...@gmail.com>>:

Dear all,

It is explained in Step-3 how to evaluate the
solution in a point. I am trying to do the same for
Step-29, to evaluate the real and imaginary parts
separately in a single point:

/std::cout << "Solution at (0.2,0.2): "<<
VectorTools::point_value(dof_handler,
solution,Point<2>(0.2, 0.2))<< std::endl;/

I do not have any problems compiling however, an
error occurs when running:

/The violated condition
was:  dof.get_fe(0).n_components() == 1/

What is the proper way to call the real and
imaginary parts of the solution at a particular
point here?


Thank you very much!

H.


--
The deal.II project is located
athttp://www.dealii.org/ 
For mailing list/forum options,
seehttps://groups.google.com/d/forum/dealii?hl=en

---
You received this message because you are subscribed
to the Google 

Re: [deal.II] point_value, Real parts, step-29

2021-08-24 Thread Hermes Sampedro
Dear all,

I am trying to extend my implementation with parallel computing. I would
like to get the solution in a single point when having a distributed
system. For example, in step-40 I have the *locally_relevant_solution* at
the output_result(...) function.
In a non distributed implementation I used:

  Vector<*double*> vecSol (fe.n_components());

  VectorTools::point_value(dof_handler, solution,Point<2>(0.2,
0.2),vecSol);


What is the easiest way to do that? Is it possible to check if the point is
inside the *locally_relevant_solution? *Or would be more appropriate to
create a copy of the solution in a global vector and get the point from
there?


Thank you

H

El mié, 11 ago 2021 a las 10:12, Hermes Sampedro ()
escribió:

> Thank you very much, I could make it work.
>
> Regards,
> Hermes
>
> El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret ()
> escribió:
>
>> Another thing: You probably also need to initialise with the right
>> number of components. So something like
>> Vector vecSol (fe.n_components());
>>
>>
>> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret 
>> wrote:
>>
>> Hi Hermes,
>>
>> You don’t say what errors you’re seeing, but my guess is that it now
>> doesn’t compile. This variant of the function (the one that Daniel linked
>> to) returns void, so you should call it before outputting the result:
>>
>> Vector vecSol;
>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)
>> std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;
>>
>> This will hopefully get you what you want.
>>
>> Best,
>> Jean-Paul
>>
>>
>> On 10. Aug 2021, at 16:09, Hermes Sampedro 
>> wrote:
>>
>> Thank you for your answer. I am not sure if I fully understand your
>> suggestion. Do you mean something like that:
>>
>>  Vector<*double*> vecSol;
>>  std::cout << "Solution at (0.2,0.2): "<<
>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)<<
>> std::endl;
>>
>>
>> I still get some errors. Is there not any way to get for example the real
>> part of *solution* easily and use it directly on the point_value as in
>> step-3?
>>
>> Thank you
>> H
>>
>> El mar, 10 ago 2021 a las 15:49, Daniel Arndt ()
>> escribió:
>>
>>> Hermes,
>>>
>>> Use another overload. The one returning the solution as a parameter
>>> should work:
>>> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7
>>>
>>> Best,
>>> Daniel
>>>
>>> Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro <
>>> hermesampe...@gmail.com>:
>>>
 Dear all,

 It is explained in Step-3 how to evaluate the solution in a point. I am
 trying to do the same for Step-29, to evaluate the real and imaginary parts
 separately in a single point:

 *std::cout << "Solution at (0.2,0.2): "<<
 VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<<
 std::endl;*

 I do not have any problems compiling however, an error occurs when
 running:

 *The violated condition was:  dof.get_fe(0).n_components() == 1*

 What is the proper way to call the real and imaginary parts of the
 solution at a particular point here?


 Thank you very much!

 H.

 --
 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.
 To view this discussion on the web visit
 https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com
 
 .

>>>
>>> --
>>> 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 a topic in the
>>> Google Groups "deal.II User Group" group.
>>> To unsubscribe from this topic, visit
>>> https://groups.google.com/d/topic/dealii/Ru1_uMbix30/unsubscribe.
>>> To unsubscribe from this group and all its topics, send an email to
>>> dealii+unsubscr...@googlegroups.com.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/dealii/CAOYDWb%2BR0bRTVxB-F22Hwk_ZexN4%3DVwCbZ7ZKqs3JjEaHFhncA%40mail.gmail.com
>>> 
>>> .
>>>
>>
>> --
>> 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 

Re: [deal.II] point_value, Real parts, step-29

2021-08-11 Thread Hermes Sampedro
Thank you very much, I could make it work.

Regards,
Hermes

El mar, 10 ago 2021 a las 19:46, Jean-Paul Pelteret ()
escribió:

> Another thing: You probably also need to initialise with the right number
> of components. So something like
> Vector vecSol (fe.n_components());
>
>
> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret 
> wrote:
>
> Hi Hermes,
>
> You don’t say what errors you’re seeing, but my guess is that it now
> doesn’t compile. This variant of the function (the one that Daniel linked
> to) returns void, so you should call it before outputting the result:
>
> Vector vecSol;
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)
> std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;
>
> This will hopefully get you what you want.
>
> Best,
> Jean-Paul
>
>
> On 10. Aug 2021, at 16:09, Hermes Sampedro 
> wrote:
>
> Thank you for your answer. I am not sure if I fully understand your
> suggestion. Do you mean something like that:
>
>  Vector<*double*> vecSol;
>  std::cout << "Solution at (0.2,0.2): "<<
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)<<
> std::endl;
>
>
> I still get some errors. Is there not any way to get for example the real
> part of *solution* easily and use it directly on the point_value as in
> step-3?
>
> Thank you
> H
>
> El mar, 10 ago 2021 a las 15:49, Daniel Arndt ()
> escribió:
>
>> Hermes,
>>
>> Use another overload. The one returning the solution as a parameter
>> should work:
>> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7
>>
>> Best,
>> Daniel
>>
>> Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro <
>> hermesampe...@gmail.com>:
>>
>>> Dear all,
>>>
>>> It is explained in Step-3 how to evaluate the solution in a point. I am
>>> trying to do the same for Step-29, to evaluate the real and imaginary parts
>>> separately in a single point:
>>>
>>> *std::cout << "Solution at (0.2,0.2): "<<
>>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<<
>>> std::endl;*
>>>
>>> I do not have any problems compiling however, an error occurs when
>>> running:
>>>
>>> *The violated condition was:  dof.get_fe(0).n_components() == 1*
>>>
>>> What is the proper way to call the real and imaginary parts of the
>>> solution at a particular point here?
>>>
>>>
>>> Thank you very much!
>>>
>>> H.
>>>
>>> --
>>> 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.
>>> To view this discussion on the web visit
>>> https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com
>>> 
>>> .
>>>
>>
>> --
>> 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 a topic in the
>> Google Groups "deal.II User Group" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/dealii/Ru1_uMbix30/unsubscribe.
>> To unsubscribe from this group and all its topics, send an email to
>> dealii+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/dealii/CAOYDWb%2BR0bRTVxB-F22Hwk_ZexN4%3DVwCbZ7ZKqs3JjEaHFhncA%40mail.gmail.com
>> 
>> .
>>
>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/CAB%3DnHhZrnXUeYt5FrKa66oTwoV8WJ8b%3DFqLFJ9pfP%3DUHRTyV%2BQ%40mail.gmail.com
> 
> .
>
>
>
> --
> 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 a topic in the
> Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit
> 

Re: [deal.II] point_value, Real parts, step-29

2021-08-10 Thread Jean-Paul Pelteret
Another thing: You probably also need to initialise with the right number of 
components. So something like
Vector vecSol (fe.n_components());


> On 10. Aug 2021, at 19:40, Jean-Paul Pelteret  wrote:
> 
> Hi Hermes,
> 
> You don’t say what errors you’re seeing, but my guess is that it now doesn’t 
> compile. This variant of the function (the one that Daniel linked to) returns 
> void, so you should call it before outputting the result:
> 
> Vector vecSol;
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)
> std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;
> 
> This will hopefully get you what you want.
> 
> Best,
> Jean-Paul
> 
> 
>> On 10. Aug 2021, at 16:09, Hermes Sampedro > > wrote:
>> 
>> Thank you for your answer. I am not sure if I fully understand your 
>> suggestion. Do you mean something like that:
>> 
>>  Vector vecSol;
>>  std::cout << "Solution at (0.2,0.2): "<< 
>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)<< 
>> std::endl;
>>
>> 
>> I still get some errors. Is there not any way to get for example the real 
>> part of solution easily and use it directly on the point_value as in step-3?
>> 
>> Thank you 
>> H
>> 
>> El mar, 10 ago 2021 a las 15:49, Daniel Arndt (> >) escribió:
>> Hermes,
>> 
>> Use another overload. The one returning the solution as a parameter should 
>> work: 
>> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7
>>  
>> 
>> 
>> Best,
>> Daniel
>> 
>> Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro 
>> mailto:hermesampe...@gmail.com>>:
>> Dear all, 
>> 
>> It is explained in Step-3 how to evaluate the solution in a point. I am 
>> trying to do the same for Step-29, to evaluate the real and imaginary parts 
>> separately in a single point:
>> std::cout << "Solution at (0.2,0.2): "<< 
>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<< 
>> std::endl;
>> 
>> I do not have any problems compiling however, an error occurs when running:
>> 
>> The violated condition was:  dof.get_fe(0).n_components() == 1
>> 
>> What is the proper way to call the real and imaginary parts of the solution 
>> at a particular point here?
>> 
>> 
>> 
>> Thank you very much!
>> 
>> H.
>> 
>> 
>> -- 
>> 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 
>> .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com
>>  
>> .
>> 
>> -- 
>> 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 a topic in the 
>> Google Groups "deal.II User Group" group.
>> To unsubscribe from this topic, visit 
>> https://groups.google.com/d/topic/dealii/Ru1_uMbix30/unsubscribe 
>> .
>> To unsubscribe from this group and all its topics, send an email to 
>> dealii+unsubscr...@googlegroups.com 
>> .
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/dealii/CAOYDWb%2BR0bRTVxB-F22Hwk_ZexN4%3DVwCbZ7ZKqs3JjEaHFhncA%40mail.gmail.com
>>  
>> .
>> 
>> -- 
>> 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 
>> .
>> To view this discussion on the web visit 
>> 

Re: [deal.II] point_value, Real parts, step-29

2021-08-10 Thread Jean-Paul Pelteret
Hi Hermes,

You don’t say what errors you’re seeing, but my guess is that it now doesn’t 
compile. This variant of the function (the one that Daniel linked to) returns 
void, so you should call it before outputting the result:

Vector vecSol;
VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)
std::cout << "Solution at (0.2,0.2): "<< vecSol << std::endl;

This will hopefully get you what you want.

Best,
Jean-Paul


> On 10. Aug 2021, at 16:09, Hermes Sampedro  wrote:
> 
> Thank you for your answer. I am not sure if I fully understand your 
> suggestion. Do you mean something like that:
> 
>  Vector vecSol;
>  std::cout << "Solution at (0.2,0.2): "<< 
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)<< 
> std::endl;
>
> 
> I still get some errors. Is there not any way to get for example the real 
> part of solution easily and use it directly on the point_value as in step-3?
> 
> Thank you 
> H
> 
> El mar, 10 ago 2021 a las 15:49, Daniel Arndt ( >) escribió:
> Hermes,
> 
> Use another overload. The one returning the solution as a parameter should 
> work: 
> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7
>  
> 
> 
> Best,
> Daniel
> 
> Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro 
> mailto:hermesampe...@gmail.com>>:
> Dear all, 
> 
> It is explained in Step-3 how to evaluate the solution in a point. I am 
> trying to do the same for Step-29, to evaluate the real and imaginary parts 
> separately in a single point:
> std::cout << "Solution at (0.2,0.2): "<< 
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<< 
> std::endl;
> 
> I do not have any problems compiling however, an error occurs when running:
> 
> The violated condition was:  dof.get_fe(0).n_components() == 1
> 
> What is the proper way to call the real and imaginary parts of the solution 
> at a particular point here?
> 
> 
> 
> Thank you very much!
> 
> H.
> 
> 
> -- 
> 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 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com
>  
> .
> 
> -- 
> 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 a topic in the Google 
> Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit 
> https://groups.google.com/d/topic/dealii/Ru1_uMbix30/unsubscribe 
> .
> To unsubscribe from this group and all its topics, send an email to 
> dealii+unsubscr...@googlegroups.com 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/CAOYDWb%2BR0bRTVxB-F22Hwk_ZexN4%3DVwCbZ7ZKqs3JjEaHFhncA%40mail.gmail.com
>  
> .
> 
> -- 
> 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 
> .
> To view this discussion on the web visit 
> https://groups.google.com/d/msgid/dealii/CAB%3DnHhZrnXUeYt5FrKa66oTwoV8WJ8b%3DFqLFJ9pfP%3DUHRTyV%2BQ%40mail.gmail.com
>  
> .

-- 
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 

Re: [deal.II] point_value, Real parts, step-29

2021-08-10 Thread Hermes Sampedro
Thank you for your answer. I am not sure if I fully understand your
suggestion. Do you mean something like that:

 Vector<*double*> vecSol;

 std::cout << "Solution at (0.2,0.2): "<<
VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2),vecSol)<<
std::endl;




I still get some errors. Is there not any way to get for example the real
part of *solution* easily and use it directly on the point_value as in
step-3?


Thank you

H

El mar, 10 ago 2021 a las 15:49, Daniel Arndt ()
escribió:

> Hermes,
>
> Use another overload. The one returning the solution as a parameter should
> work:
> https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7
>
> Best,
> Daniel
>
> Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro <
> hermesampe...@gmail.com>:
>
>> Dear all,
>>
>> It is explained in Step-3 how to evaluate the solution in a point. I am
>> trying to do the same for Step-29, to evaluate the real and imaginary parts
>> separately in a single point:
>>
>> *std::cout << "Solution at (0.2,0.2): "<<
>> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<<
>> std::endl;*
>>
>> I do not have any problems compiling however, an error occurs when
>> running:
>>
>> *The violated condition was:  dof.get_fe(0).n_components() == 1*
>>
>> What is the proper way to call the real and imaginary parts of the
>> solution at a particular point here?
>>
>>
>> Thank you very much!
>>
>> H.
>>
>> --
>> 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.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com
>> 
>> .
>>
> --
> 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 a topic in the
> Google Groups "deal.II User Group" group.
> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/dealii/Ru1_uMbix30/unsubscribe.
> To unsubscribe from this group and all its topics, send an email to
> dealii+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/CAOYDWb%2BR0bRTVxB-F22Hwk_ZexN4%3DVwCbZ7ZKqs3JjEaHFhncA%40mail.gmail.com
> 
> .
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAB%3DnHhZrnXUeYt5FrKa66oTwoV8WJ8b%3DFqLFJ9pfP%3DUHRTyV%2BQ%40mail.gmail.com.


Re: [deal.II] point_value, Real parts, step-29

2021-08-10 Thread Daniel Arndt
Hermes,

Use another overload. The one returning the solution as a parameter should
work:
https://www.dealii.org/current/doxygen/deal.II/namespaceVectorTools.html#acd358e9b110ccbf4a7f76796d206b9c7

Best,
Daniel

Am Di., 10. Aug. 2021 um 09:41 Uhr schrieb Hermes Sampedro <
hermesampe...@gmail.com>:

> Dear all,
>
> It is explained in Step-3 how to evaluate the solution in a point. I am
> trying to do the same for Step-29, to evaluate the real and imaginary parts
> separately in a single point:
>
> *std::cout << "Solution at (0.2,0.2): "<<
> VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<<
> std::endl;*
>
> I do not have any problems compiling however, an error occurs when running:
>
> *The violated condition was:  dof.get_fe(0).n_components() == 1*
>
> What is the proper way to call the real and imaginary parts of the
> solution at a particular point here?
>
>
> Thank you very much!
>
> H.
>
> --
> 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.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com
> 
> .
>

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/CAOYDWb%2BR0bRTVxB-F22Hwk_ZexN4%3DVwCbZ7ZKqs3JjEaHFhncA%40mail.gmail.com.


[deal.II] point_value, Real parts, step-29

2021-08-10 Thread Hermes Sampedro
Dear all, 

It is explained in Step-3 how to evaluate the solution in a point. I am 
trying to do the same for Step-29, to evaluate the real and imaginary parts 
separately in a single point:

*std::cout << "Solution at (0.2,0.2): "<< 
VectorTools::point_value(dof_handler, solution,Point<2>(0.2, 0.2))<< 
std::endl;*

I do not have any problems compiling however, an error occurs when running:

*The violated condition was:  dof.get_fe(0).n_components() == 1*

What is the proper way to call the real and imaginary parts of the solution 
at a particular point here?


Thank you very much!

H.

-- 
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.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/dealii/54a2d44e-194a-43c0-aa7f-9fddd5bd0dean%40googlegroups.com.