[Gmsh] Error: Cannot reparametrize a mesh node in high order meshing
Mathias Scheunert
mathias.scheunert at mailserver.tu-freiberg.de
Wed Jun 24 10:38:17 CEST 2020
Dear developers and users,
**** The goal*
we want to do some finite element convergence studies on a given set of
models.
These typically consist of large volumes containing small 'anomalies',
i.e. volumes.
(Please note the attached MWE)
**** The problem*
In order to ensure valid boundary conditions we need to enlarge the
surrounding volume, leading to huge contrasts between the sizes of the
involved volumes.
Using Gmsh 'RefineMesh;' will throw the above mentioned error.
-> Please try using line 6 instead of line 5 in the MWE.
What does that error message mean and how could we deal with that?
Best regards,
Mathias
ps: We are using Gmsh 4.5.6
--
Dr. Mathias Scheunert
Institute of Geophysics and Geoinformatics, TU Bergakademie Freiberg
Gustav-Zeuner-Str. 12, D-09596 Freiberg
Tel.: +493731393630
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://onelab.info/pipermail/gmsh/attachments/20200624/34b0c4b7/attachment.html>
-------------- next part --------------
// Gmsh project, version 4.5.6
SetFactory("OpenCASCADE");
// Create volume.
domain_r = 100000; // no error occurs
//domain_r = 1000000; // error occurs
tmp_vol_id = newv;
Box(tmp_vol_id) = {-domain_r, -domain_r, -domain_r, 2*domain_r, 2*domain_r, 2*domain_r};
// Split volume.
tmp_surf_id = news;
pad = 1.5;
Rectangle(tmp_surf_id) = {-pad*domain_r, -pad*domain_r, 0, 2*pad*domain_r, 2*pad*domain_r};
frag_ents() = BooleanFragments{Volume{tmp_vol_id}; Delete;}{Surface{tmp_surf_id}; Delete;};
Recursive Delete{Surface{frag_ents(2)};}
// Add anomaly.
ano_id = newv;
ly = 1000;
Box(ano_id) = {-500, -ly, -2250, 1000, 2*ly, 2000};
frag_ents() = BooleanFragments{Volume{frag_ents(0)}; Delete;}{Volume{ano_id};};
// Run Gmsh.
Mesh 3;
RefineMesh;
More information about the gmsh
mailing list