Small correction to code section: GModel *gm; //is the model already meshed. //The mesh was exported with: gm->writeMSH(meshFileName);
FieldManager *fields = gm->getFields(); int bkgid=getBackgroundField(); Field *bkgfield= fields->get(bkgid); int format=?; //I do not know which are the available formats bkgfield->write(posFileName,format); -----Messaggio originale----- Da: gmsh [mailto:[email protected]] Per conto di walter steffe Inviato: giovedì 4 luglio 2019 02:51 A: [email protected] Oggetto: Re: [Gmsh] adaptive mesh background field Hello Christophe, thanks for the replay. To me it is not easy to understand the adapt_mesh.py example. I already have a C code which generates the initial mesh using the C++ gmsh API. Now I would like to implement an iterative refinement based on the energy density associated with the electromagnetic field computed by my EM solver. I am wondering if it is possible to address the problem in in following way: gm GModel *gm; //is the model already meshed. //The mesh was already exported with: gm->writeMSH(meshFileName); FieldManager *fields = gm->getFields(); int bkgid=getBackgroundField(); Field *bkgfield=get(bkgid); int format=?; bkgfield->write(posFileName,format); And then, in a second run: -to read the initial mesh and size field. -to modify (reduce) the size field taking into account of EM energy. -To use the initial mesh and the refined size in order to control the new meshing. regards Walter Steffè On Wed, 2019-07-03 at 18:19 +0200, Christophe Geuzaine wrote: > > On 2 Jul 2019, at 16:28, [email protected] wrote: > > > > Good morning, > > > > The tutorial t7.geo reports an example in which the mesh density > > is defined in a view consisting of scalar triangles. > > This kind data structure does not enforce the continuity of the > > scalar field over adjacent triangles. > > But if the mesh is isotropic and conformal its density should be a > > continuous scalar field. > > So, to me, it seems more natural (and more efficient) to define > > the mesh density in a view (or a pos file) consisting of scalar > > points. > > > > Would it be OK to use such kind of view as a background mesh ? > > > > Not just as points, because we need to interpolate the field in > between the points. But you could indeed use a post-processing view > based on a standard mesh to avoid duplicating data at the nodes. Note > that in Gmsh this means that you will need 2 models, as associating > the background field data to the mesh of one model means that you > would destroy it if you remesh that same model. > > Here is an example of doing just that (2 models: one for the bg mesh > field, the other for the actual mesh) using the Gmsh API: > https://gitlab.onelab.info/gmsh/gmsh/blob/master/demos/api/adapt_mesh.py > > Christophe > > > > Thanks > > Walter Steffè > > > > _______________________________________________ > > gmsh mailing list > > [email protected] > > http://onelab.info/mailman/listinfo/gmsh > > — > Prof. Christophe Geuzaine > University of Liege, Electrical Engineering and Computer Science > http://www.montefiore.ulg.ac.be/~geuzaine > > > _______________________________________________ gmsh mailing list [email protected] http://onelab.info/mailman/listinfo/gmsh _______________________________________________ gmsh mailing list [email protected] http://onelab.info/mailman/listinfo/gmsh
