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

fixed crash when trying to extrude a discrete surface + minor mods in the faq
parent 606c843d
No related branches found
No related tags found
No related merge requests found
// $Id: CAD.cpp,v 1.80 2005-01-01 19:35:28 geuzaine Exp $ // $Id: CAD.cpp,v 1.81 2005-02-11 02:27:12 geuzaine Exp $
// //
// Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle // Copyright (C) 1997-2005 C. Geuzaine, J.-F. Remacle
// //
...@@ -109,7 +109,11 @@ int compare2Lists(List_T * List1, List_T * List2, ...@@ -109,7 +109,11 @@ int compare2Lists(List_T * List1, List_T * List2,
{ {
int i, found; int i, found;
if(List_Nbr(List1) != List_Nbr(List2)) if(!List_Nbr(List1) && !List_Nbr(List2))
return 0;
if(!List_Nbr(List1) || !List_Nbr(List2) ||
(List_Nbr(List1) != List_Nbr(List2)))
return List_Nbr(List1) - List_Nbr(List2); return List_Nbr(List1) - List_Nbr(List2);
List_T *List1Prime = List_Create(List_Nbr(List1), 1, List1->size); List_T *List1Prime = List_Create(List_Nbr(List1), 1, List1->size);
......
$Id: FAQ,v 1.51 2005-02-04 19:42:26 geuzaine Exp $ $Id: FAQ,v 1.52 2005-02-11 02:27:13 geuzaine Exp $
This is the Gmsh FAQ This is the Gmsh FAQ
...@@ -10,11 +10,9 @@ Section 1: The basics ...@@ -10,11 +10,9 @@ Section 1: The basics
Gmsh is an automatic three-dimensional finite element mesh generator, Gmsh is an automatic three-dimensional finite element mesh generator,
primarily Delaunay, with built-in pre- and post-processing primarily Delaunay, with built-in pre- and post-processing
facilities. Its primal design goal is to provide a simple meshing tool facilities. Its design goal is to provide a simple meshing tool for
for academic problems with parametric input and advanced visualization academic problems with parametric input and advanced visualization
capabilities. One of the strengths of Gmsh is its ability to respect capabilities.
a characteristic length field for the generation of adapted meshes on
lines, surfaces and volumes.
* 1.2 What are the terms and conditions of use? * 1.2 What are the terms and conditions of use?
...@@ -27,7 +25,7 @@ GNU foundation's web site at http://www.gnu.org. ...@@ -27,7 +25,7 @@ GNU foundation's web site at http://www.gnu.org.
Nothing ;-) Nothing ;-)
(Note that in the US, people tend to pronounce 'Gmsh' as (Note that in the US, people tend to pronounce 'Gmsh' as
'Gee-mesh'. Yeah.) 'Gee-mesh'. Yeehaa!)
* 1.4 Where can I find more information? * 1.4 Where can I find more information?
...@@ -63,7 +61,9 @@ You'll also need the jpeg library if you want to save jpeg images, and ...@@ -63,7 +61,9 @@ You'll also need the jpeg library if you want to save jpeg images, and
the libpng and zlib libraries if you want to save png images. the libpng and zlib libraries if you want to save png images.
Under Windows, you will need the Cygwin tools and compilers (freely Under Windows, you will need the Cygwin tools and compilers (freely
available from http://www.cygwin.com). available from http://www.cygwin.com), as well as "cygwin-enabled"
version of FLTK (i.e., you have to configure FLTK with "./configure
--enable-cygwin").
* 2.4 How to I compile Gmsh? * 2.4 How to I compile Gmsh?
...@@ -141,12 +141,12 @@ old algorithm anymore. ...@@ -141,12 +141,12 @@ old algorithm anymore.
Send us your geometry, and we will investigate. Please keep the Send us your geometry, and we will investigate. Please keep the
following in mind though: 2D (surface) meshes are generated by following in mind though: 2D (surface) meshes are generated by
projecting a 2D mesh in the mean plane of the surface. This gives nice projecting the 2D mesh in a "mean plane" of the surface. This gives
results only if the surface curvature is small enough. Otherwise you nice results only if the surface curvature is small enough. Otherwise
_have_ to cut the surface in pieces. For example, using half circles you must cut the surface into several pieces (patches). For example,
to define a cylinder will fail with the unstructured algorithm (you using half circles to define a cylinder will fail with the
should define arcs with angles smaller than Pi, and thus define the unstructured algorithm: you should define arcs with angles smaller
cylinder with at least three patch surfaces). than Pi, and thus define the cylinder with at least three patches.
* 5.3 What should I do when the 3D unstructured algorithm fails? * 5.3 What should I do when the 3D unstructured algorithm fails?
...@@ -180,16 +180,16 @@ case. ...@@ -180,16 +180,16 @@ case.
The swapping algorithm is not very clever at the moment. Try to change The swapping algorithm is not very clever at the moment. Try to change
the surface mesh a bit, or recombine your mesh to generate prisms or the surface mesh a bit, or recombine your mesh to generate prisms or
hexahedra. hexahedra instead of tetrahedra.
* 5.8 Tools->Visibility does not seem to work with extruded meshes. * 5.8 Tools->Visibility does not seem to work with extruded meshes.
This is partially fixed in Gmsh >= 1.54. Since numbers are explicitly This is fixed in Gmsh >= 1.54. However, when region numbers are
assigned to mesh entities in the extrude commands (which partially explicitly assigned to mesh entities in the extrude commands (which
destroys the geometry/mesh relationship), the Visibility tool will partially destroys the geometry/mesh relationship), the Visibility
only work as expected when displaying Elementary entities. To tool will only work as expected when displaying Elementary
visualize extruded Physical entities, the only solution is to save the entities. In this particular case, the only solution to visualize
mesh, and to read it again. extruded Physical entities is to save the mesh, and to read it again.
* 5.9 Does Gmsh support curved elements? * 5.9 Does Gmsh support curved elements?
...@@ -221,23 +221,23 @@ Solver.Executable0, etc.), and set the ClientServer option to zero ...@@ -221,23 +221,23 @@ Solver.Executable0, etc.), and set the ClientServer option to zero
If you want your solver to interact with Gmsh (for error messages, If you want your solver to interact with Gmsh (for error messages,
option definitions, post-processing, etc.), you will need to link your option definitions, post-processing, etc.), you will need to link your
solver with the 'GmshClient.c' file and add the appropriate function solver with the GmshClient routines and add the appropriate function
calls inside your program. You will of course also need to define your calls inside your program. You will of course also need to define your
solver commands in an option file, but this time you should set the solver commands in an option file, but this time you should set the
ClientServer variable to 1 (e.g. Solver.ClientServer = 1). A complete ClientServer variable to 1 (e.g. Solver.ClientServer = 1). C, C++,
example on how to build a solver that interacts with Gmsh is available Perl and Python solver examples are available in the source
at http://www.geuz.org/gmsh/doc/mysolver.tgz. distribution in the utils/solvers directory.
* 6.2 On Windows, Gmsh does not seem to find the solver * 6.2 On Windows, Gmsh does not seem to find the solver
executable. What's wrong? executable. What's wrong?
The solver executable (e.g. 'getdp.exe') has to be in your path. If The solver executable (for example, 'getdp.exe') has to be in your
not, simply go to the solver options path. If not, simply go to the solver options (for example,
(e.g. Solver->GetDP->Options->Executable) to specify its location. Solver->GetDP->Options->Executable) to specify its location.
On recent versions of Microsoft Windows (XP SP2), it seems that you On recent versions of Microsoft Windows (XP SP2), it seems that you
need to execute the solver (e.g. launch 'getdp.exe') at least once need to execute the solver (e.g. launch 'getdp.exe') at least once
independently of Gmsh in order to authorize future executions. independently first in order to authorize future executions.
* 6.3 Can I launch Gmsh from my solver (instead of launching my solver * 6.3 Can I launch Gmsh from my solver (instead of launching my solver
from Gmsh) in order to monitor a solution? from Gmsh) in order to monitor a solution?
......
.\" $Id: gmsh.1,v 1.61 2004-12-27 17:51:55 geuzaine Exp $ .\" $Id: gmsh.1,v 1.62 2005-02-11 02:27:13 geuzaine Exp $
.TH Gmsh 1 "26 December 2004" "Gmsh 1.57" "Gmsh Manual Pages" .TH Gmsh 1 "10 February 2005" "Gmsh 1.59" "Gmsh Manual Pages"
.UC 4 .UC 4
.\" ******************************************************************** .\" ********************************************************************
.SH NAME .SH NAME
Gmsh \- an automatic three-dimensional finite element mesh generator Gmsh \- 3D finite element mesh generator with built-in CAD engine and
with built-in pre- and post-processing facilities post-processor
.\" ******************************************************************** .\" ********************************************************************
.SH SYNOPSIS .SH SYNOPSIS
.B gmsh [file(s)] [option(s)] .B gmsh [file(s)] [option(s)]
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment