dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #18678
Re: [Question #116222]: MPI Problem
Question #116222 on DOLFIN changed:
https://answers.launchpad.net/dolfin/+question/116222
Status: Open => Answered
Garth Wells proposed the following answer:
On 01/07/10 13:16, Pietro Maximoff wrote:
> Question #116222 on DOLFIN changed:
> https://answers.launchpad.net/dolfin/+question/116222
>
> Pietro Maximoff posted a new comment:
> Below's a simple test program. All it does is create a rectangular mesh
> and colours it. Any 2D UFL form file can be used for Test.h as the test
> program doesn't solve any PDE problem.
>
> I'm using DOLFIN version 0.9.7 .
>
You need to make the program as simple as possible - right back to the
trivial case that the code does nothing if necessary - and build it up
until you get the error.
Garth
> Many thanks
>
> Pietro
>
> ========================================
>
> #include<dolfin.h>
> #include "Test.h"
>
> using namespace dolfin;
>
> int main()
> {
> const int dim = 2; // dimension
>
> // Create mesh
>
> Rectangle mesh(0.0, 0.0, 1.0, 1.0, 10, 10);
>
> // Create function space
> Test::FunctionSpace V(mesh);
>
> // Set up forms
> Test::BilinearForm a(V, V);
> Test::LinearForm L(V);
>
> // Access mesh geometry
> MeshGeometry& geometry = mesh.geometry();
>
> // Associate a vertex to a specific cell
> double x0, x1;
> Array<double> *xy;
>
> Vector volt(mesh.num_vertices());
> double block[mesh.num_vertices()];
> dolfin::uint rows[mesh.num_vertices()];
>
> int i = 0;
> for (VertexIterator vertex(mesh); !vertex.end(); ++vertex) {
> xy = new Array<double>(dim, geometry.x(vertex->index()));
> x0 = (*xy)[0];
> x1 = (*xy)[1];
>
> if (x0<= 0.4)
> block[i] = 40;
> else
> block[i] = -86;
>
> ++i;
> }
>
> // Indices of the row of the vector to set
> for (unsigned int i = 0; i< mesh.num_vertices(); ++i)
> rows[i] = i;
>
> // Output file in VTK format
> File file("test_out.pvd");
>
> volt.set(block, mesh.num_vertices(), rows);
> Function u(V, volt);
>
> file<< u;
>
> plot(u);
> }
>
> =================================================
>
--
You received this question notification because you are a member of
DOLFIN Team, which is an answer contact for DOLFIN.