Thanks. I have another problem about parallel reading the nodal values. Below is the code. I run mpiexec -n 2 ./out , and get the error that:
[0]PETSC ERROR: --------------------- Error Message -------------------------------------------------------------- [0]PETSC ERROR: application called MPI_Abort(MPI_COMM_WORLD, 59) - process 1 Signal received [0]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html for trouble shooting. [0]PETSC ERROR: Petsc Release Version 3.7.2, Jun, 05, 2016 [0]PETSC ERROR: ./parallel on a arch-darwin-c-debug named pkuvisjiang by jiangzhang Wed Jun 22 16:58:28 2016 [0]PETSC ERROR: Configure options --prefix=/opt/petsc-3.7.2 --with-mpi-dir=/usr/local --download-fblaslapack [0]PETSC ERROR: #1 User provided function() line 0 in unknown file application called MPI_Abort(MPI_COMM_WORLD, 59) - process 0 int main(int argc, char** argv) { LibMeshInit init(argc, argv); UnstructuredMesh *mesh; ExodusII_IO *exio; EquationSystems *eqsys; System *asys; unsigned int Ax_var, Ay_var, Az_var; mesh = new Mesh(init.comm()); exio = new ExodusII_IO(*mesh); exio->read("triangle_mesh_linear.e"); mesh->allow_renumbering(false); mesh->prepare_for_use(); eqsys = new EquationSystems(*mesh); asys = &(eqsys->add_system<System>("Velocity")); Ax_var = asys->add_variable("Vx", FIRST, LAGRANGE); Ay_var = asys->add_variable("Vy", FIRST, LAGRANGE); Az_var = asys->add_variable("Vz", FIRST, LAGRANGE); eqsys->init(); exio->copy_nodal_solution(*asys, "Vx", "velocityX"); exio->copy_nodal_solution(*asys, "Vy", "velocityY"); exio->copy_nodal_solution(*asys, "Vz", "velocityZ"); libMesh::UniquePtr<libMesh::NumericVector<libMesh::Number> > _as = asys->solution->clone(); const NumericVector<Number> &as = *_as; MeshBase::const_node_iterator itn = mesh->local_nodes_begin(); const MeshBase::const_node_iterator endn = mesh->local_nodes_end(); for (; itn != endn; itn ++) { Node *node = *itn; float A[3]; A[0] = as( node->dof_number(asys->number(), Ax_var, 0) ); // here is ok A[1] = as( node->dof_number(asys->number(), Ay_var, 0) ); // here is ok A[2] = as( node->dof_number(asys->number(), Az_var, 0) ); // here is ok } MeshBase::const_element_iterator it = mesh->local_elements_begin(); const MeshBase::const_element_iterator end = mesh->local_elements_end(); for (; it != end; it ++) { Elem *elem = *it; std::vector<NodeIdType> nodes; for (int i=0; i<elem->n_nodes(); i++) { const Node& node = mesh->node(elem->node(i)); nodes.push_back(elem->node(i)); float A[3]; A[0] = as( node.dof_number(asys->number(), Ax_var, 0) ); // here comes the error A[1] = as( node.dof_number(asys->number(), Ay_var, 0) ); // here comes the error A[2] = as( node.dof_number(asys->number(), Az_var, 0) ); // here comes the error } } return 0; } It is strange. Is there any wrong operation here? > On Jun 22, 2016, at 2:39 PM, John Peterson <jwpeter...@gmail.com> wrote: > > > > On Wed, Jun 22, 2016 at 1:24 PM, 张江 <zhangjiang.d...@gmail.com > <mailto:zhangjiang.d...@gmail.com>> wrote: > Hi, > > I have rebuilt libmesh with PETSc. Here is an simple example that to obtain > the nodal values. However, when I run it in parallel (mpiexec -n 2 ./out), > there is always error that: > > [1]PETSC ERROR: --------------------- Error Message > -------------------------------------------------------------- > [1]PETSC ERROR: Signal received > [1]PETSC ERROR: See http://www.mcs.anl.gov/petsc/documentation/faq.html > <http://www.mcs.anl.gov/petsc/documentation/faq.html> for trouble shooting. > [1]PETSC ERROR: Petsc Release Version 3.7.2, Jun, 05, 2016 > [1]PETSC ERROR: ./parallel on a arch-darwin-c-debug named xxx by xxx Wed Jun > 22 14:19:19 2016 > [1]PETSC ERROR: Configure options --prefix=/opt/petsc-3.7.2 > --with-mpi-dir=/usr/local --download-fblaslapack > [1]PETSC ERROR: #1 User provided function() line 0 in unknown file > > Was the PETSc not correctly installed or not well built with libmesh together? > > Did you run "make check" after building libmesh? > > > Below is the code: > > The error is likely that you are accessing a non-local non-ghosted value in > the PETSc vector, but I haven't analyzed what you are doing closely. > > -- > John ------------------------------------------------------------------------------ Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San Francisco, CA to explore cutting-edge tech and listen to tech luminaries present their vision of the future. This family event has something for everyone, including kids. Get more information and register today. http://sdm.link/attshape _______________________________________________ Libmesh-users mailing list Libmesh-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/libmesh-users