Hi

It seems I'm doing something terribly wrong. I need to run the system
solution in parallel and then show the results in a GUI (master process).

This is what I did:

  System & sys = equation_systems.add_system<LinearImplicitSystem>
("Poisson");
...
  sys.solve();

  if ( mesh.processor_id() == 0) {
    MeshSerializer serialize(mesh, true, true);
    FEMainWindow *win = new FEMainWindow(mesh, sys);
...
  libMesh::MeshBase::const_element_iterator       el     =
_mesh.active_elements_begin();
  const libMesh::MeshBase::const_element_iterator end_el =
_mesh.active_elements_end();
  for ( ; el != end_el ; ++el)
  { ... sys.point_value(0,pt,elem) ...}

I also inspected the "wirte_nodal_data" in MeshOutput, and got into
EquationSystems::build_parallell_solution_vector. I couldn't understand
completely what is going on there. It seems that each process is adding its
local nodes to the parallell_soln_ptr, using a "_communicator". Is that so?

What do you recommend for my case? Should I use the
build_parallell_solution_vector directly? WIll the sys.point_value work
after that?

Thanks,
Renato
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to