- Thank you received: 101
System call from fortran . . .
- christopher
- Offline
- Administrator
Less
More
7 years 3 months ago - 7 years 3 months ago #108
by christopher
Replied by christopher on topic System call from fortran . . .
Hi Tim,
If you use the .vol/.vol.gz mesh format this can be done easily with a python script:
I don't think that the export/import of other mesh formats is currently exported to python, but I guess we could do that. Since noone of the core developers is using these mesh formats, the export/import may be broken. I'll have a look at it and let you know.
Best
Christopher
If you use the .vol/.vol.gz mesh format this can be done easily with a python script:
Code:
import netgen.meshing as meshing
mesh = meshing.Mesh()
mesh.Load("surfaceMesh.vol.gz")
mesh.GenerateVolumeMesh(meshing.MeshingParameters(maxh=...))
mesh.Save("volumeMesh.vol.gz")
I don't think that the export/import of other mesh formats is currently exported to python, but I guess we could do that. Since noone of the core developers is using these mesh formats, the export/import may be broken. I'll have a look at it and let you know.
Best
Christopher
Last edit: 7 years 3 months ago by christopher.
- christopher
- Offline
- Administrator
Less
More
- Thank you received: 101
7 years 3 months ago - 7 years 3 months ago #109
by christopher
Replied by christopher on topic System call from fortran . . .
Some updates:
I pushed a merge request to fix the
stuff. This was just in the import of neutral files but wasn't about the corrupt .mesh file. I can't reproduce your huge boundary condition numbers... Could you attach a geo file (or mail it to me if you don't want to have it in public) that produces these?
Nevertheless I think if you want to create a volume mesh from a surface mesh you should provide a .vol/.vol.gz file, since they provide additional information on the surface (like inner domain and outer domain) which I think is needed for the volume mesher.
Best
Christopher
I pushed a merge request to fix the
Code:
has no facedecoding: fd.size = 1, ind = 2
Nevertheless I think if you want to create a volume mesh from a surface mesh you should provide a .vol/.vol.gz file, since they provide additional information on the surface (like inner domain and outer domain) which I think is needed for the volume mesher.
Best
Christopher
Last edit: 7 years 3 months ago by christopher.
7 years 3 months ago #110
by DrTSPC
Replied by DrTSPC on topic System call from fortran . . .
Christoph:
WRT to your last note. I may have miscommunicated. The corrupt bc numbers arise when I tried to remesh a .mesh file. So, starting from cube.geo, using the install of yesterday (from installer):
1. Successfully meshed cube.geo tp create out.vol:
netgen -batchmode -geofile=/usr/share/netgen/cube.geo -fine -meshfile=out.vol
2. Successfully translated from out.vol to out.mesh; though I wanted a finer mesh as well. (I have not checked every number, and nothing is shown when importing .mesh files to the gui.)
netgen -batchmode -inputmeshfile=out.vol -veryfine -meshfile=out.mesh -meshfiletype="Neutral Format"
3. Created the .mesh file with "corrupt" bc numbers using:
netgen -batchmode -inputmeshfile=out.mesh -veryfine -meshfile=out_out.mesh -meshfiletype="Neutral Format"
Regards,
Tim
WRT to your last note. I may have miscommunicated. The corrupt bc numbers arise when I tried to remesh a .mesh file. So, starting from cube.geo, using the install of yesterday (from installer):
1. Successfully meshed cube.geo tp create out.vol:
netgen -batchmode -geofile=/usr/share/netgen/cube.geo -fine -meshfile=out.vol
2. Successfully translated from out.vol to out.mesh; though I wanted a finer mesh as well. (I have not checked every number, and nothing is shown when importing .mesh files to the gui.)
netgen -batchmode -inputmeshfile=out.vol -veryfine -meshfile=out.mesh -meshfiletype="Neutral Format"
3. Created the .mesh file with "corrupt" bc numbers using:
netgen -batchmode -inputmeshfile=out.mesh -veryfine -meshfile=out_out.mesh -meshfiletype="Neutral Format"
Regards,
Tim
- christopher
- Offline
- Administrator
Less
More
- Thank you received: 101
7 years 3 months ago #111
by christopher
Replied by christopher on topic System call from fortran . . .
I see, in that case my fix does the trick It has already been merged into Netgen, the fix should be in the nightly build within the next 2 days.
Best
Christopher
Best
Christopher
7 years 3 months ago #112
by cwinters
Replied by cwinters on topic System call from fortran . . .
Hi Tim,
as Christopher said, the issue with the bc will be fixed in a nightly build within the next days (we have to wait until the fix is merged to ngsolve).
I would have the check the source code for more details but as far as I know these flags for the mesh granularity are meant to be used together with a geometry.
This means your command in 3. just loads and saves a mesh. So in the best case you get the same mesh as you had as input (will work in the fixed nightly ). There is no remeshing when you already load a mesh file.
Best
Christoph
as Christopher said, the issue with the bc will be fixed in a nightly build within the next days (we have to wait until the fix is merged to ngsolve).
The flag "-veryfine" has no effect when you import a mesh. I just tested your command line call in 2. and it doesn't matter if I define a "fine", "veryfine" or leave it away.though I wanted a finer mesh as well
I would have the check the source code for more details but as far as I know these flags for the mesh granularity are meant to be used together with a geometry.
This means your command in 3. just loads and saves a mesh. So in the best case you get the same mesh as you had as input (will work in the fixed nightly ). There is no remeshing when you already load a mesh file.
Best
Christoph
7 years 3 months ago #113
by DrTSPC
Replied by DrTSPC on topic System call from fortran . . .
Christoph:
I did notice that the effect was "translation" between .vol and .mesh - at best.
WRT using a python script: Promising!
1. I edited the out.vol file, created from cube.geo as in my last post, and set the volumeelements to 0 and stripped out the edgesegmentsi2 section; to create "in.vol".
2. I then ran:
netgen script_1.py
Where script_1.py is based on the script you sent (thank you!):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import netgen.meshing as meshing
mesh = meshing.Mesh()
mesh.Load("in.vol")
mesh.GenerateVolumeMesh(meshing.MeshingParameters(maxh=0.01))
mesh.Save("out_in.vol")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A gui popped up, so I verified that "out_in.vol" had volume elements: It was meshed.
Now:
1. The "h=" in the MeshParameters had no apparent effect.
2. When I attempted to refine in the gui (Refine Uniform in the Refinement menu), the gui, 'went away'.
So, promise - but I want control of the mesh density, etc. (I also don't want guis popping up, after I get this lined out.)
More generally: I have spent about an hour looking for info about the python commands for netgen. Can you point me to some info? (The netgen py_tutorials directory is rather 'Spartan'.)
Thanks!
Tim
I did notice that the effect was "translation" between .vol and .mesh - at best.
WRT using a python script: Promising!
1. I edited the out.vol file, created from cube.geo as in my last post, and set the volumeelements to 0 and stripped out the edgesegmentsi2 section; to create "in.vol".
2. I then ran:
netgen script_1.py
Where script_1.py is based on the script you sent (thank you!):
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
import netgen.meshing as meshing
mesh = meshing.Mesh()
mesh.Load("in.vol")
mesh.GenerateVolumeMesh(meshing.MeshingParameters(maxh=0.01))
mesh.Save("out_in.vol")
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
A gui popped up, so I verified that "out_in.vol" had volume elements: It was meshed.
Now:
1. The "h=" in the MeshParameters had no apparent effect.
2. When I attempted to refine in the gui (Refine Uniform in the Refinement menu), the gui, 'went away'.
So, promise - but I want control of the mesh density, etc. (I also don't want guis popping up, after I get this lined out.)
More generally: I have spent about an hour looking for info about the python commands for netgen. Can you point me to some info? (The netgen py_tutorials directory is rather 'Spartan'.)
Thanks!
Tim
Time to create page: 0.124 seconds