neperfepx / neper

Polycrystal generation and meshing
http://neper.info
GNU General Public License v3.0
214 stars 53 forks source link

Problem with -transform "cut()" in multiscale tesselation #764

Closed MaximePrs closed 1 year ago

MaximePrs commented 1 year ago

Hello,

I'm using a 2-scale tesselation to generate a typical microstructure. I'm interested in adding a pore in this 2-scale microstructure. However, when I add the pore with -transform "cut(cylinder())" option, all information about the 2-scale tesselation is lose such as scaleid() in .stcell file (only -1 instead of the respective scale_id).

Here is the command line to generate the microstructure without pore : neper -T -domain 'square(74,74)' -n '100::from_morpho' -dim 2 -morpho "diameq:lognormal(2.40,1.17)::diameq:0.5*lognormal(1.22,0.2)+0.5*lognormal(1.22,0.2),aspratio(4,1)" -group mode -statcell id,group,"scaleid(1),scaleid(2)",diameq,area,circularity -o morpho_1 Ad here with the pore : neper -T -domain 'square(74,74)' -n '100::from_morpho' -dim 2 -morpho "diameq:lognormal(2.40,1.17)::diameq:0.5*lognormal(1.22,0.2)+0.5*lognormal(1.22,0.2),aspratio(4,1)" -transform "cut(cylinder(12,37,0,0,0,1,10))" -group mode -statcell id,group,"scaleid(1),scaleid(2)",diameq,area,circularity -o morpho_1

For my work, I really need the information about the scaleid() of both scales. Is it a bug in neper ? Or am I doing something wrong ?

Best,

rquey commented 1 year ago

Multiscale and -transform cut are mutually exclusive...