[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