Dear Wolfgang,

Thank you for your replies.

I am still struggling with outputs of the solution to the file.

I have two type of outputs: 1) output vtu files for each processor on the 
whole mesh and 2) creating a simple txt file with values of the solution at 
receiver locations

1) For the first one I created the Postprocessor class that computes the 
quantities of the total electric and magnetic fields and then I use 
DataOut<dim> data_out;
data_out.attach_dof_handler(dof_handler);
data_out.add_data_vector(*locally_relevant_solution*, postprocessor);
for (unsigned int i = 0; i < subdomain.size(); ++i)  subdomain(i) = 
triangulation.locally_owned_subdomain();
data_out.add_data_vector(subdomain, "subdomain");
data_out.build_patches();

And this seems to work and I can display reasonable solutions in paraview. 
Meaning that computation of the *locally_relevant_solution* is correct.

2) For the file with the solution values at the receiver locations I think 
I followed the approach implemented in ASPECT.
So I go through all the receivers look for the point value and then check 
how many processors found this point and if more then one I sum the values 
across all processors and divide by the number of processors the point was 
found at. I write this values into a 
std::vector<Vector<double> > current_field_values(n_Rc,  Vector<double>(2 * 
(dim + dim)));

To compute the point value I use the deal.ii function 
VectorTools::point_value, and I suspect I am using it wrong:
I call it in the following way
VectorTools::point_value(dof_handler, *locally_relevant_solution*, 
receiver_locations[p], current_point_values[p]);

After this call I write the values on the screen and I see that the value 
of the Ez at the surface of the earth is far from 0, while it should be 
very small and the vtu file produced with help of postprocessor also shows 
a very small values there.

Do you have an idea what would be the correct call to the point value 
function, maybe I should not give it *locally_relevant_solution* as an 
input, or something else.

*locally_relevant_solution* is the private *LA::MPI::BlockVector *of the 
main class.

Sorry for bothering you again with this.

Anna






 

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