Wed Feb 3 10:34:35 EST 2016 FREEFEM_SEQUENTIAL Run FreeFem++ sequentially, on the membrane.edp input file. -- FreeFem++ v 3.420000 (date Tue Feb 2 16:37:41 EST 2016) Load: lg_fem lg_mesh lg_mesh3 eigenvalue ffglut: error while loading shared libraries: libglut.so.3: cannot open shared object file: No such file or directory 1 : // Discussion: 2 : // 3 : // Let an ellipse have semimajor axis 2 and semiminor axis 1: 4 : // (x/2)^2 + (y/1)^2 = 1. 5 : // Let Gamma1 be the ellipse boundary from 0 to 4pi/3, and 6 : // Gamm2 the boundary from 4pi/3 to 2pi. 7 : // 8 : // Solve: 9 : // -uxx - uyy = f in Gamma1 + Gamma2, 10 : // u = x on Gamma1. 11 : // du/dn = 0, natural boundary condition on Gamma2. 12 : // 13 : // Location: 14 : // 15 : // http://people.sc.fsu.edu/~jburkardt/freefem++/membrane/membrane.edp 16 : // 17 : // Licensing: 18 : // 19 : // This code is distributed under the GNU LGPL license. 20 : // 21 : // Modified: 22 : // 23 : // 18 June 2015 24 : // 25 : // Reference: 26 : // 27 : // Frederic Hecht, 28 : // Freefem++, 29 : // Third Edition, version 3.22 30 : // 31 : 32 : // 33 : // Define Gamma1 and Gamma2, the boundaries. 34 : // A and B are the lengths of the semimajor and semiminor axes: 35 : // THETA specifies the angle at which we switch from GAMMA1 to GAMMA2. 36 : // 37 : real a = 2.0; 38 : real b = 1.0; 39 : real theta = 4.0 * pi / 3.0; 40 : border Gamma1 ( t = 0, theta ) { x = a * cos(t); y = b*sin(t); } 41 : border Gamma2 ( t = theta, 2*pi ) { x = a * cos(t); y = b*sin(t); } 42 : // 43 : // Define Th, the triangulation of the "left" side of the boundaries. 44 : // 45 : mesh Th = buildmesh ( Gamma1(100) + Gamma2(50) ); 46 : // 47 : // Plot the mesh. 48 : // 49 : plot ( Th, wait = true, ps = "membrane_mesh.ps" ); 50 : // 51 : // Define Vh, the finite element space defined over Th, using P2 basis functions. 52 : // 53 : fespace Vh ( Th, P2 ); 54 : // 55 : // Define U, V, and F, piecewise P2 continuous functions over Th. 56 : // F is a constant function. 57 : // 58 : Vh u; 59 : Vh v; 60 : Vh f = 1.0; 61 : // 62 : // Define G, a function for the Dirichlet boundary conditions. 63 : // 64 : func g = x; 65 : // 66 : // Define the weak form of the PDE. 67 : // 68 : problem poisson ( u, v ) 69 : = int2d ( Th ) ( dx(u)*dx(v) + dy(u)*dy(v) ) 70 : - int2d ( Th ) ( f * v ) 71 : + on ( Gamma1, u = g ); 72 : // 73 : // Solve the PDE. 74 : // 75 : poisson; 76 : // 77 : // Plot the solution. 78 : // 79 : plot ( u, fill = true, wait = true, ps = "membrane_u.ps" ); 80 : // 81 : // Save the mesh file. 82 : // 83 : savemesh ( Th, "membrane.msh" ); 84 : // 85 : // Terminate. 86 : // 87 : cout << "\n"; 88 : cout << "MEMBRANE:\n"; 89 : cout << " Normal end of execution.\n"; 90 : 91 : sizestack + 1024 =1896 ( 872 ) -- mesh: Nb of Triangles = 2568, Nb of Vertices 1360 -- Solve : min -2 max 2 number of required edges : 0 MEMBRANE: Normal end of execution. times: compile 0.02s, execution 0.2s, mpirank:0 ######## We forget of deleting 0 Nb pointer, 0Bytes , mpirank 0, memory leak =570096 CodeAlloc : nb ptr 2657, size :347448 mpirank: 0 Ok: Normal End FREEFEM_SEQUENTIAL Normal end of execution. Wed Feb 3 10:34:35 EST 2016