Skip to content
Snippets Groups Projects
Commit 306f4e28 authored by Christophe Geuzaine's avatar Christophe Geuzaine
Browse files

fix missing SIGN in NR
parent ab06c946
No related branches found
No related tags found
No related merge requests found
# $Id: Makefile,v 1.109 2006-09-14 15:23:28 remacle Exp $
# $Id: Makefile,v 1.110 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -64,45 +64,46 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/Common//"
Context.o: Context.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Context.h \
DefaultOptions.h GmshDefines.h Options.h Views.h ColorTable.h \
VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h \
gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
Trackball.h
VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h Trackball.h
# 1 "/Users/geuzaine/.gmsh/Common//"
AdaptiveViews.o: AdaptiveViews.cpp AdaptiveViews.h ../DataStr/List.h \
GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h \
gsl/gsl_blas.h ../Plugin/Plugin.h ../Common/Options.h \
../Common/Message.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
GmshMatrix.h ../Plugin/Plugin.h ../Common/Options.h ../Common/Message.h \
../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Numeric/Numeric.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h OS.h
# 1 "/Users/geuzaine/.gmsh/Common//"
Views.o: Views.cpp Gmsh.h Message.h ../DataStr/Malloc.h ../DataStr/List.h \
../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
../DataStr/Tree.h ../Numeric/Numeric.h Views.h ColorTable.h \
VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h \
gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
Context.h Options.h
VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h Context.h \
Options.h
# 1 "/Users/geuzaine/.gmsh/Common//"
ViewsIO.o: ViewsIO.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h Views.h \
ColorTable.h VertexArray.h SmoothNormals.h AdaptiveViews.h GmshMatrix.h \
gsl/gsl_linalg.h gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
Context.h
# 1 "/Users/geuzaine/.gmsh/Common//"
Octree.o: Octree.cpp Octree.h OctreeInternals.h
# 1 "/Users/geuzaine/.gmsh/Common//"
OctreeInternals.o: OctreeInternals.cpp Message.h OctreeInternals.h
# 1 "/Users/geuzaine/.gmsh/Common//"
OctreePost.o: OctreePost.cpp Octree.h OctreeInternals.h OctreePost.h \
../DataStr/List.h Views.h ColorTable.h VertexArray.h SmoothNormals.h \
../Numeric/Numeric.h AdaptiveViews.h GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h Message.h \
../Numeric/Numeric.h AdaptiveViews.h GmshMatrix.h Message.h \
ShapeFunctions.h
# 1 "/Users/geuzaine/.gmsh/Common//"
Options.o: Options.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h GmshUI.h GmshDefines.h \
../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h Context.h Options.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h Context.h Options.h \
../Plugin/PluginManager.h ../Plugin/Plugin.h ../Common/Options.h \
../Common/Message.h ../Fltk/Solvers.h ../Fltk/GUI.h \
../Fltk/Opengl_Window.h ../Mesh/Mesh.h ../Common/GmshDefines.h \
......@@ -113,13 +114,13 @@ Options.o: Options.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h \
../Fltk/Colorbar_Window.h ../Common/GmshUI.h ../Fltk/Popup_Button.h \
../Fltk/SpherePosition_Widget.h
# 1 "/Users/geuzaine/.gmsh/Common//"
CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h GmshUI.h GmshDefines.h \
GmshVersion.h CommandLine.h ../Numeric/Numeric.h Context.h Options.h \
../Geo/Geo.h Views.h ColorTable.h VertexArray.h SmoothNormals.h \
AdaptiveViews.h GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h \
gsl/gsl_vector.h gsl/gsl_blas.h ../Parser/OpenFile.h \
AdaptiveViews.h GmshMatrix.h ../Parser/OpenFile.h \
../Parser/CreateFile.h ../Parser/Parser.h ../Geo/GModel.h \
../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
......@@ -132,11 +133,14 @@ CommandLine.o: CommandLine.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../Geo/SVector3.h ../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h \
../Geo/MElement.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h \
OS.h
# 1 "/Users/geuzaine/.gmsh/Common//"
OS.o: OS.cpp Message.h
# 1 "/Users/geuzaine/.gmsh/Common//"
ColorTable.o: ColorTable.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h ColorTable.h Context.h \
../Numeric/Numeric.h
# 1 "/Users/geuzaine/.gmsh/Common//"
Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
......@@ -151,13 +155,17 @@ Visibility.o: Visibility.cpp Visibility.h GmshDefines.h ../Geo/GVertex.h \
../Geo/GModel.h ../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h \
../Geo/GRegion.h ../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h \
../Parser/Parser.h ../DataStr/Tree.h ../DataStr/avl.h
# 1 "/Users/geuzaine/.gmsh/Common//"
Trackball.o: Trackball.cpp Trackball.h
# 1 "/Users/geuzaine/.gmsh/Common//"
VertexArray.o: VertexArray.cpp VertexArray.h Context.h ../DataStr/List.h \
../Numeric/Numeric.h
# 1 "/Users/geuzaine/.gmsh/Common//"
SmoothNormals.o: SmoothNormals.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h ../Numeric/Numeric.h \
SmoothNormals.h
# 1 "/Users/geuzaine/.gmsh/Common//"
License.o: License.cpp Gmsh.h Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h
# $Id: Makefile,v 1.35 2006-09-14 15:23:28 remacle Exp $
# $Id: Makefile,v 1.36 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -55,9 +55,15 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/DataStr//"
List.o: List.cpp Malloc.h List.h ../Common/Message.h SafeIO.h
# 1 "/Users/geuzaine/.gmsh/DataStr//"
Malloc.o: Malloc.cpp Malloc.h ../Common/Message.h
# 1 "/Users/geuzaine/.gmsh/DataStr//"
SafeIO.o: SafeIO.cpp SafeIO.h ../Common/Message.h
# 1 "/Users/geuzaine/.gmsh/DataStr//"
Tree.o: Tree.cpp Malloc.h Tree.h avl.h ../Common/Message.h
# 1 "/Users/geuzaine/.gmsh/DataStr//"
avl.o: avl.cpp avl.h Malloc.h
# 1 "/Users/geuzaine/.gmsh/DataStr//"
Tools.o: Tools.cpp Tools.h List.h Tree.h avl.h
# $Id: Makefile,v 1.106 2006-09-14 15:23:28 remacle Exp $
# $Id: Makefile,v 1.107 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -63,6 +63,7 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
../Common/GmshDefines.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../Mesh/Vertex.h ../Mesh/Element.h ../Mesh/Vertex.h \
......@@ -76,8 +77,7 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
../DataStr/List.h ../DataStr/Tree.h ../Geo/Geo.h ../Parser/CreateFile.h \
../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h ../Common/Context.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h \
../Common/Options.h ../Parser/Parser.h ../Parser/OpenFile.h \
../Common/CommandLine.h Solvers.h ../Plugin/PluginManager.h \
../Plugin/Plugin.h ../Geo/gmshModel.h ../Geo/GModel.h ../Geo/GVertex.h \
......@@ -91,6 +91,7 @@ Main.o: Main.cpp GUI.h Opengl_Window.h ../Mesh/Mesh.h \
../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h ../Geo/Pair.h \
../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......@@ -103,14 +104,14 @@ Message.o: Message.cpp ../Common/Gmsh.h ../Common/Message.h \
../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h Colorbar_Window.h \
../Common/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
GUI_Extras.h ../Common/OS.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
GUI.o: GUI.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
../DataStr/List.h ../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h \
../DataStr/List.h ../DataStr/Tree.h ../Common/GmshUI.h \
../Numeric/Numeric.h ../Common/Context.h ../Common/Options.h \
../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h GUI.h Opengl_Window.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h GUI.h Opengl_Window.h \
../Mesh/Mesh.h ../Common/GmshDefines.h ../Mesh/Vertex.h \
../Mesh/Element.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Vertex.h \
../Mesh/Element.h ../Mesh/Face.h ../Mesh/Vertex.h ../Mesh/Element.h \
......@@ -120,6 +121,7 @@ GUI.o: GUI.cpp ../Common/Gmsh.h ../Common/Message.h ../DataStr/Malloc.h \
Popup_Button.h SpherePosition_Widget.h Callbacks.h Bitmaps.h \
Win32Icon.h ../Parser/OpenFile.h ../Common/CommandLine.h Solvers.h \
../Plugin/PluginManager.h ../Plugin/Plugin.h Shortcut_Window.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
GUI_Extras.o: GUI_Extras.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......@@ -133,8 +135,8 @@ GUI_Extras.o: GUI_Extras.cpp ../Common/Gmsh.h ../Common/Message.h \
../Common/Context.h ../Graphics/Draw.h ../Common/Views.h \
../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Numeric/Numeric.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h
../Common/AdaptiveViews.h ../Common/GmshMatrix.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......@@ -147,8 +149,7 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
../Mesh/Matrix.h ../Geo/ExtrudeParams.h ../Geo/ExtractContour.h \
../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h \
../Graphics/SelectBuffer.h ../Geo/GVertex.h ../Geo/GEntity.h \
../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
../Geo/SPoint3.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h \
......@@ -166,6 +167,7 @@ Callbacks.o: Callbacks.cpp ../Common/Gmsh.h ../Common/Message.h \
../Common/GmshDefines.h Solvers.h ../Common/OS.h ../Geo/GModel.h \
../Geo/GVertex.h ../Geo/GEdge.h ../Geo/GFace.h ../Geo/GRegion.h \
../Geo/SBoundingBox3d.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......@@ -173,9 +175,8 @@ Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
../Geo/Geo.h ../Graphics/Draw.h ../Common/Views.h \
../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Common/AdaptiveViews.h \
../Common/GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h \
gsl/gsl_vector.h gsl/gsl_blas.h ../Graphics/SelectBuffer.h \
../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Common/GmshMatrix.h ../Graphics/SelectBuffer.h ../Geo/GVertex.h \
../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
......@@ -191,6 +192,7 @@ Opengl.o: Opengl.cpp ../Common/Gmsh.h ../Common/Message.h \
../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
../Mesh/Matrix.h Colorbar_Window.h Popup_Button.h \
SpherePosition_Widget.h ../Graphics/gl2ps.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......@@ -198,9 +200,8 @@ Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
../Geo/Geo.h ../Graphics/Draw.h ../Common/Views.h \
../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Common/AdaptiveViews.h \
../Common/GmshMatrix.h gsl/gsl_linalg.h gsl/gsl_matrix.h \
gsl/gsl_vector.h gsl/gsl_blas.h ../Graphics/SelectBuffer.h \
../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Common/GmshMatrix.h ../Graphics/SelectBuffer.h ../Geo/GVertex.h \
../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
......@@ -216,6 +217,7 @@ Opengl_Window.o: Opengl_Window.cpp ../Common/Gmsh.h ../Common/Message.h \
../Mesh/Metric.h ../Mesh/Vertex.h ../Mesh/Simplex.h ../Mesh/Mesh.h \
../Mesh/Matrix.h Colorbar_Window.h Popup_Button.h \
SpherePosition_Widget.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Colorbar_Window.o: Colorbar_Window.cpp ../Common/Gmsh.h \
../Common/Message.h ../DataStr/Malloc.h ../DataStr/List.h \
../DataStr/Tree.h ../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h \
......@@ -228,6 +230,7 @@ Colorbar_Window.o: Colorbar_Window.cpp ../Common/Gmsh.h \
../Mesh/Simplex.h ../Mesh/Mesh.h ../Mesh/Matrix.h Colorbar_Window.h \
../Common/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
../Common/Context.h
# 1 "/Users/geuzaine/.gmsh/Fltk//"
Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......@@ -241,5 +244,4 @@ Solvers.o: Solvers.cpp ../Common/Gmsh.h ../Common/Message.h \
../Common/ColorTable.h Popup_Button.h SpherePosition_Widget.h \
../Graphics/Draw.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h ../Numeric/Numeric.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h gsl/gsl_linalg.h \
gsl/gsl_matrix.h gsl/gsl_vector.h gsl/gsl_blas.h ../Common/Context.h
../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Context.h
......@@ -54,30 +54,50 @@ void debugVertices(std::vector<MVertex*> &vertices, std::string file,
fclose(fp);
}
void debugElements(std::vector<MElement*> &elements, std::string file,
template<class T>
void debugElements(std::vector<T*> &elements, std::string file,
bool parametric, int num=0)
{
char name[256];
sprintf(name, "%s_%d.pos", file.c_str(), num);
FILE *fp = fopen(name, "w");
fprintf(fp, "View \"debug\"{\n");
for(unsigned int i = 0; i < elements.size(); i++)
elements[i]->writePOS(fp);
for(unsigned int i = 0; i < elements.size(); i++){
fprintf(fp, "%s(", elements[i]->getStringForPOS());
for(int j = 0; j < elements[i]->getNumVertices(); j++){
MVertex *v = elements[i]->getVertex(j);
if(j) fprintf(fp, ",");
double x, y, z;
if(parametric){
v->getParameter(0, x);
v->getParameter(1, y);
z = 0;
}
else{
x = v->x(); y = v->y(); z = v->z();
}
fprintf(fp, "%g,%g,%g", x, y, z);
}
fprintf(fp, "){");
for(int j = 0; j < elements[i]->getNumVertices(); j++){
MVertex *v = elements[i]->getVertex(j);
if(j) fprintf(fp, ",");
if(v->getData()){
double pou = *(double*)v->getData();
fprintf(fp, "%g", pou);
}
else{
fprintf(fp, "%d", v->onWhat()->tag());
}
}
fprintf(fp, "};\n");
}
fprintf(fp, "};\n");
fclose(fp);
}
class meshCartesian{
public:
typedef MDataFaceVertex<double> DVertex;
static std::set<DVertex*, MVertexLessThanLexicographic> vPosition;
static std::set<MVertex*> vDelete;
static void deleteUnusedVertices()
{
for(std::set<MVertex*>::iterator it = vDelete.begin(); it != vDelete.end(); it++)
delete *it;
vDelete.clear();
}
void operator() (GFace *gf)
{
int M = (int)(30. / CTX.mesh.lc_factor), N = (int)(30. / CTX.mesh.lc_factor);
......@@ -88,17 +108,8 @@ public:
GPoint p = gf->point(u, v);
double pou;
FM->GetPou(gf->tag(), u, v, pou);
DVertex *w = new DVertex(p.x(), p.y(), p.z(), gf, u, v, pou);
// eliminate duplicate vertices on hard edges
std::set<DVertex*, MVertexLessThanLexicographic>::iterator it = vPosition.find(w);
if(it != vPosition.end()){
delete w;
gf->mesh_vertices.push_back(*it);
}
else{
vPosition.insert(w);
gf->mesh_vertices.push_back(w);
}
gf->mesh_vertices.push_back
(new MDataFaceVertex<double>(p.x(), p.y(), p.z(), gf, u, v, pou));
}
}
for(int i = 0; i < M - 1; i++){
......@@ -114,9 +125,6 @@ public:
}
};
std::set<meshCartesian::DVertex*, MVertexLessThanLexicographic> meshCartesian::vPosition;
std::set<MVertex*> meshCartesian::vDelete;
class computePartitionOfUnity{
public:
void operator() (GFace *gf)
......@@ -160,6 +168,8 @@ public:
}
}
}
//debugElements(gf->quadrangles, "pou", false, gf->tag());
}
};
......@@ -189,8 +199,7 @@ public:
newq.push_back(gf->quadrangles[i]);
gf->quadrangles = newq;
// remove vertices in the groove (we cannot delete them right away
// since some can be shared between faces on hard edges)
// remove vertices in the groove
std::vector<MVertex*> newv;
for(unsigned int i = 0; i < gf->mesh_vertices.size(); i++)
gf->mesh_vertices[i]->setVisibility(-1);
......@@ -199,7 +208,7 @@ public:
gf->quadrangles[i]->getVertex(j)->setVisibility(1);
for(unsigned int i = 0; i < gf->mesh_vertices.size(); i++)
if(gf->mesh_vertices[i]->getVisibility() < 0)
meshCartesian::vDelete.insert(gf->mesh_vertices[i]);
delete gf->mesh_vertices[i];
else
newv.push_back(gf->mesh_vertices[i]);
gf->mesh_vertices = newv;
......@@ -224,6 +233,11 @@ void getOrderedBoundaryLoops(std::vector<MElement*> &elements,
for(std::map<vpair, vpair>::iterator it = edges.begin(); it != edges.end(); it++)
connect[it->second.first] = it->second.second;
std::vector<MVertex*> debug;
for(std::map<MVertex*, MVertex*>::iterator it = connect.begin(); it != connect.end(); it++)
debug.push_back(it->first);
debugVertices(debug, "xxxx", false, 0);
loops.resize(1);
while(connect.size()){
if(loops[loops.size() - 1].empty())
......@@ -242,14 +256,6 @@ void getOrderedBoundaryLoops(std::vector<MElement*> &elements,
Msg(INFO, "Found %d loop(s) in boundary", loops.size());
}
void addElements(GFace *gf, std::vector<MElement*> &elements)
{
for(unsigned int i = 0; i < gf->triangles.size(); i++)
elements.push_back(gf->triangles[i]);
for(unsigned int i = 0; i < gf->quadrangles.size(); i++)
elements.push_back(gf->quadrangles[i]);
}
void classifyFaces(GFace *gf, std::set<GFace*> &connected, std::set<GFace*> &other)
{
connected.insert(gf);
......@@ -288,7 +294,7 @@ void getIntersectingBoundaryParts(GFace *gf, std::vector<MElement*> &elements,
getOrderedBoundaryLoops(elements, loops);
parts.resize(loops.size());
if(gf->tag() == 0){
if(0){
debugElements(elements, "elements", false);
for(unsigned int i = 0; i < loops.size(); i++)
debugVertices(loops[i], "boundary", false, i);
......@@ -325,22 +331,49 @@ void getIntersectingBoundaryParts(GFace *gf, std::vector<MElement*> &elements,
}
}
void meshGrout(GFace *gf, std::vector<MVertex*> &loop, std::vector<MVertex*> &hole)
{
fourierFace *grout = new fourierFace(gf, loop, hole);
meshGFace mesh;
mesh(grout);
//debugElements(grout->triangles, "grout", true);
for(unsigned int i = 0; i < grout->triangles.size(); i++)
gf->triangles.push_back(grout->triangles[i]);
for(unsigned int i = 0; i < loop.size(); i++)
gf->mesh_vertices.push_back(loop[i]);
for(unsigned int i = 0; i < hole.size(); i++)
gf->mesh_vertices.push_back(hole[i]);
for(unsigned int i = 0; i < grout->mesh_vertices.size(); i++)
gf->mesh_vertices.push_back(grout->mesh_vertices[i]);
delete grout;
}
class createGrout{
public:
void operator() (GFace *gf)
{
if(gf->tag() > 1) return;
if(gf->tag() > 2) return;
Msg(INFO, "Processing grout for face %d", gf->tag());
std::set<GFace*> connected, other;
classifyFaces(gf, connected, other);
std::vector<MElement*> connectedElements, otherElements;
for(std::set<GFace*>::iterator it = connected.begin(); it != connected.end(); it++)
addElements(*it, connectedElements);
for(std::set<GFace*>::iterator it = other.begin(); it != other.end(); it++)
addElements(*it, otherElements);
std::vector<MElement*> connectedElements;
for(std::set<GFace*>::iterator it = connected.begin(); it != connected.end(); it++){
for(unsigned int i = 0; i < (*it)->triangles.size(); i++)
connectedElements.push_back((*it)->triangles[i]);
for(unsigned int i = 0; i < (*it)->quadrangles.size(); i++)
connectedElements.push_back((*it)->quadrangles[i]);
}
std::vector<MElement*> otherElements;
for(std::set<GFace*>::iterator it = other.begin(); it != other.end(); it++){
for(unsigned int i = 0; i < (*it)->triangles.size(); i++)
otherElements.push_back((*it)->triangles[i]);
for(unsigned int i = 0; i < (*it)->quadrangles.size(); i++)
otherElements.push_back((*it)->quadrangles[i]);
}
std::vector<std::vector<std::vector<MVertex*> > > inside;
getIntersectingBoundaryParts(gf, connectedElements, inside);
......@@ -357,6 +390,7 @@ public:
std::vector<MVertex*> hole, loop;
if(inside.size() == 1 && inside[0].size() == 1){
Msg(INFO, "CASE 1: MESH AROUND ONE-PART HOLE");
// create hole
SPoint2 ic(0., 0.);
{
......@@ -404,39 +438,31 @@ public:
loop.push_back(hole[0]);
}
// mesh the grout
fourierFace *grout = new fourierFace(gf, loop, hole);
meshGFace mesh;
mesh(grout);
for(unsigned int i = 0; i < grout->triangles.size(); i++)
gf->triangles.push_back(grout->triangles[i]);
for(unsigned int i = 0; i < loop.size(); i++)
gf->mesh_vertices.push_back(loop[i]);
for(unsigned int i = 0; i < hole.size(); i++)
gf->mesh_vertices.push_back(hole[i]);
for(unsigned int i = 0; i < grout->mesh_vertices.size(); i++)
gf->mesh_vertices.push_back(grout->mesh_vertices[i]);
delete grout;
meshGrout(gf, loop, hole);
}
else{
Msg(WARNING, "Faces with no holes not implemented yet!");
// num individual meshes = num parts with onWhat() == gf!
// for each one
// - find other parts that are "close" (using POUs?)
// - sort parts w.r.t barycenter of each group
else if(!outside.size()){
Msg(INFO, "CASE 2: MESH SIMPLE HOLES");
hole.clear();
for(unsigned int i = 0; i < inside.size(); i++){
loop.clear();
for(unsigned int j = 0; j < inside[i].size(); j++){
for(unsigned int k = 0; k < inside[i][j].size(); k++){
loop.push_back(inside[i][j][k]);
}
}
loop.push_back(loop[0]);
meshGrout(gf, loop, hole);
}
}
debugVertices(hole, "hole", false, gf->tag());
debugVertices(loop, "loop", false, gf->tag());
else{
// num individual meshes = num parts with onWhat() == gf!
// for each one
// - find other parts that are "close" (using POUs?)
// - sort parts w.r.t barycenter of each group
Msg(GERROR, "This case is not implemented yet");
}
debugVertices(hole, "hole", true, gf->tag());
debugVertices(loop, "loop", true, gf->tag());
}
};
......@@ -453,9 +479,6 @@ fourierModel::fourierModel(const std::string &name)
for(int i = 0; i < FM->GetNumPatches(); i++)
add(new fourierFace(this, i));
meshCartesian::vPosition.clear();
MVertexLessThanLexicographic::tolerance = 1.e-12; // Warning: tolerance
// mesh each face with quads
std::for_each(firstFace(), lastFace(), meshCartesian());
......@@ -463,13 +486,13 @@ fourierModel::fourierModel(const std::string &name)
std::for_each(firstFace(), lastFace(), computePartitionOfUnity());
// create grooves
meshCartesian::vDelete.clear();
std::for_each(firstFace(), lastFace(), createGroove());
meshCartesian::deleteUnusedVertices();
// create grout
std::for_each(firstFace(), lastFace(), createGrout());
// remove any duplicate vertices on hard edges
CTX.mesh.changed = ENT_ALL;
}
......
# $Id: Makefile,v 1.132 2006-09-11 18:16:19 remacle Exp $
# $Id: Makefile,v 1.133 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -448,17 +448,30 @@ meshGFaceTransfinite.o: meshGFaceTransfinite.cpp meshGFace.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \
../Geo/Pair.h ../Common/Message.h
# 1 "/Users/geuzaine/.gmsh/Mesh//"
meshGRegion.o: meshGRegion.cpp meshGRegion.h ../Geo/GRegion.h \
../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
meshGRegionDelaunayInsertion.o: meshGRegionDelaunayInsertion.cpp \
meshGRegionDelaunayInsertion.h ../Geo/MElement.h \
../Common/GmshDefines.h ../Geo/MVertex.h ../Geo/SPoint3.h \
../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
../Geo/MFace.h ../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h \
../Common/Context.h ../DataStr/List.h ../Geo/GRegion.h ../Geo/GEntity.h \
../Geo/Range.h ../Geo/SPoint3.h ../Geo/SBoundingBox3d.h \
../Geo/SPoint3.h ../Geo/MElement.h ../Common/Message.h
# 1 "/Users/geuzaine/.gmsh/Mesh//"
meshGRegion.o: meshGRegion.cpp meshGRegion.h ../Geo/GModel.h \
../Geo/GVertex.h ../Geo/GEntity.h ../Geo/Range.h ../Geo/SPoint3.h \
../Geo/SBoundingBox3d.h ../Geo/SPoint3.h ../Common/GmshDefines.h \
../Geo/MElement.h ../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/MEdge.h \
../Geo/MVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h ../Geo/MFace.h \
../Geo/MVertex.h ../Geo/SPoint3.h ../Geo/GPoint.h ../Geo/GEdge.h \
../Geo/GEntity.h ../Geo/GVertex.h ../Geo/SVector3.h ../Geo/SPoint3.h \
../Geo/SPoint3.h ../Geo/SPoint2.h ../Geo/MElement.h ../Geo/MVertex.h \
../Geo/MEdge.h ../Geo/MVertex.h ../Geo/SVector3.h ../Geo/MFace.h \
../Geo/MVertex.h ../Geo/SVector3.h ../Numeric/Numeric.h \
../Common/Context.h ../DataStr/List.h ../Geo/GFace.h ../Geo/GPoint.h \
../Geo/GEntity.h ../Geo/MElement.h ../Geo/SPoint2.h ../Geo/SVector3.h \
../Geo/Pair.h BDS.h ../Common/Views.h ../Common/ColorTable.h \
../Common/VertexArray.h ../Common/SmoothNormals.h \
../Common/AdaptiveViews.h ../Common/GmshMatrix.h ../Common/Message.h
../Geo/Pair.h ../Geo/GRegion.h ../Geo/GEntity.h ../Geo/MElement.h \
../Geo/SBoundingBox3d.h ../Common/SmoothNormals.h BDS.h \
../Common/Views.h ../Common/ColorTable.h ../Common/VertexArray.h \
../Common/SmoothNormals.h ../Common/AdaptiveViews.h \
../Common/GmshMatrix.h ../Common/Message.h
# 1 "/Users/geuzaine/.gmsh/Mesh//"
Nurbs.o: Nurbs.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
......
# $Id: Makefile,v 1.29 2006-09-11 17:58:19 geuzaine Exp $
# $Id: Makefile,v 1.30 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -62,6 +62,8 @@ Numeric.o: Numeric.cpp ../Common/Gmsh.h ../Common/Message.h \
# 1 "/Users/geuzaine/.gmsh/Numeric//"
EigSolve.o: EigSolve.cpp
# 1 "/Users/geuzaine/.gmsh/Numeric//"
predicates.o: predicates.cpp
# 1 "/Users/geuzaine/.gmsh/Numeric//"
gsl_newt.o: gsl_newt.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......
# $Id: Makefile,v 1.32 2006-09-14 15:23:29 remacle Exp $
# $Id: Makefile,v 1.33 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -50,6 +50,7 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/Parallel//"
ParUtil.o: ParUtil.cpp ../Common/Gmsh.h ../Common/Message.h \
../DataStr/Malloc.h ../DataStr/List.h ../DataStr/Tree.h \
../DataStr/avl.h ../DataStr/Tools.h ../DataStr/List.h ../DataStr/Tree.h \
......
......@@ -106,17 +106,3 @@ Coherence;
Extrude Surface {126, {0,0,hcav-hg} };
Coherence;
//Characteristic Length {58,71} = 0.01;
//Point(85) = {0.0,0.0,0.0,1.0};
Surface Loop(158) = {67,27,43,47,51,55,59,63,68};
Volume(159) = {158};
Surface Loop(159) = {112,29,84,67,125,92,96,100,104,108,116,120,124};
Volume(160) = {159};
GO = 1 ;
CAV = 2 ;
DIS = 3 ;
CLDSRC = 4 ;
CLD = 5 ;
# $Id: Makefile,v 1.10 2006-09-14 15:23:29 remacle Exp $
# $Id: Makefile,v 1.11 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -63,38 +63,52 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
ANN.o: src/ANN.cpp include/ANN/ANNx.h include/ANN/ANN.h \
include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
bd_fix_rad_search.o: src/bd_fix_rad_search.cpp src/bd_tree.h \
include/ANN/ANNx.h include/ANN/ANN.h src/kd_tree.h \
src/kd_fix_rad_search.h src/kd_util.h src/pr_queue_k.h \
include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
bd_pr_search.o: src/bd_pr_search.cpp src/bd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h src/kd_tree.h src/kd_pr_search.h src/kd_util.h \
src/pr_queue.h include/ANN/ANNperf.h src/pr_queue_k.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
bd_search.o: src/bd_search.cpp src/bd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h src/kd_tree.h src/kd_search.h src/kd_util.h \
src/pr_queue_k.h include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
bd_tree.o: src/bd_tree.cpp src/bd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h src/kd_tree.h src/kd_util.h src/kd_split.h \
include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
brute.o: src/brute.cpp include/ANN/ANNx.h include/ANN/ANN.h \
src/pr_queue_k.h include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_dump.o: src/kd_dump.cpp src/kd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h src/bd_tree.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_fix_rad_search.o: src/kd_fix_rad_search.cpp src/kd_fix_rad_search.h \
src/kd_tree.h include/ANN/ANNx.h include/ANN/ANN.h src/kd_util.h \
src/pr_queue_k.h include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_pr_search.o: src/kd_pr_search.cpp src/kd_pr_search.h src/kd_tree.h \
include/ANN/ANNx.h include/ANN/ANN.h src/kd_util.h src/pr_queue.h \
include/ANN/ANNperf.h src/pr_queue_k.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_search.o: src/kd_search.cpp src/kd_search.h src/kd_tree.h \
include/ANN/ANNx.h include/ANN/ANN.h src/kd_util.h src/pr_queue_k.h \
include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_split.o: src/kd_split.cpp src/kd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h src/kd_util.h src/kd_split.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_tree.o: src/kd_tree.cpp src/kd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h src/kd_split.h src/kd_util.h include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
kd_util.o: src/kd_util.cpp src/kd_util.h src/kd_tree.h include/ANN/ANNx.h \
include/ANN/ANN.h include/ANN/ANNperf.h
# 1 "/Users/geuzaine/.gmsh/contrib/ANN//"
perf.o: src/perf.cpp include/ANN/ANN.h include/ANN/ANNperf.h
# $Id: Makefile,v 1.10 2006-09-14 15:23:30 remacle Exp $
# $Id: Makefile,v 1.11 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -61,13 +61,19 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
matheval.o: matheval.cpp common.h ../../DataStr/Malloc.h matheval.h \
node.h symbol_table.h
# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
node.o: node.cpp common.h ../../DataStr/Malloc.h node.h symbol_table.h
# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
scanner.yy.o: scanner.yy.cpp common.h ../../DataStr/Malloc.h node.h \
symbol_table.h parser.tab.hpp
# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
parser.tab.o: parser.tab.cpp common.h ../../DataStr/Malloc.h node.h \
symbol_table.h
# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
symbol_table.o: symbol_table.cpp common.h ../../DataStr/Malloc.h \
symbol_table.h xmath.h
# 1 "/Users/geuzaine/.gmsh/contrib/MathEval//"
xmath.o: xmath.cpp xmath.h
# $Id: Makefile,v 1.10 2006-09-14 15:23:30 remacle Exp $
# $Id: Makefile,v 1.11 2006-09-14 15:48:35 geuzaine Exp $
#
# Copyright (C) 1997-2006 C. Geuzaine, J.-F. Remacle
#
......@@ -101,65 +101,117 @@ depend:
rm -f Makefile.new
# DO NOT DELETE THIS LINE
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
balance.o: balance.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
fm.o: fm.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
kwayfm.o: kwayfm.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mcoarsen.o: mcoarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
minitpart2.o: minitpart2.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mpmetis.o: mpmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
pmetis.o: pmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
subdomains.o: subdomains.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
bucketsort.o: bucketsort.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
fortran.o: fortran.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
kwayrefine.o: kwayrefine.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
memory.o: memory.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
minitpart.o: minitpart.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mrefine2.o: mrefine2.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
pqueue.o: pqueue.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
timing.o: timing.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
ccgraph.o: ccgraph.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
frename.o: frename.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
kwayvolfm.o: kwayvolfm.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mesh.o: mesh.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mkmetis.o: mkmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mrefine.o: mrefine.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
refine.o: refine.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
util.o: util.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
coarsen.o: coarsen.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
graph.o: graph.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
kwayvolrefine.o: kwayvolrefine.c metis.h defs.h struct.h macros.h \
rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
meshpart.o: meshpart.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mkwayfmh.o: mkwayfmh.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mutil.o: mutil.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
separator.o: separator.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
compress.o: compress.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
initpart.o: initpart.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
match.o: match.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mfm2.o: mfm2.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mkwayrefine.o: mkwayrefine.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
myqsort.o: myqsort.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
sfm.o: sfm.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
debug.o: debug.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
kmetis.o: kmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mbalance2.o: mbalance2.c metis.h defs.h struct.h macros.h rename.h \
proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mfm.o: mfm.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mmatch.o: mmatch.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
ometis.o: ometis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
srefine.o: srefine.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
estmem.o: estmem.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
kvmetis.o: kvmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mbalance.o: mbalance.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mincover.o: mincover.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
mmd.o: mmd.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
parmetis.o: parmetis.c metis.h defs.h struct.h macros.h rename.h proto.h
# 1 "/Users/geuzaine/.gmsh/contrib/Metis//"
stat.o: stat.c metis.h defs.h struct.h macros.h rename.h proto.h
......@@ -45,9 +45,9 @@ static int imaxarg1,imaxarg2;
static int iminarg1,iminarg2;
#define IMIN(a,b) (iminarg1=(a),iminarg2=(b),(iminarg1) < (iminarg2) ?\
(iminarg1) : (iminarg2))
*/
#define SIGN(a,b) ((b) >= 0.0 ? fabs(a) : -fabs(a))
*/
#if defined(__STDC__) || defined(ANSI) || defined(NRANSI) /* ANSI */
......
This diff is collapsed.
$Id: TODO,v 1.18 2006-08-27 23:10:36 geuzaine Exp $
$Id: TODO,v 1.19 2006-09-14 15:48:35 geuzaine Exp $
********************************************************************
......@@ -49,45 +49,6 @@ element to element in a single surface? (TO BE CONFIRMED)
********************************************************************
recompute bbox/axes depending on what is which entities are
visible. (For meshes with no geometry: either store a bbox for each
curve/surface/volume or loop over all elements.)
********************************************************************
- Fix nodes of surface elements in Tetgen (easy)
- Extend Tetgen to multiple-volume geometries (hard)
- Tetgen+partitions -> crash in BDS transfer
********************************************************************
allow mixed 1st/2nd order meshes (2nd order only where the geometry
requires it). Add this as an advanced option since it will create
meshes with hanging nodes.
From: Julian Swartz <swartzjp@gmail.com>
> I think that the feature may also fit under:
>
> menu: Tool -> Options
> select "Mesh"
> tab "General"
> then perhaps under "Generate second order elements" there could be an
> additional check box for "Generate second order elements only along
> curved boundaries".
>
********************************************************************
automatic exterior orientation of boundary surfaces (would greatly
enhance Netgen/Frontal integration). One way is to compute the solid
angle using the discretized surface. Another (probably more efficient
way) is to select one element per surface loop, shoot a ray in both
normal directions, and count the intersections with all other elements
in the same surface: if we get 0 or an even number, the normal points
outside. If we get an even number, it points inside.
********************************************************************
add an interactive way to choose the orientation of surfaces in
surface loops and lines in line loops?
......@@ -109,10 +70,6 @@ extruded+recombined surfaces to create Transfinite Volumes
********************************************************************
add a mode to pick a mesh element with the mouse (a la medit)
********************************************************************
add option to cutmesh to cap the mesh instead of displaying "whole"
elements
......@@ -167,10 +124,6 @@ index-based format)
********************************************************************
Test and reintroduce the cylindrical surfaces (cylinder, cone, torus)
********************************************************************
add parameter to transformation operations to copy the meshes
********************************************************************
......@@ -198,11 +151,6 @@ be solved if we had dynamic labels?)
********************************************************************
make Recombine work the same as "Second order"? (i.e., allow for
interactive use?)
********************************************************************
The "Symmetry" operation should be renamed "Reflection" (?)
********************************************************************
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment