Meshes ******************************************************************************* This library does have a utility that converts a traditional finite element mesh into a DG mesh. A DG mesh of 3 node triangles will have exactly (3 times the number of elements) nodes. You may have you own utility that takes care of this, however, it is recommended to use this one. The utility here also builds the connectivity arrays. The connectivity of DG is not like traditional finite element analysis, for example the connectivity of a 3 node triangle will include 3 nodes, and the 6 nodes on adjacent elements. The input for the mesh conversion utility will consist of the traditional finite element connectivity array, list of coordinates, and boundary conditions. Example (1 element, 3 nodes, 1 Dirichlet boundary, 1 Neumann boundary) void mesh(int flag, int* conn, double* coord, double* disp, int* bnd) Loading ******************************************************************************* In this implementation, loading cannot be applied to nodes. It can only be applied to surfaces. In other words, loads are applied to each element face. Consider a 3 node triangle where the face consisting of nodes 1 and 2 are loaded with 100 N/m^2 tractions in the y direction. The input would be: boudary: {2,2, 2,2, 0,0} displacement: {0,100, 0,100, 0,0} Or consider the same element now with 1 m displacement on the same face. boudary: {1,1, 1,1, 0,0} displacement: {0,1.0, 0,1.0, 0,0}