- Thank you received: 0
Elliptic cylinder with nested objects
4 years 4 months ago #2919
by D Mikro
Elliptic cylinder with nested objects was created by D Mikro
Hello NG team,
I would like to ask you for advice on creating elliptical objects. I want to create an elliptical cylinder with nested holes around its perimeter. I use it for simulation in Matlab, where I also generated an attached geo file. When I started the NG mesh generator (Netgen version 5.3), I got stuck in the Start Findpoints operation, but I don't know why? Can you describe me what I'm doing wrong?
Note: The coordinates of the second and sixth object are the same, but with opposite signs with respect to the origin of the system coordinates. Second is Ok, sixth failed.
Here is the generated geo file.
I would like to ask you for advice on creating elliptical objects. I want to create an elliptical cylinder with nested holes around its perimeter. I use it for simulation in Matlab, where I also generated an attached geo file. When I started the NG mesh generator (Netgen version 5.3), I got stuck in the Start Findpoints operation, but I don't know why? Can you describe me what I'm doing wrong?
Note: The coordinates of the second and sixth object are the same, but with opposite signs with respect to the origin of the system coordinates. Second is Ok, sixth failed.
Here is the generated geo file.
Code:
#Elliptic cylinder
#failed: 6th and 8th hole in the eliptic body
algebraic3d
solid body0001 = ((((((((ellipticcylinder(0, 0, 0 ; 0.0957, 0, 0 ; 0, 0.0953, 0)
and plane(0, 0, 0 ; -0, -0, -0.318) and plane(0, 0, 0.318 ; 0, 0, 0.318)))))
and (not (cylinder(-5.51091e-19, 0.0863, 0.296 ; 4.59243e-19, 0.1028, 0.296 ; 0.0045)
and plane(-5.51091e-19, 0.0863, 0.296 ; -1.01033e-18, -0.0165, -0)
and plane(4.59243e-19, 0.1028, 0.296 ; 1.01033e-18, 0.0165, 0))
and not (cylinder(0.0612874, 0.0610419, 0.296 ; 0.0729241, 0.0727397, 0.296 ; 0.0045)
and plane(0.0612874, 0.0610419, 0.296 ; -0.0116367, -0.0116978, -0)
and plane(0.0729241, 0.0727397, 0.296 ; 0.0116367, 0.0116978, 0))
and not (cylinder(0.0867, 5.28204e-18, 0.296 ; 0.1032, 6.29661e-18, 0.296 ; 0.0045)
and plane(0.0867, 5.28204e-18, 0.296 ; -0.0165, -1.01457e-18, -0)
and plane(0.1032, 6.29661e-18, 0.296 ; 0.0165, 1.01457e-18, 0))
and not (cylinder(0.0612874, -0.061042, 0.296 ; 0.0729241, -0.0727397, 0.296 ; 0.0045)
and plane(0.0612874, -0.061042, 0.296 ; -0.0116367, 0.0116978, -0)
and plane(0.0729241, -0.0727397, 0.296 ; 0.0116367, -0.0116978, 0))
and not (cylinder(1.11688e-17, -0.0863, 0.296 ; 1.21791e-17, -0.1028, 0.296 ; 0.0045)
and plane(1.11688e-17, -0.0863, 0.296 ; -1.01033e-18, 0.0165, -0)
and plane(1.21791e-17, -0.1028, 0.296 ; 1.01033e-18, -0.0165, 0))
#6th hole
and not (cylinder(-0.0612874, -0.0610419, 0.296 ; -0.0729241, -0.0727397, 0.296 ; 0.0045)
and plane(-0.0612874, -0.0610419, 0.296 ; 0.0116367, 0.0116978, 0)
and plane(-0.0729241, -0.0727397, 0.296 ; -0.0116367, -0.0116978, 0))
and not (cylinder(-0.0867, -1.64041e-17, 0.296 ; -0.1032, -1.84248e-17, 0.296 ; 0.0045)
and plane(-0.0867, -1.64041e-17, 0.296 ; 0.0165, 2.02067e-18, -0)
and plane(-0.1032, -1.84248e-17, 0.296 ; -0.0165, -2.02067e-18, 0))
#8th hole
and not (cylinder(-0.0612874, 0.061042, 0.296 ; -0.0729241, 0.0727397, 0.296 ; 0.0045)
and plane(-0.0612874, 0.061042, 0.296 ; 0.0116367, -0.0116978, -0)
and plane(-0.0729241, 0.0727397, 0.296 ; -0.0116367, 0.0116978, 0))
)))));
solid MainNetgenObject = body0001 ;
tlo MainNetgenObject -col=[0,1,0] -material=MainNetgenObject -maxh=0.02;
4 years 3 months ago - 4 years 3 months ago #3047
by D Mikro
Replied by D Mikro on topic Elliptic cylinder with nested objects
Hello NG Team,
I tried to solve the problem and I found a solution (geo file was attached). The difference between the successful and unsuccessful msh generation states was in the cyl02 object at the Y coordinate of the cylindrical object. I don't know why, but it can't be the same value (6 decimal places) as cyl01. This works correctly if the value was lower or with only 4 decimal places (0.0613626 vs 0.0613) or if you comment out the cyl01 object. The msh was originally generated in Netgen 5.3 but the same functionality is in the latest version 6.2...
I would like to ask you - Is this a feature/bug of the msh generator?
Can you help me with that?
I need it to optimize the simulations for my school project.
With Regards,
D Mikro
I tried to solve the problem and I found a solution (geo file was attached). The difference between the successful and unsuccessful msh generation states was in the cyl02 object at the Y coordinate of the cylindrical object. I don't know why, but it can't be the same value (6 decimal places) as cyl01. This works correctly if the value was lower or with only 4 decimal places (0.0613626 vs 0.0613) or if you comment out the cyl01 object. The msh was originally generated in Netgen 5.3 but the same functionality is in the latest version 6.2...
I would like to ask you - Is this a feature/bug of the msh generator?
Can you help me with that?
I need it to optimize the simulations for my school project.
With Regards,
D Mikro
Code:
#Netgen 5.3 x64
algebraic3d
solid cyl01 = (cylinder(0.061491, -0.0613626, 0.296 ; 0.0720825, -0.0719842, 0.296 ; 0.0045) and plane(0.061491, -0.0613626, 0.296 ; -0.0105916, 0.0106216, -0) and plane(0.0720825, -0.0719842, 0.296 ; 0.0105916, -0.0106216, 0));
# Work
#solid cyl02 = (cylinder(-0.061491, 0.0613, 0.296 ; -0.0720825, 0.0719842, 0.296 ; 0.0045) and plane(-0.061491, 0.0613626, 0.296 ; 0.0105916, -0.0106216, -0) and plane(-0.0720825, 0.0719842, 0.296 ; -0.0105916, 0.0106216, 0));
# Fail
solid cyl02 = (cylinder(-0.061491, 0.0613626, 0.296 ; -0.0720825, 0.0719842, 0.296 ; 0.0045) and plane(-0.061491, 0.0613626, 0.296 ; 0.0105916, -0.0106216, -0) and plane(-0.0720825, 0.0719842, 0.296 ; -0.0105916, 0.0106216, 0));
solid body0001 = not (cyl01 or cyl02) and (ellipticcylinder(0, 0, 0 ; 0.0944775, 0, 0 ; 0, 0.0942637, 0) and plane(0, 0, 0 ; -0, -0, -0.318) and plane(0, 0, 0.318 ; 0, 0, 0.318));
tlo cyl01 -col=[1,0,0] -material=cyl01;
tlo cyl02 -col=[1,0,0] -material=cyl02;
solid MainNetgenObject = body0001 ;
tlo MainNetgenObject -col=[0,1,0] -material=MainNetgenObject -maxh=0.02;
Last edit: 4 years 3 months ago by D Mikro.
Time to create page: 0.123 seconds