Thread Previous • Date Previous • Date Next • Thread Next |
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.
Thread Previous • Date Previous • Date Next • Thread Next |