gmsh issueshttps://gitlab.onelab.info/gmsh/gmsh/-/issues2017-08-05T11:31:52Zhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/78deal with relative paths with -watch option2017-08-05T11:31:52ZChristophe Geuzainedeal with relative paths with -watch option-watch works well with absolute paths -- check what's going on with reltive paths-watch works well with absolute paths -- check what's going on with reltive pathshttps://gitlab.onelab.info/gmsh/gmsh/-/issues/245Ellipse arc is wrong when symmetric start-end points are provided2017-08-05T11:42:17ZChristophe GeuzaineEllipse arc is wrong when symmetric start-end points are providedConsider this example:
```
R1 = 1.0;
R2 = 2.0;
Point(1) = { 0.0, 0.0, 0.0 };
Point(2) = { R1 * Cos(0), R2 * Sin(0), 0.0 };
Point(3) = { R1 * Cos(Pi/2), R2 * Sin(Pi/2), 0.0 };
Point(4) = { R1 * Cos(Pi), R2 * Sin(Pi), 0.0 };
Point(6) = ...Consider this example:
```
R1 = 1.0;
R2 = 2.0;
Point(1) = { 0.0, 0.0, 0.0 };
Point(2) = { R1 * Cos(0), R2 * Sin(0), 0.0 };
Point(3) = { R1 * Cos(Pi/2), R2 * Sin(Pi/2), 0.0 };
Point(4) = { R1 * Cos(Pi), R2 * Sin(Pi), 0.0 };
Point(6) = { R1 * Cos(Pi/6), R2 * Sin(Pi/6), 0.0 };
Point(7) = { R1 * Cos(5*Pi/6), R2 * Sin(5*Pi/6), 0.0 };
Ellipse(1) = { 2, 1, 3, 7 }; // Ok
Ellipse(2) = { 6, 1, 3, 7 }; // Wrong
```
Ellipse 2 is wrong. It is worth noticing that a Circle arc under the same conditions works fine:
```
R = 1.0;
Point(1) = { 0.0, 0.0, 0.0 };
Point(2) = { R * Cos(Pi/6), R * Sin(Pi/6), 0.0 };
Point(3) = { R * Cos(5*Pi/6), R * Sin(5*Pi/6), 0.0 };
Circle(1) = { 2, 1, 3 };
```
A workaround is to draw the ellipse in two pieces:
```
Ellipse(4) = { 6, 1, 3, 3 };
Ellipse(5) = { 3, 1, 3, 7 };
```https://gitlab.onelab.info/gmsh/gmsh/-/issues/242Suggest Copy Transfinite Properties for Periodic Slave Faces in Volumes2017-08-05T11:43:00ZChristophe GeuzaineSuggest Copy Transfinite Properties for Periodic Slave Faces in VolumesPresently when using periodic master/slave faces the master
face meshing successfully copies to the slave face for 1D and 2D
including transfinite and 'recombined' properties (i.e. generating
quadrilaterals).
However to transfinite me...Presently when using periodic master/slave faces the master
face meshing successfully copies to the slave face for 1D and 2D
including transfinite and 'recombined' properties (i.e. generating
quadrilaterals).
However to transfinite mesh a *volume(, the slave faces must be
separately re-declared as transfinite, otherwise
MeshTransfiniteVolume(GRegion*) does not recognise them as such
(face.index() remains uninitialised as -1) and rejects the volume
(it does not recognise the faces as 'all transfinite').https://gitlab.onelab.info/gmsh/gmsh/-/issues/125Transfinite Volume does not accept a surface which has not been explicitly 'T...2017-08-06T06:54:09ZChristophe GeuzaineTransfinite Volume does not accept a surface which has not been explicitly 'Transfinite(d)'Transfinite Volume doesn't accept a surface which has not been explicitly 'Transfinite(d)' : for example it does not accept surface whose mesh was obtained using Periodic Surface with a master Surface 'transfinited' (and recombined).
The...Transfinite Volume doesn't accept a surface which has not been explicitly 'Transfinite(d)' : for example it does not accept surface whose mesh was obtained using Periodic Surface with a master Surface 'transfinited' (and recombined).
The same problem occurs if we try to transfinite a volume containing a new "top" surface num[0] obtained by extruding a 'transfinited' surface (or all other surfaces that are created during the extrusion)
[test_periodic_surface.geo](/uploads/194f0c158b86634e4416e94ab7ad1ebc/test_periodic_surface.geo)https://gitlab.onelab.info/gmsh/gmsh/-/issues/181'Data source' in post-processing doesn't respect 'Visibility -> Force Component'2017-08-06T06:55:50ZChristophe Geuzaine'Data source' in post-processing doesn't respect 'Visibility -> Force Component'I noticed that setting the option
```
Post processing options -> Aspect -> Data Source
```
to a different view only uses the default `Visibility`. E.g. for a six component field (a stress tensor), the _Von Mises_ scalar is used as c...I noticed that setting the option
```
Post processing options -> Aspect -> Data Source
```
to a different view only uses the default `Visibility`. E.g. for a six component field (a stress tensor), the _Von Mises_ scalar is used as colour.
This is a often utilized as a way of showing stresses on a deformed structure.
When looking at the undeformed stress field view, the tab
```
Post processing options -> Visibility -> Force Scalar
```
allows one to select components of the tensor (e.g. only normal stress sigma_x). The deformed view doesn't allow this selection, as far as I can tell.
It would be best if the visibility settings of the tensor field are respected also in the 'deformed view'. Furthermore, the settings in `View[i].CustomMax` and `View[i].CustomMin` should be respected.
Steps to reproduce:
As an example, I'm attaching two files. One holds the deformation information and the other one the stress tensor
1.
```
gmsh smarter-cuboid-micro-stress.rmed smarter-cuboid-micro.rmed
```
2. Set `View[0] -> Visibility -> Force Scalar` and `View[0] - > General -> Range mode` to _Custom_. Hit the `Min`, `Max` button.
3. remember how the picture changed from Von Mises to sigma_x
4. turn off the visibility of `View[0]`
5. Set `View[1] -> Aspect -> Data Source` to `View[0]` (the Von Mises data of `View[0]` is shown).
Changes in `View[0] -> Visibility -> Force Component` and changes in `View[0].CustomMin/Max` are not affecting the current `View[1]`.
I _think_ this would be the expected behaviour. Thanks for your attention.
[smarter-cuboid-micro-stress.rmed](/uploads/64f6dd197fd400e4c40a0174bf0cbaef/smarter-cuboid-micro-stress.rmed)
[smarter-cuboid-micro.rmed](/uploads/da788ca02c496aca741b5a9b0086aa8b/smarter-cuboid-micro.rmed)
https://gitlab.onelab.info/gmsh/gmsh/-/issues/175"Adapt Visualization Grid" hides complete result of med library result2017-08-06T06:59:52ZChristophe Geuzaine"Adapt Visualization Grid" hides complete result of med library resultI’m loading a file in gmsh which was created by code_aster (a “med” format). It is easy to visualize the results on second order displacements:
1. Switching on “Adapt visualization grid”
2. Maximum recursion level = “1”
3. Target visual...I’m loading a file in gmsh which was created by code_aster (a “med” format). It is easy to visualize the results on second order displacements:
1. Switching on “Adapt visualization grid”
2. Maximum recursion level = “1”
3. Target visualization error = “-0.0001”
The gmsh debug info about this field is
```
Info : Reading 2-component field <<&RESUR1_DEPL>>
Debug : MED: eletyp=0 entity=3 (0:cell, 3:node, 4:elenode) ngauss=1 localizationName= profileName= -- stepDataType=1
```
However, when visualizing another field (here a nodal stress field"), pressing the "Adapt visualization grid" button will hide the entire result!. I found no options for "recursion level" or "target visualization error" which allows me to restore the result.
For example a result from a plain strain analysis:
```
Info : Reading 4-component field <<&RESUR1_SIGM_NOEU>>
Debug : MED: eletyp=0 entity=3 (0:cell, 3:node, 4:elenode) ngauss=1 localizationName= profileName= -- stepDataType=1
```
I'm attaching the file which contains both fields in order to let you reproduce this. The best way to see it is when using "Numerical Values" as "Intervals Type" and switching on the nodes "Mesh.Nodes=1".
-SebastianChristophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/232Extrusion with scaling2017-08-06T07:00:42ZChristophe GeuzaineExtrusion with scalingThe possibility to extrude mesh with simultaneous scaling, for example to create mesh in truncated cone would be very helpful.The possibility to extrude mesh with simultaneous scaling, for example to create mesh in truncated cone would be very helpful.https://gitlab.onelab.info/gmsh/gmsh/-/issues/213Add support for PERMAS mesh files2017-08-06T07:10:27ZChristophe GeuzaineAdd support for PERMAS mesh filesAny patch would be welcome. Check out one of the Geo/GModelIO_*.cpp files: integrating a new mesh format is quite easy.Any patch would be welcome. Check out one of the Geo/GModelIO_*.cpp files: integrating a new mesh format is quite easy.https://gitlab.onelab.info/gmsh/gmsh/-/issues/363Element data format can only hold displacement and not rotation2018-02-06T05:20:46ZSaeid M.Element data format can only hold displacement and not rotationDear GMSH development team,
GMSH can be very useful in post-processing DEM (Discrete Elements Method) data; where there are almost no alternative software and GMSH has the potential to fill this gap and become a popular software among r...Dear GMSH development team,
GMSH can be very useful in post-processing DEM (Discrete Elements Method) data; where there are almost no alternative software and GMSH has the potential to fill this gap and become a popular software among researchers in this field by what seems like a minor improvement.
While GMSH can save displacement data of elements and visualize them, currently there is no option to save element rotations in element data field.
Best regards,
Mehrpayhttps://gitlab.onelab.info/gmsh/gmsh/-/issues/413Algorithm options should be strings2018-06-27T20:01:17Zjeremy thelerAlgorithm options should be stringsJust a reminder for Gmsh 5.0: the choice of algorithms (and problably other options) should be made through strings and not through numbers. This way
1. internal changes will not break old .geo files, and
2. the code will be more compac...Just a reminder for Gmsh 5.0: the choice of algorithms (and problably other options) should be made through strings and not through numbers. This way
1. internal changes will not break old .geo files, and
2. the code will be more compact: http://www.catb.org/esr/writings/taoup/html/ch04s02.html#compactnesshttps://gitlab.onelab.info/gmsh/gmsh/-/issues/326closures not implemented for pyramids and prisms of order > 22018-07-29T11:19:22ZKoen Hillewaertclosures not implemented for pyramids and prisms of order > 2I see that the face closures are used essentially for optimizing high order meshes. Would it be possible to complete the missing functionality for the pyramid and prism up to order 4 ?I see that the face closures are used essentially for optimizing high order meshes. Would it be possible to complete the missing functionality for the pyramid and prism up to order 4 ?https://gitlab.onelab.info/gmsh/gmsh/-/issues/313"ellipse is wrong" still plagues - diagnostic and workaround2018-08-21T08:01:08ZLuís Henrique Camargo Quiroz"ellipse is wrong" still plagues - diagnostic and workaroundI noticed a problem while creating some ellipse segments within a script.
Attached is a small geo file which shows the problem, and also with a solution for my particular case, at least. As I know the radiuses of the ellipse, I could ...I noticed a problem while creating some ellipse segments within a script.
Attached is a small geo file which shows the problem, and also with a solution for my particular case, at least. As I know the radiuses of the ellipse, I could find a workaround; my ellipse is aligned with X and Y.
This is the same problem shown in http://onelab.info/pipermail/gmsh/2012/007549.html and http://onelab.info/pipermail/gmsh/2011/006322.html years ago.
Rotating the start, major axis and end points with the GUI and creating the ellipses again shows the same problem. In other words, when start and end points are simmetrical, regarding any of the axes, major or minor, the strange behavior will appear.
Here's the geometry file: [gmsh_bugs.geo](/uploads/d5f5f64eda5cd8bddec725501910ac2c/gmsh_bugs.geo)
This is how the two wrong ellipses show up:
![Gmsh_with_2_buggy_ellipses](/uploads/b2314644673b02a061b55cf0a5958bed/Gmsh_with_2_buggy_ellipses.png)
This is the desired result, here obtained subdividing the arcs, as the error message tells. In my case I know what the new points should be ;)
![Gmsh_with_buggy_ellipses_replaced](/uploads/65181f85e2a3629affa2df0410711bdd/Gmsh_with_buggy_ellipses_replaced.png)https://gitlab.onelab.info/gmsh/gmsh/-/issues/75Tensorial fields visualization enhancements2018-08-21T10:17:59ZChristophe GeuzaineTensorial fields visualization enhancementsMay I suggest two enhancements for better tensorial fields visualization:
- In Node data or Elmt data section of .msh2 file format, the second int tag corresponds to the number of values defined by node/element. For the visualization, ...May I suggest two enhancements for better tensorial fields visualization:
- In Node data or Elmt data section of .msh2 file format, the second int tag corresponds to the number of values defined by node/element. For the visualization, it automatically recognizes the values 1 (scalar), 3 (norm of vector) and 9 (von Mises equivalent value). It would be useful to recognize 6 as well to reduce amount of data in result file (symmetric tensor as for strain/stress under SPH).
For this, a convention has to be adopted for:
- The way values are listed (v0-v4-v8-v1-v5-v2 or v0-v4-v8-v5-v2-v1 or v0-v1-v2-v4-v5-v8)
- Multiplicative factor for shear values - classically, a '2' is used for strain, and '1' for stress; other approach is to use sqrt(2) for all fields; maybe for coherence with the other fields type in gmsh, better to always keep '1'.
- In the 'Extract' plugin, if dealing with a tensorial field and von-Mises stress is illustrated, it would be logical to have the corresponding von Mises formula instead of sqrt(v0*v0 + v1*v1 + v2*v2), which is valid for vectors.https://gitlab.onelab.info/gmsh/gmsh/-/issues/136enhance Plugin(MathEval)2018-08-25T06:48:43ZChristophe Geuzaineenhance Plugin(MathEval)It would be nice to enhance MathEval to handle:
- vector operations (dotProd, crossProd, grad, div, curl)
- operations on complex numbers
- any number of views (and not only current+other)It would be nice to enhance MathEval to handle:
- vector operations (dotProd, crossProd, grad, div, curl)
- operations on complex numbers
- any number of views (and not only current+other)https://gitlab.onelab.info/gmsh/gmsh/-/issues/455Segfault in BDS.cpp:5372018-10-27T19:21:22Zjeremy thelerSegfault in BDS.cpp:537I have a segfault (double free) when calling gmsh 4.0.5-git-ffcd149f3 to mesh this model:
```
gmsh -2 model.brep
```
[model.brep](/uploads/0a56e40286051a9f7e4c870768282f42/model.brep)
The gdb stack is:
```
(gdb) where
#0 0x00007fffe...I have a segfault (double free) when calling gmsh 4.0.5-git-ffcd149f3 to mesh this model:
```
gmsh -2 model.brep
```
[model.brep](/uploads/0a56e40286051a9f7e4c870768282f42/model.brep)
The gdb stack is:
```
(gdb) where
#0 0x00007fffebb69fff in raise () from /lib/x86_64-linux-gnu/libc.so.6
#1 0x00007fffebb6b42a in abort () from /lib/x86_64-linux-gnu/libc.so.6
#2 0x00007fffebba7c00 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#3 0x00007fffebbadfc6 in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#4 0x00007fffebbae80e in ?? () from /lib/x86_64-linux-gnu/libc.so.6
#5 0x00007ffff6fd1bc7 in BDS_Mesh::del_point (this=0x555555a79330, p=0x555555a75ae0)
at /home/gtheler/codigos/3ros/build/gmsh/Mesh/BDS.cpp:537
#6 0x00007ffff6b7f493 in buildConsecutiveListOfVertices (gf=gf@entry=0x555555a3b0c0, gel=..., result=..., bbox=...,
m=m@entry=0x555555a79330, recoverMap=..., count=@0x7fffffffd7b0: 16, countTot=18, tol=tol@entry=9.9767556186605115e-12,
seam_the_first=true) at /home/gtheler/codigos/3ros/build/gmsh/Mesh/meshGFace.cpp:1875
#7 0x00007ffff6b8131f in meshGeneratorPeriodic (gf=gf@entry=0x555555a3b0c0, debug=false,
repairSelfIntersecting1dMesh=<optimized out>) at /home/gtheler/codigos/3ros/build/gmsh/Mesh/meshGFace.cpp:2011
#8 0x00007ffff6ee9e44 in meshGFace::operator() (this=this@entry=0x7fffffffdcc6, gf=gf@entry=0x555555a3b0c0,
print=print@entry=true) at /home/gtheler/codigos/3ros/build/gmsh/Mesh/meshGFace.cpp:2832
#9 0x00007ffff6cf46c7 in GFace::mesh (this=0x555555a3b0c0, verbose=true)
at /home/gtheler/codigos/3ros/build/gmsh/Geo/GFace.cpp:1531
#10 0x00007ffff6ed8a0b in Mesh2D (m=0x5555557a9800) at /home/gtheler/codigos/3ros/build/gmsh/Mesh/Generator.cpp:480
#11 GenerateMesh (m=<optimized out>, ask=ask@entry=2) at /home/gtheler/codigos/3ros/build/gmsh/Mesh/Generator.cpp:1081
#12 0x00007ffff6d2a8e9 in GModel::mesh (this=<optimized out>, dimension=dimension@entry=2)
at /home/gtheler/codigos/3ros/build/gmsh/Geo/GModel.cpp:869
#13 0x00007ffff6b92816 in GmshBatch () at /home/gtheler/codigos/3ros/build/gmsh/Common/GmshGlobal.cpp:312
#14 0x00007ffff6b9375f in GmshMainFLTK (argc=3, argv=0x7fffffffe0e8)
at /home/gtheler/codigos/3ros/build/gmsh/Common/GmshGlobal.cpp:473
#15 0x00007fffebb572e1 in __libc_start_main () from /lib/x86_64-linux-gnu/libc.so.6
#16 0x0000555555554aaa in _start ()
(gdb)
```
Source `BDS.cpp` reads
```
void BDS_Mesh::del_point(BDS_Point *p)
{
points.erase(p);
delete p;
}
```
Line 537 is the `delete` instruction.https://gitlab.onelab.info/gmsh/gmsh/-/issues/481Rename internal classes to match documented terminology2019-04-09T12:11:28ZChristophe GeuzaineRename internal classes to match documented terminologyWe settled on the following names in the public API:
* geometry: points, curves, surfaces and volumes
* mesh: nodes and elements
We should refactor the internal classes to match those names:
* `GPoint` -> `GVertex`
* `GVertex` -> `G...We settled on the following names in the public API:
* geometry: points, curves, surfaces and volumes
* mesh: nodes and elements
We should refactor the internal classes to match those names:
* `GPoint` -> `GVertex`
* `GVertex` -> `GPoint`
* `GEdge` -> `GCurve`
* `GFace` -> `GSurface`
* `GRegion` -> `GVolume`
* `MVertex` -> `MNode`Gmsh 5.0Christophe GeuzaineChristophe Geuzainehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/585User given Id for Duplicata{...} command2019-06-28T05:38:43ZSehlingdorfUser given Id for Duplicata{...} commandHi people of gmsh :),
This is more of a question than an issue, but after reading FAQ, tutorials, googleing and just trial and erroring I thought I might ask here.
In the 2nd tutorial t2.geo we have:
```
Translate {0, 0.1, 0} { Dupli...Hi people of gmsh :),
This is more of a question than an issue, but after reading FAQ, tutorials, googleing and just trial and erroring I thought I might ask here.
In the 2nd tutorial t2.geo we have:
```
Translate {0, 0.1, 0} { Duplicata{ Point{3}; } }
// This command created a new point with an automatically assigned id. This id
```
The important bit here is `automatically assigned id`. The duplicated and translated Point id will be `<highest Point id so far>+1`. So pretty much what the `newp` command is doing.
Is there a way to prescribe the fresh id which also works for multiple entries. To give a working example:
```
gs = 1;
Point(1) = {0,0,0,gs};
Point(2) = {1,0,0,gs};
p[] = Translate {0, 1, 0} {
Duplicata { Point{1,2}; }
};
Printf("Point ids: %g, %g",p[]); // -> Point ids: 3, 4
```
Now I would like to use something like this (syntax `Duplicata{existing entities}{new user given ids}`is made up by me):
```
gs = 1;
Point(1) = {0,0,0,gs};
Point(2) = {1,0,0,gs};
p[] = Translate {0, 1, 0} {
Duplicata { Point{1,2}; } {42,43}
};
Printf("Point ids: %g, %g",p[]); // -> Point ids: 42, 43
```
Is there a way to achieve this? If there is a more verbose way around to achieve this I am fine as well.
Thanks for the answer,
Tobihttps://gitlab.onelab.info/gmsh/gmsh/-/issues/620Core dumped when using MMG3D with Coherence2019-08-19T18:17:34ZJulien HessCore dumped when using MMG3D with CoherenceDear gmsh support,
I get the following error
```
## memory alloc problem (hash)
*** Error in `gmsh': free(): invalid next size (normal): 0x00000000073b61d0 ***
## ABNORMAL END. STOP
*** Error in `gmsh': free(): corrupted unsorted ch...Dear gmsh support,
I get the following error
```
## memory alloc problem (hash)
*** Error in `gmsh': free(): invalid next size (normal): 0x00000000073b61d0 ***
## ABNORMAL END. STOP
*** Error in `gmsh': free(): corrupted unsorted chunks: 0x0000000007010990 ***
Aborted (core dumped)
```
when 3d-meshing this .geo file
```
SetFactory("OpenCASCADE");
Mesh.Algorithm = 7; // BAMG
Mesh.Algorithm3D = 7; // MMG3D
Box(1) = {0.0, 0.0, 0.0, 0.5, 1.0, 1.0};
Box(2) = {0.5, 0.5, 0.0, 0.5, 1.0, 1.0};
Coherence;
Field[1] = MathEvalAniso;
Field[1].m11 = "1.0/(0.05)^2";
Field[1].m12 = "0.0";
Field[1].m13 = "0.0";
Field[1].m22 = "1.0/(0.2)^2";
Field[1].m23 = "0.0";
Field[1].m33 = "1.0/(0.2)^2";
Background Field = 1;
```
However, everything goes fine if I remove/comment the `Coherence` or one of the `Box`es.
Best regardsJean-François RemacleJean-François Remaclehttps://gitlab.onelab.info/gmsh/gmsh/-/issues/625Geometry properties get lost after translation or rotation2019-08-21T08:50:47Zsamy mukadiGeometry properties get lost after translation or rotationWhen you set properties such as transfinite points, they get lost after operation such as translation or rotation.
These properties should belong to the geometry and prevail even after any translation or rotation. The _transform() or syn...When you set properties such as transfinite points, they get lost after operation such as translation or rotation.
These properties should belong to the geometry and prevail even after any translation or rotation. The _transform() or synchronize() function seem to lose those properties. I think GEdge, GFace, GRegion should stay the same after transformation, they should store those transfinite properties, however, they are changed within _transform() or synchronize() function, which seem to cause the problem. I think only the geometric representation such as TopoDS_Shape would change but not the rest. It seems that unbind/bind is a problem. I made some changes and it works.https://gitlab.onelab.info/gmsh/gmsh/-/issues/626Selecting geometry from Visibility window2019-08-21T08:53:00Zsamy mukadiSelecting geometry from Visibility windowThe visibility window displays all the geometries. Hence geometry could also be selected from that window as well. It would be convenient for selecting nested/Hidden 3D geometries. In the example below we clicked on surface(1) and it is ...The visibility window displays all the geometries. Hence geometry could also be selected from that window as well. It would be convenient for selecting nested/Hidden 3D geometries. In the example below we clicked on surface(1) and it is selected in red. That is a window with appropriate geometry 0D/1D/2D/3D would popup to present the selection to be made. ![visibility3D](/uploads/ccad8ea453e39ca1fdea0502d6047288/visibility3D.png)