How to use the keyword: Use Mesh Names

General discussion about Elmer
Post Reply
FFF
Posts: 23
Joined: 11 Jun 2021, 11:00
Antispam: Yes

How to use the keyword: Use Mesh Names

Post by FFF »

Dear Elmer Community,

I recently found out about the keyword:

Code: Select all

 Use Mesh Names = Logical True 
in the Simulation section, and want to implement it instead of Target Boundaries or Target Bodies.

See also viewtopic.php?p=21591&hilit=Use+Mesh+Na ... rue#p21591

Is it possible to assign more than one entity to the Names?

i.e.

Code: Select all

Body 3
  Name(3) = solid3 solid65 solid66 
  Equation = 1
  Material = 2
End
Can I also implement it in the Component section?

Code: Select all

Component  1
  Name(6) =solid6 solid3 solid65 solid66 solid1 solid2 
 ! Master Bodies(6) =  solid6 solid3 solid65 solid66 solid1 solid2 
  calculate magnetic force = logical true
  Calculate Magnetic Torque = True
End

I tried to implement it as depicted above, but ElmerSolver crashes with the output.log below after I enter:

Code: Select all

ElmerSolver RotorInStator_v5.sif >output.log

Code: Select all

ELMER SOLVER (v 9.0) STARTED AT: 2024/02/07 12:07:50
ParCommInit:  Initialize #PEs:            1
MAIN: 
MAIN: =============================================================
MAIN: ElmerSolver finite element software, Welcome!
MAIN: This program is free software licensed under (L)GPL
MAIN: Copyright 1st April 1995 - , CSC - IT Center for Science Ltd.
MAIN: Webpage http://www.csc.fi/elmer, Email elmeradm@csc.fi
MAIN: Version: 9.0 (Rev: unknown, Compiled: 2023-12-05)
MAIN:  Running one task without MPI parallelization.
MAIN:  Running with just one thread per task.
MAIN:  MUMPS library linked in.
MAIN:  Lua interpreter linked in.
MAIN: =============================================================
MAIN: 
MAIN: 
MAIN: -------------------------------------
MAIN: Reading Model: RotorInStator_v5.sif
LoadInputFile: Scanning input file: RotorInStator_v5.sif
LoadInputFile: Scanning only size info
LoadInputFile: First time visiting
LoadInputFile: Reading base load of sif file
OpenIncludeFile: Trying to include file: HB_softIron.txt
LoadInputFile: Loading input file: RotorInStator_v5.sif
LoadInputFile: Reading base load of sif file
CheckKeyword:  Unlisted keyword: [mesh name index] in section: [simulation]
CheckKeyword:  Unlisted keyword: [mesh name 1] in section: [simulation]
CheckKeyword:  Unlisted keyword: [mesh name 2] in section: [simulation]
CheckKeyword:  Unlisted keyword: [mesh name 3] in section: [simulation]
OpenIncludeFile: Trying to include file: HB_softIron.txt
LoadInputFile: Number of BCs: 1
LoadInputFile: Number of Body Forces: 0
LoadInputFile: Number of Initial Conditions: 0
LoadInputFile: Number of Materials: 3
LoadInputFile: Number of Equations: 1
LoadInputFile: Number of Solvers: 4
LoadInputFile: Number of Bodies: 10
ListTagKeywords: Setting weight for keywords!
ListTagKeywords: No parameters width suffix: normalize by area
ListTagKeywords: Setting weight for keywords!
ListTagKeywords: No parameters width suffix: normalize by volume
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid3
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid7
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid8
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid9
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid10
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid11
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid12
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid13
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid14
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid15
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid16
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid17
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid18
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid19
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid20
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid21
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid22
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid23
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid24
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid25
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid26
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid27
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid28
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid29
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid30
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid31
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid32
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid33
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid34
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid35
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid36
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid37
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid38
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid39
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid40
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid41
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid42
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid43
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid44
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid45
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid46
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid47
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid48
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid49
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid50
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid51
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid52
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid53
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid54
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid55
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid56
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid57
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid58
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid59
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid60
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid62
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid63
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid64
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid65
WARNING:: ReadTargetNames: Could not map name to Body nor BC: solid66
WARNING:: ReadTargetNames: Could not map name to Body nor BC: bnry69
WARNING:: ReadTargetNames: Could not map name to Body nor BC: bnry70
MAIN: 
MAIN: -------------------------------------
MAIN: Time: 1/4:   1.000E+00
MAIN: -------------------------------------
MAIN: 
WARNING:: GetPermittivity: Permittivity not defined in material, defaulting to that of vacuum
outside of the generated output.log, in the terminal, i get the following lines:

Code: Select all

No protocol specified
No protocol specified

Program received signal SIGSEGV: Segmentation fault - invalid memory reference.

Backtrace for this error:
#0  0x7fa719100d11 in ???
#1  0x7fa7190ffee5 in ???
#2  0x7fa718f3108f in ???
	at /build/glibc-wuryBv/glibc-2.31/signal/../sysdeps/unix/sysv/linux/x86_64/sigaction.c:0
#3  0x7fa71943603f in __lists_MOD_listfind
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/Lists.F90:2049
#4  0x7fa719438b84 in __lists_MOD_listgetinteger
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/Lists.F90:3916
#5  0x7fa71983c3b3 in __defutils_MOD_getinteger
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/DefUtils.F90:1101
#6  0x7fa71992bc94 in __circuitutils_MOD_getcomponentparams
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/CircuitUtils.F90:117
#7  0x7fa710fc4f50 in dosolve
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/modules/MagnetoDynamics/WhitneyAVSolver.F90:1078
#8  0x7fa710fd11e1 in whitneyavsolver_
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/modules/MagnetoDynamics/WhitneyAVSolver.F90:639
#9  0x7fa7196a5889 in __mainutils_MOD_singlesolver
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/MainUtils.F90:5256
#10  0x7fa7196bb527 in __mainutils_MOD_solveractivate
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/MainUtils.F90:5531
#11  0x7fa7196bd2f0 in solvecoupled
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/MainUtils.F90:3230
#12  0x7fa7196be768 in __mainutils_MOD_solveequations
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/MainUtils.F90:2926
#13  0x7fa719948373 in execsimulation
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/ElmerSolver.F90:3283
#14  0x7fa71994fde8 in elmersolver_
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/ElmerSolver.F90:662
#15  0x56113861c3f5 in solver
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/Solver.F90:57
#16  0x56113861c15e in main
	at /build/elmerfem-csc-eRpe0h/elmerfem-csc-9.0-0ppa0/fem/src/Solver.F90:34
Segmentation fault (core dumped)

my mesh.names is:

Code: Select all

! ----- names for bodies -----
$ solid1 = 1
$ solid2 = 2
$ solid3 = 3
$ solid4 = 4
$ solid5 = 5
$ solid6 = 6
$ solid7 = 7
$ solid8 = 8
$ solid9 = 9
$ solid10 = 10
$ solid11 = 11
$ solid12 = 12
$ solid13 = 13
$ solid14 = 14
$ solid15 = 15
$ solid16 = 16
$ solid17 = 17
$ solid18 = 18
$ solid19 = 19
$ solid20 = 20
$ solid21 = 21
$ solid22 = 22
$ solid23 = 23
$ solid24 = 24
$ solid25 = 25
$ solid26 = 26
$ solid27 = 27
$ solid28 = 28
$ solid29 = 29
$ solid30 = 30
$ solid31 = 31
$ solid32 = 32
$ solid33 = 33
$ solid34 = 34
$ solid35 = 35
$ solid36 = 36
$ solid37 = 37
$ solid38 = 38
$ solid39 = 39
$ solid40 = 40
$ solid41 = 41
$ solid42 = 42
$ solid43 = 43
$ solid44 = 44
$ solid45 = 45
$ solid46 = 46
$ solid47 = 47
$ solid48 = 48
$ solid49 = 49
$ solid50 = 50
$ solid51 = 51
$ solid52 = 52
$ solid53 = 53
$ solid54 = 54
$ solid55 = 55
$ solid56 = 56
$ solid57 = 57
$ solid58 = 58
$ solid59 = 59
$ solid60 = 60
$ solid61 = 61
$ solid62 = 62
$ solid63 = 63
$ solid64 = 64
$ solid65 = 65
$ solid66 = 66
$ solid67 = 67
! ----- names for boundaries -----
$ face1 = 68
$ bnry69 = 69
$ bnry70 = 70

Any help to solve my problem is highly appreciated!

Best regards,

Felix
hielau
Posts: 12
Joined: 26 Sep 2017, 19:18
Antispam: Yes

Re: How to use the keyword: Use Mesh Names

Post by hielau »

Hi,

I think you should reference to Body index in Component section and not to mesh name, that is at least what I am doing. In body section I use mesh names and in Component section I use body indexes. In my case components are used to couple electrical circuit to FEM simulation.

Code: Select all

Body 6
  Name = coil1
  Equation = 1
  Material = 4
End

Component 1
  Name = String component1
  Body = Integer 6
  Coil Type = String Stranded
  Number of Turns = Real $ Nph
  Resistance = Real $ Rs
End
And most likely these should be inside one of the solvers

Code: Select all

  calculate magnetic force = logical true
  Calculate Magnetic Torque = True
-Lauri
raback
Site Admin
Posts: 4832
Joined: 22 Aug 2009, 11:57
Antispam: Yes
Location: Espoo, Finland
Contact:

Re: How to use the keyword: Use Mesh Names

Post by raback »

Hi,

Yes, Lauri's take is correct. The "mesh.names" is used to eliminate the obnoxious "target bodies" and "target boundaries" i.e. which mesh entities should become which physical entities. The "Body" and "Boundary Condition" are after this physical entities, and "component" section refers to these physical entitities.

-Peter
FFF
Posts: 23
Joined: 11 Jun 2021, 11:00
Antispam: Yes

Re: How to use the keyword: Use Mesh Names

Post by FFF »

Hi Lauri and Peter,

Thank you for your support and the clarification!

The lines of calculate magnetic force (and Torque), must they be in the solver section? Because I get results by implementing them in the component section. This is also what is written in the Models manual in chapter 18 on page 130.( https://www.nic.funet.fi/pub/sci/phys ... anual.pdf )

Thank you for pointing out that the numbers in the component must be the numbers of the body itself and not the number of the meshed volume. I overlooked this. Because it was the same in my cases, most of the times (i. e. body 8 and solid8 = 8 )

Am I correct that assigning multiple volumes to a body section via the Names is not possible? i.e.

Code: Select all

Body 1
  Name(2) = solid1 solid2 !Magnet
   Equation = 1
  Material =1
End
If I implement it like this I get an error.

I attached a dummy motor with my simulation for those who are interested in the case.
RotorInStator.gif
(252.78 KiB) Not downloaded yet
Save the Code below as dummy_motor.py (I could not attach the python file directly)

Code: Select all

#!/usr/bin/env python3
import sys
import salome
salome.salome_init()
import salome_notebook
notebook = salome_notebook.NoteBook()
sys.path.insert(0, r'/Your/File/Path')

### GEOM component

import GEOM
from salome.geom import geomBuilder
import math
import SALOMEDS
geompy = geomBuilder.New()
O = geompy.MakeVertex(0, 0, 0)
OX = geompy.MakeVectorDXDYDZ(1, 0, 0)
OY = geompy.MakeVectorDXDYDZ(0, 1, 0)
OZ = geompy.MakeVectorDXDYDZ(0, 0, 1)
geompy.addToStudy( O, 'O' )
geompy.addToStudy( OX, 'OX' )
geompy.addToStudy( OY, 'OY' )
geompy.addToStudy( OZ, 'OZ' )
p1 = geompy.MakeVertex(0.005, 0.0, 0)
geompy.addToStudy( p1, 'p1' )
p2 = geompy.MakeVertex(3.061616997868383e-19, 0.005, 0)
geompy.addToStudy( p2, 'p2' )
p3 = geompy.MakeVertex(3.061616997868383e-19, -0.005, 0)
geompy.addToStudy( p3, 'p3' )
p4 = geompy.MakeVertex(0.011, 0.0, 0)
geompy.addToStudy( p4, 'p4' )
p5 = geompy.MakeVertex(6.735557395310442e-19, 0.011, 0)
geompy.addToStudy( p5, 'p5' )
p6 = geompy.MakeVertex(6.735557395310442e-19, -0.011, 0)
geompy.addToStudy( p6, 'p6' )
p7 = geompy.MakeVertex(-0.005, 6.123233995736766e-19, 0)
geompy.addToStudy( p7, 'p7' )
p8 = geompy.MakeVertex(-0.011, 1.3471114790620884e-18, 0)
geompy.addToStudy( p8, 'p8' )
p9 = geompy.MakeVertex(0.0125, 0.0, 0)
geompy.addToStudy( p9, 'p9' )
p10 = geompy.MakeVertex(0.0175, 0.0, 0)
geompy.addToStudy( p10, 'p10' )
p11 = geompy.MakeVertex(0.012074072828613355, 0.0032352380637815092, 0)
geompy.addToStudy( p11, 'p11' )
p12 = geompy.MakeVertex(0.012074072828613355, -0.0032352380637815092, 0)
geompy.addToStudy( p12, 'p12' )
p13 = geompy.MakeVertex(0.01652155785687372, 0.0057695862920987785, 0)
geompy.addToStudy( p13, 'p13' )
p14 = geompy.MakeVertex(0.01652155785687372, -0.0057695862920987785, 0)
geompy.addToStudy( p14, 'p14' )
p15 = geompy.MakeVertex(0.006250000000000002, 0.010825317547305483, 0)
geompy.addToStudy( p15, 'p15' )
p16 = geompy.MakeVertex(0.008750000000000003, 0.015155444566227676, 0)
geompy.addToStudy( p16, 'p16' )
p17 = geompy.MakeVertex(0.0032352380637815123, 0.012074072828613353, 0)
geompy.addToStudy( p17, 'p17' )
p18 = geompy.MakeVertex(0.008838834764831846, 0.008838834764831844, 0)
geompy.addToStudy( p18, 'p18' )
p19 = geompy.MakeVertex(0.0032641706301528546, 0.01719288196019642, 0)
geompy.addToStudy( p19, 'p19' )
p20 = geompy.MakeVertex(0.013257387226720868, 0.01142329566809764, 0)
geompy.addToStudy( p20, 'p20' )
p21 = geompy.MakeVertex(-0.006249999999999998, 0.010825317547305485, 0)
geompy.addToStudy( p21, 'p21' )
p22 = geompy.MakeVertex(-0.008749999999999997, 0.015155444566227678, 0)
geompy.addToStudy( p22, 'p22' )
p23 = geompy.MakeVertex(-0.008838834764831844, 0.008838834764831846, 0)
geompy.addToStudy( p23, 'p23' )
p24 = geompy.MakeVertex(-0.003235238063781508, 0.012074072828613355, 0)
geompy.addToStudy( p24, 'p24' )
p25 = geompy.MakeVertex(-0.013257387226720863, 0.011423295668097645, 0)
geompy.addToStudy( p25, 'p25' )
p26 = geompy.MakeVertex(-0.0032641706301528525, 0.01719288196019642, 0)
geompy.addToStudy( p26, 'p26' )
p27 = geompy.MakeVertex(-0.0125, 1.5308084989341916e-18, 0)
geompy.addToStudy( p27, 'p27' )
p28 = geompy.MakeVertex(-0.0175, 2.1431318985078684e-18, 0)
geompy.addToStudy( p28, 'p28' )
p29 = geompy.MakeVertex(-0.012074072828613355, -0.00323523806378151, 0)
geompy.addToStudy( p29, 'p29' )
p30 = geompy.MakeVertex(-0.012074072828613353, 0.0032352380637815127, 0)
geompy.addToStudy( p30, 'p30' )
p31 = geompy.MakeVertex(-0.016521557856873724, -0.005769586292098774, 0)
geompy.addToStudy( p31, 'p31' )
p32 = geompy.MakeVertex(-0.01652155785687372, 0.0057695862920987785, 0)
geompy.addToStudy( p32, 'p32' )
p33 = geompy.MakeVertex(-0.0062500000000000056, -0.01082531754730548, 0)
geompy.addToStudy( p33, 'p33' )
p34 = geompy.MakeVertex(-0.008750000000000008, -0.015155444566227673, 0)
geompy.addToStudy( p34, 'p34' )
p35 = geompy.MakeVertex(-0.0032352380637815192, -0.012074072828613351, 0)
geompy.addToStudy( p35, 'p35' )
p36 = geompy.MakeVertex(-0.00883883476483185, -0.008838834764831839, 0)
geompy.addToStudy( p36, 'p36' )
p37 = geompy.MakeVertex(-0.003264170630152857, -0.01719288196019642, 0)
geompy.addToStudy( p37, 'p37' )
p38 = geompy.MakeVertex(-0.01325738722672087, -0.011423295668097636, 0)
geompy.addToStudy( p38, 'p38' )
p39 = geompy.MakeVertex(0.006250000000000002, -0.010825317547305483, 0)
geompy.addToStudy( p39, 'p39' )
p40 = geompy.MakeVertex(0.008750000000000003, -0.015155444566227676, 0)
geompy.addToStudy( p40, 'p40' )
p41 = geompy.MakeVertex(0.008838834764831842, -0.008838834764831846, 0)
geompy.addToStudy( p41, 'p41' )
p42 = geompy.MakeVertex(0.0032352380637815144, -0.012074072828613353, 0)
geompy.addToStudy( p42, 'p42' )
p43 = geompy.MakeVertex(0.013257387226720874, -0.011423295668097636, 0)
geompy.addToStudy( p43, 'p43' )
p44 = geompy.MakeVertex(0.0032641706301528503, -0.01719288196019642, 0)
geompy.addToStudy( p44, 'p44' )
p45 = geompy.MakeVertex(0.024, 0.0, 0)
geompy.addToStudy( p45, 'p45' )
p46 = geompy.MakeVertex(1.4695761589768239e-18, 0.024, 0)
geompy.addToStudy( p46, 'p46' )
p47 = geompy.MakeVertex(-0.024, 2.9391523179536477e-18, 0)
geompy.addToStudy( p47, 'p47' )
p48 = geompy.MakeVertex(1.4695761589768239e-18, -0.024, 0)
geompy.addToStudy( p48, 'p48' )
p49 = geompy.MakeVertex(0.0115025, 0, 0)
geompy.addToStudy( p49, 'p49' )
p50 = geompy.MakeVertex(0, 0.0115025, 0)
geompy.addToStudy( p50, 'p50' )
p51 = geompy.MakeVertex(-0.0115025, 0, 0)
geompy.addToStudy( p51, 'p51' )
p52 = geompy.MakeVertex(0, -0.0115025, 0)
geompy.addToStudy( p52, 'p52' )
p53 = geompy.MakeVertex(0.0119975, 0, 0)
geompy.addToStudy( p53, 'p53' )
p54 = geompy.MakeVertex(0, 0.0119975, 0)
geompy.addToStudy( p54, 'p54' )
p55 = geompy.MakeVertex(-0.0119975, 0, 0)
geompy.addToStudy( p55, 'p55' )
p56 = geompy.MakeVertex(0, -0.0119975, 0)
geompy.addToStudy( p56, 'p56' )
p_tmp_1 = geompy.MakeVertex(0.003535533905932738, 0.0035355339059327372, 0)
l1 = geompy.MakeArc(p1, p_tmp_1, p2)
geompy.addToStudy( l1, 'l1' )
p_tmp_2 = geompy.MakeVertex(0.0035355339059327385, -0.0035355339059327372, 0)
l2 = geompy.MakeArc(p3, p_tmp_2, p1)
geompy.addToStudy( l2, 'l2' )
l3 = geompy.MakeEdge(p2, p5)
geompy.addToStudy( l3, 'l3' )
l4 = geompy.MakeEdge(p3, p6)
geompy.addToStudy( l4, 'l4' )
p_tmp_3 = geompy.MakeVertex(0.007778174593052023, 0.007778174593052021, 0)
l5 = geompy.MakeArc(p4, p_tmp_3, p5)
geompy.addToStudy( l5, 'l5' )
p_tmp_4 = geompy.MakeVertex(0.007778174593052024, -0.007778174593052021, 0)
l6 = geompy.MakeArc(p6, p_tmp_4, p4)
geompy.addToStudy( l6, 'l6' )
p_tmp_5 = geompy.MakeVertex(-0.0035355339059327385, -0.0035355339059327377, 0)
l7 = geompy.MakeArc(p7, p_tmp_5, p3)
geompy.addToStudy( l7, 'l7' )
p_tmp_6 = geompy.MakeVertex(-0.003535533905932737, 0.0035355339059327377, 0)
l8 = geompy.MakeArc(p2, p_tmp_6, p7)
geompy.addToStudy( l8, 'l8' )
p_tmp_7 = geompy.MakeVertex(-0.007778174593052024, -0.007778174593052021, 0)
l9 = geompy.MakeArc(p8, p_tmp_7, p6)
geompy.addToStudy( l9, 'l9' )
p_tmp_8 = geompy.MakeVertex(-0.00777817459305202, 0.007778174593052023, 0)
l10 = geompy.MakeArc(p5, p_tmp_8, p8)
geompy.addToStudy( l10, 'l10' )
p_tmp_9 = geompy.MakeVertex(0.012393060767172462, 0.0016315774027514992, 0)
l11 = geompy.MakeArc(p9, p_tmp_9, p11)
geompy.addToStudy( l11, 'l11' )
l12 = geompy.MakeEdge(p11, p13)
geompy.addToStudy( l12, 'l12' )
p_tmp_10 = geompy.MakeVertex(0.017253655590848863, 0.0029259816732790183, 0)
l13 = geompy.MakeArc(p10, p_tmp_10, p13)
geompy.addToStudy( l13, 'l13' )
l14 = geompy.MakeEdge(p9, p10)
geompy.addToStudy( l14, 'l14' )
p_tmp_11 = geompy.MakeVertex(0.012393060767172687, -0.001631577402749775, 0)
l15 = geompy.MakeArc(p12, p_tmp_11, p9)
geompy.addToStudy( l15, 'l15' )
l16 = geompy.MakeEdge(p12, p14)
geompy.addToStudy( l16, 'l16' )
p_tmp_12 = geompy.MakeVertex(0.017253655590849435, -0.0029259816732756325, 0)
l17 = geompy.MakeArc(p14, p_tmp_12, p10)
geompy.addToStudy( l17, 'l17' )
p_tmp_13 = geompy.MakeVertex(0.004783542904562798, 0.011548494156391365, 0)
l18 = geompy.MakeArc(p15, p_tmp_13, p17)
geompy.addToStudy( l18, 'l18' )
l19 = geompy.MakeEdge(p17, p19)
geompy.addToStudy( l19, 'l19' )
p_tmp_14 = geompy.MakeVertex(0.006092853335357106, 0.016405094886462034, 0)
l20 = geompy.MakeArc(p16, p_tmp_14, p19)
geompy.addToStudy( l20, 'l20' )
l21 = geompy.MakeEdge(p15, p16)
geompy.addToStudy( l21, 'l21' )
p_tmp_15 = geompy.MakeVertex(0.007609517862608285, 0.009916916753640924, 0)
l22 = geompy.MakeArc(p18, p_tmp_15, p15)
geompy.addToStudy( l22, 'l22' )
l23 = geompy.MakeEdge(p18, p20)
geompy.addToStudy( l23, 'l23' )
p_tmp_16 = geompy.MakeVertex(0.011160802255489117, 0.013479113213185205, 0)
l24 = geompy.MakeArc(p20, p_tmp_16, p16)
geompy.addToStudy( l24, 'l24' )
p_tmp_17 = geompy.MakeVertex(-0.007609517862609662, 0.009916916753639865, 0)
l25 = geompy.MakeArc(p21, p_tmp_17, p23)
geompy.addToStudy( l25, 'l25' )
l26 = geompy.MakeEdge(p23, p25)
geompy.addToStudy( l26, 'l26' )
p_tmp_18 = geompy.MakeVertex(-0.011160802255491752, 0.01347911321318302, 0)
l27 = geompy.MakeArc(p22, p_tmp_18, p25)
geompy.addToStudy( l27, 'l27' )
l28 = geompy.MakeEdge(p21, p22)
geompy.addToStudy( l28, 'l28' )
p_tmp_19 = geompy.MakeVertex(-0.0047835429045644026, 0.0115484941563907, 0)
l29 = geompy.MakeArc(p24, p_tmp_19, p21)
geompy.addToStudy( l29, 'l29' )
l30 = geompy.MakeEdge(p24, p26)
geompy.addToStudy( l30, 'l30' )
p_tmp_20 = geompy.MakeVertex(-0.0060928533353603225, 0.016405094886460837, 0)
l31 = geompy.MakeArc(p26, p_tmp_20, p22)
geompy.addToStudy( l31, 'l31' )
p_tmp_21 = geompy.MakeVertex(-0.012393060767172462, -0.0016315774027514992, 0)
l32 = geompy.MakeArc(p27, p_tmp_21, p29)
geompy.addToStudy( l32, 'l32' )
l33 = geompy.MakeEdge(p29, p31)
geompy.addToStudy( l33, 'l33' )
p_tmp_22 = geompy.MakeVertex(-0.017253655590848866, -0.0029259816732790157, 0)
l34 = geompy.MakeArc(p28, p_tmp_22, p31)
geompy.addToStudy( l34, 'l34' )
l35 = geompy.MakeEdge(p27, p28)
geompy.addToStudy( l35, 'l35' )
p_tmp_23 = geompy.MakeVertex(-0.012393060767172687, 0.0016315774027497775, 0)
l36 = geompy.MakeArc(p30, p_tmp_23, p27)
geompy.addToStudy( l36, 'l36' )
l37 = geompy.MakeEdge(p30, p32)
geompy.addToStudy( l37, 'l37' )
p_tmp_24 = geompy.MakeVertex(-0.017253655590849435, 0.0029259816732756373, 0)
l38 = geompy.MakeArc(p32, p_tmp_24, p28)
geompy.addToStudy( l38, 'l38' )
p_tmp_25 = geompy.MakeVertex(-0.004783542904562802, -0.011548494156391363, 0)
l39 = geompy.MakeArc(p33, p_tmp_25, p35)
geompy.addToStudy( l39, 'l39' )
l40 = geompy.MakeEdge(p35, p37)
geompy.addToStudy( l40, 'l40' )
p_tmp_26 = geompy.MakeVertex(-0.0060928533353571, -0.016405094886462034, 0)
l41 = geompy.MakeArc(p34, p_tmp_26, p37)
geompy.addToStudy( l41, 'l41' )
l42 = geompy.MakeEdge(p33, p34)
geompy.addToStudy( l42, 'l42' )
p_tmp_27 = geompy.MakeVertex(-0.0076095178626082866, -0.00991691675364092, 0)
l43 = geompy.MakeArc(p36, p_tmp_27, p33)
geompy.addToStudy( l43, 'l43' )
l44 = geompy.MakeEdge(p36, p38)
geompy.addToStudy( l44, 'l44' )
p_tmp_28 = geompy.MakeVertex(-0.011160802255489119, -0.013479113213185203, 0)
l45 = geompy.MakeArc(p38, p_tmp_28, p34)
geompy.addToStudy( l45, 'l45' )
p_tmp_29 = geompy.MakeVertex(0.007609517862609665, -0.009916916753639864, 0)
l46 = geompy.MakeArc(p39, p_tmp_29, p41)
geompy.addToStudy( l46, 'l46' )
l47 = geompy.MakeEdge(p41, p43)
geompy.addToStudy( l47, 'l47' )
p_tmp_30 = geompy.MakeVertex(0.011160802255491771, -0.013479113213183007, 0)
l48 = geompy.MakeArc(p40, p_tmp_30, p43)
geompy.addToStudy( l48, 'l48' )
l49 = geompy.MakeEdge(p39, p40)
geompy.addToStudy( l49, 'l49' )
p_tmp_31 = geompy.MakeVertex(0.004783542904564409, -0.011548494156390697, 0)
l50 = geompy.MakeArc(p42, p_tmp_31, p39)
geompy.addToStudy( l50, 'l50' )
l51 = geompy.MakeEdge(p42, p44)
geompy.addToStudy( l51, 'l51' )
p_tmp_32 = geompy.MakeVertex(0.0060928533353603286, -0.016405094886460834, 0)
l52 = geompy.MakeArc(p44, p_tmp_32, p40)
geompy.addToStudy( l52, 'l52' )
p_tmp_33 = geompy.MakeVertex(0.016970562748477143, 0.01697056274847714, 0)
l53 = geompy.MakeArc(p45, p_tmp_33, p46)
geompy.addToStudy( l53, 'l53' )
p_tmp_34 = geompy.MakeVertex(-0.01697056274847714, 0.016970562748477143, 0)
l54 = geompy.MakeArc(p46, p_tmp_34, p47)
geompy.addToStudy( l54, 'l54' )
p_tmp_35 = geompy.MakeVertex(-0.01697056274847715, -0.016970562748477143, 0)
l55 = geompy.MakeArc(p47, p_tmp_35, p48)
geompy.addToStudy( l55, 'l55' )
p_tmp_36 = geompy.MakeVertex(0.016970562748477143, -0.01697056274847714, 0)
l56 = geompy.MakeArc(p48, p_tmp_36, p45)
geompy.addToStudy( l56, 'l56' )
p_tmp_37 = geompy.MakeVertex(0.010825321828217233, 0.006250002471586696, 0)
l57 = geompy.MakeArc(p11, p_tmp_37, p18)
geompy.addToStudy( l57, 'l57' )
p_tmp_38 = geompy.MakeVertex(-9.888242952826912e-16, 0.012500004943171675, 0)
l58 = geompy.MakeArc(p17, p_tmp_38, p24)
geompy.addToStudy( l58, 'l58' )
p_tmp_39 = geompy.MakeVertex(-0.010825321828218224, 0.006250002471584981, 0)
l59 = geompy.MakeArc(p23, p_tmp_39, p30)
geompy.addToStudy( l59, 'l59' )
p_tmp_40 = geompy.MakeVertex(-0.010825321828217235, -0.006250002471586695, 0)
l60 = geompy.MakeArc(p29, p_tmp_40, p36)
geompy.addToStudy( l60, 'l60' )
p_tmp_41 = geompy.MakeVertex(9.84370352857494e-16, -0.012500004943171675, 0)
l61 = geompy.MakeArc(p35, p_tmp_41, p42)
geompy.addToStudy( l61, 'l61' )
p_tmp_42 = geompy.MakeVertex(0.010825321828218224, -0.00625000247158498, 0)
l62 = geompy.MakeArc(p41, p_tmp_42, p12)
geompy.addToStudy( l62, 'l62' )
p_tmp_43 = geompy.MakeVertex(0.008133495750598263, 0.008133495750598263, 0)
l63 = geompy.MakeArc(p49, p_tmp_43, p50)
geompy.addToStudy( l63, 'l63' )
p_tmp_44 = geompy.MakeVertex(-0.008133495750598263, 0.008133495750598263, 0)
l64 = geompy.MakeArc(p50, p_tmp_44, p51)
geompy.addToStudy( l64, 'l64' )
p_tmp_45 = geompy.MakeVertex(-0.008133495750598265, -0.008133495750598263, 0)
l65 = geompy.MakeArc(p51, p_tmp_45, p52)
geompy.addToStudy( l65, 'l65' )
p_tmp_46 = geompy.MakeVertex(0.008133495750598263, -0.008133495750598263, 0)
l66 = geompy.MakeArc(p52, p_tmp_46, p49)
geompy.addToStudy( l66, 'l66' )
p_tmp_47 = geompy.MakeVertex(0.008483513607285604, 0.008483513607285604, 0)
l67 = geompy.MakeArc(p53, p_tmp_47, p54)
geompy.addToStudy( l67, 'l67' )
p_tmp_48 = geompy.MakeVertex(-0.008483513607285604, 0.008483513607285604, 0)
l68 = geompy.MakeArc(p54, p_tmp_48, p55)
geompy.addToStudy( l68, 'l68' )
p_tmp_49 = geompy.MakeVertex(-0.008483513607285605, -0.008483513607285604, 0)
l69 = geompy.MakeArc(p55, p_tmp_49, p56)
geompy.addToStudy( l69, 'l69' )
p_tmp_50 = geompy.MakeVertex(0.008483513607285604, -0.008483513607285604, 0)
l70 = geompy.MakeArc(p56, p_tmp_50, p53)
geompy.addToStudy( l70, 'l70' )
a1 = geompy.MakeFaceWires([l1, l2, l3, l4, l5, l6],1)
geompy.addToStudy( a1, 'a1' )
a2 = geompy.MakeFaceWires([l7, l8, l4, l3, l9, l10],1)
geompy.addToStudy( a2, 'a2' )
a3 = geompy.MakeFaceWires([l1, l2, l7, l8],1)
geompy.addToStudy( a3, 'a3' )
a4 = geompy.MakeFaceWires([l11, l12, l13, l14],1)
geompy.addToStudy( a4, 'a4' )
a5 = geompy.MakeFaceWires([l14, l15, l16, l17],1)
geompy.addToStudy( a5, 'a5' )
a6 = geompy.MakeFaceWires([l18, l19, l20, l21],1)
geompy.addToStudy( a6, 'a6' )
a7 = geompy.MakeFaceWires([l21, l22, l23, l24],1)
geompy.addToStudy( a7, 'a7' )
a8 = geompy.MakeFaceWires([l25, l26, l27, l28],1)
geompy.addToStudy( a8, 'a8' )
a9 = geompy.MakeFaceWires([l28, l29, l30, l31],1)
geompy.addToStudy( a9, 'a9' )
a10 = geompy.MakeFaceWires([l32, l33, l34, l35],1)
geompy.addToStudy( a10, 'a10' )
a11 = geompy.MakeFaceWires([l35, l36, l37, l38],1)
geompy.addToStudy( a11, 'a11' )
a12 = geompy.MakeFaceWires([l39, l40, l41, l42],1)
geompy.addToStudy( a12, 'a12' )
a13 = geompy.MakeFaceWires([l42, l43, l44, l45],1)
geompy.addToStudy( a13, 'a13' )
a14 = geompy.MakeFaceWires([l46, l47, l48, l49],1)
geompy.addToStudy( a14, 'a14' )
a15 = geompy.MakeFaceWires([l49, l50, l51, l52],1)
geompy.addToStudy( a15, 'a15' )
a16 = geompy.MakeFaceWires([l53, l54, l55, l56, l13, l17, l57, l12, l16, l20, l24, l58, l19, l23, l27, l31, l59, l26, l30, l34, l38, l60, l33, l37, l41, l45, l61, l40, l44, l48, l52, l62, l47, l51],1)
geompy.addToStudy( a16, 'a16' )
a17 = geompy.MakeFaceWires([l11, l15, l57, l18, l22, l58, l25, l29, l59, l32, l36, l60, l39, l43, l61, l46, l50, l62, l67, l68, l69, l70],1)
geompy.addToStudy( a17, 'a17' )
a18 = geompy.MakeFaceWires([l67, l68, l69, l70, l63, l64, l65, l66],1)
geompy.addToStudy( a18, 'a18' )
a19 = geompy.MakeFaceWires([l63, l64, l65, l66, l5, l6, l9, l10],1)
geompy.addToStudy( a19, 'a19' )
p_tmp_51 = geompy.MakeVertex(0, 0, 0.0)
p_tmp_52 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_1 = geompy.MakeEdge(p_tmp_51, p_tmp_52)
v1 = geompy.MakePipe(a1, l_tmp_1)
geompy.addToStudy( v1, 'v1' )
p_tmp_53 = geompy.MakeVertex(0, 0, 0.0)
p_tmp_54 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_2 = geompy.MakeEdge(p_tmp_53, p_tmp_54)
v2 = geompy.MakePipe(a2, l_tmp_2)
geompy.addToStudy( v2, 'v2' )
p_tmp_55 = geompy.MakeVertex(0, 0, 0)
p_tmp_56 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_3 = geompy.MakeEdge(p_tmp_55, p_tmp_56)
v4 = geompy.MakePipe(a4, l_tmp_3)
geompy.addToStudy( v4, 'v4' )
p_tmp_57 = geompy.MakeVertex(0, 0, 0)
p_tmp_58 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_4 = geompy.MakeEdge(p_tmp_57, p_tmp_58)
v6 = geompy.MakePipe(a6, l_tmp_4)
geompy.addToStudy( v6, 'v6' )
p_tmp_59 = geompy.MakeVertex(0, 0, 0)
p_tmp_60 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_5 = geompy.MakeEdge(p_tmp_59, p_tmp_60)
v8 = geompy.MakePipe(a8, l_tmp_5)
geompy.addToStudy( v8, 'v8' )
p_tmp_61 = geompy.MakeVertex(0, 0, 0)
p_tmp_62 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_6 = geompy.MakeEdge(p_tmp_61, p_tmp_62)
v10 = geompy.MakePipe(a10, l_tmp_6)
geompy.addToStudy( v10, 'v10' )
p_tmp_63 = geompy.MakeVertex(0, 0, 0)
p_tmp_64 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_7 = geompy.MakeEdge(p_tmp_63, p_tmp_64)
v12 = geompy.MakePipe(a12, l_tmp_7)
geompy.addToStudy( v12, 'v12' )
p_tmp_65 = geompy.MakeVertex(0, 0, 0)
p_tmp_66 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_8 = geompy.MakeEdge(p_tmp_65, p_tmp_66)
v14 = geompy.MakePipe(a14, l_tmp_8)
geompy.addToStudy( v14, 'v14' )
p_tmp_67 = geompy.MakeVertex(0, 0, 0)
p_tmp_68 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_9 = geompy.MakeEdge(p_tmp_67, p_tmp_68)
v5 = geompy.MakePipe(a5, l_tmp_9)
geompy.addToStudy( v5, 'v5' )
p_tmp_69 = geompy.MakeVertex(0, 0, 0)
p_tmp_70 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_10 = geompy.MakeEdge(p_tmp_69, p_tmp_70)
v7 = geompy.MakePipe(a7, l_tmp_10)
geompy.addToStudy( v7, 'v7' )
p_tmp_71 = geompy.MakeVertex(0, 0, 0)
p_tmp_72 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_11 = geompy.MakeEdge(p_tmp_71, p_tmp_72)
v9 = geompy.MakePipe(a9, l_tmp_11)
geompy.addToStudy( v9, 'v9' )
p_tmp_73 = geompy.MakeVertex(0, 0, 0)
p_tmp_74 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_12 = geompy.MakeEdge(p_tmp_73, p_tmp_74)
v11 = geompy.MakePipe(a11, l_tmp_12)
geompy.addToStudy( v11, 'v11' )
p_tmp_75 = geompy.MakeVertex(0, 0, 0)
p_tmp_76 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_13 = geompy.MakeEdge(p_tmp_75, p_tmp_76)
v13 = geompy.MakePipe(a13, l_tmp_13)
geompy.addToStudy( v13, 'v13' )
p_tmp_77 = geompy.MakeVertex(0, 0, 0)
p_tmp_78 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_14 = geompy.MakeEdge(p_tmp_77, p_tmp_78)
v15 = geompy.MakePipe(a15, l_tmp_14)
geompy.addToStudy( v15, 'v15' )
p_tmp_79 = geompy.MakeVertex(0, 0, 0)
p_tmp_80 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_15 = geompy.MakeEdge(p_tmp_79, p_tmp_80)
v16 = geompy.MakePipe(a16, l_tmp_15)
geompy.addToStudy( v16, 'v16' )
p_tmp_81 = geompy.MakeVertex(0, 0, 0)
p_tmp_82 = geompy.MakeVertex(0, 0, 0.04)
l_tmp_16 = geompy.MakeEdge(p_tmp_81, p_tmp_82)
v17 = geompy.MakePipe(a17, l_tmp_16)
geompy.addToStudy( v17, 'v17' )

v18 = geompy.MakePipe(a18, l_tmp_16)
geompy.addToStudy( v18, 'v18' )

v19 = geompy.MakePipe(a19, l_tmp_16)
geompy.addToStudy( v19, 'v19' )

p_tmp_83 = geompy.MakeVertex(0, 0, -0.027)
p_tmp_84 = geompy.MakeVertex(0, 0, 0.067)
l_tmp_17 = geompy.MakeEdge(p_tmp_83, p_tmp_84)
v3 = geompy.MakePipe(a3, l_tmp_17)
geompy.addToStudy( v3, 'v3' )
p_tmp_85=geompy.MakeVertex(0,0,-0.032)
v20 = geompy.MakeCylinder(p_tmp_85, OZ, 0.024480000000000002, 0.18400000000000002 )
geompy.addToStudy( v20, 'v20' )
geompy.TranslateDXDYDZ(v1, 0, 0,0.0)
geompy.TranslateDXDYDZ(v2, 0, 0,0.0)
geompy.TranslateDXDYDZ(v3, 0, 0,0.0)
geompy.TranslateDXDYDZ(v17, 0, 0,0.0)
geompy.TranslateDXDYDZ(v18, 0, 0,0.0)
geompy.TranslateDXDYDZ(v19, 0, 0,0.0)
Partition0 = geompy.MakePartition([v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20], [], [], [], geompy.ShapeType['SOLID'], 0, [], 0)
geompy.addToStudy( Partition0, 'Partition0' )
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20] = geompy.ExtractShapes(Partition0, geompy.ShapeType['SOLID'], False)
geompy.addToStudyInFather( Partition0, solid1, 'solid1' )
geompy.addToStudyInFather( Partition0, solid2, 'solid2' )
geompy.addToStudyInFather( Partition0, solid3, 'solid3' )
geompy.addToStudyInFather( Partition0, solid4, 'solid4' )
geompy.addToStudyInFather( Partition0, solid5, 'solid5' )
geompy.addToStudyInFather( Partition0, solid6, 'solid6' )
geompy.addToStudyInFather( Partition0, solid7, 'solid7' )
geompy.addToStudyInFather( Partition0, solid8, 'solid8' )
geompy.addToStudyInFather( Partition0, solid9, 'solid9' )
geompy.addToStudyInFather( Partition0, solid10, 'solid10' )
geompy.addToStudyInFather( Partition0, solid11, 'solid11' )
geompy.addToStudyInFather( Partition0, solid12, 'solid12' )
geompy.addToStudyInFather( Partition0, solid13, 'solid13' )
geompy.addToStudyInFather( Partition0, solid14, 'solid14' )
geompy.addToStudyInFather( Partition0, solid15, 'solid15' )
geompy.addToStudyInFather( Partition0, solid16, 'solid16' )
geompy.addToStudyInFather( Partition0, solid17, 'solid17' )
geompy.addToStudyInFather( Partition0, solid18, 'solid18' )
geompy.addToStudyInFather( Partition0, solid19, 'solid19' )
geompy.addToStudyInFather( Partition0, solid20, 'solid20' )
face1 = geompy.CreateGroup(Partition0, geompy.ShapeType['FACE'])
p_tmp_86= geompy.MakeVertex(0.024480000000000002, 0, 0)
face_object_1 = geompy.GetFaceNearPoint(Partition0,p_tmp_86)
face_id_1 = geompy.GetSubShapeID(Partition0,face_object_1)
p_tmp_87= geompy.MakeVertex(0, 0, -0.032)
face_object_2 = geompy.GetFaceNearPoint(Partition0,p_tmp_87)
face_id_2 = geompy.GetSubShapeID(Partition0,face_object_2)
p_tmp_88= geompy.MakeVertex(0, 0, 0.15200000000000002)
face_object_3 = geompy.GetFaceNearPoint(Partition0,p_tmp_88)
face_id_3 = geompy.GetSubShapeID(Partition0,face_object_3)
geompy.UnionIDs(face1, [face_id_1,face_id_2,face_id_3])
geompy.addToStudyInFather( Partition0, face1 , 'face1')
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20, face1, face_object_1, face_object_2, face_object_3] = geompy.GetExistingSubObjects(Partition0, False)
import  SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New()
Mesh0 = smesh.Mesh(Partition0,'Mesh0')
NETGEN_1D_2D_3D = Mesh0.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
NETGEN_3D_Parameters_1 = NETGEN_1D_2D_3D.Parameters()
NETGEN_3D_Parameters_1.SetMaxSize( 0.01 )
NETGEN_3D_Parameters_1.SetMinSize( 0.0005 )
NETGEN_3D_Parameters_1.SetSecondOrder( 0 )
NETGEN_3D_Parameters_1.SetOptimize( 1 )
NETGEN_3D_Parameters_1.SetFineness( 3 )
NETGEN_3D_Parameters_1.SetChordalError( -1 )
NETGEN_3D_Parameters_1.SetChordalErrorEnabled( 0 )
NETGEN_3D_Parameters_1.SetUseSurfaceCurvature( 1 )
NETGEN_3D_Parameters_1.SetFuseEdges( 1 )
NETGEN_3D_Parameters_1.SetQuadAllowed( 0 )
NETGEN_3D_Parameters_1.SetCheckChartBoundary( 3 )
solid1_1 = Mesh0.GroupOnGeom(solid1,'solid1',SMESH.VOLUME)
solid2_1 = Mesh0.GroupOnGeom(solid2,'solid2',SMESH.VOLUME)
solid3_1 = Mesh0.GroupOnGeom(solid3,'solid3',SMESH.VOLUME)
solid18_1 = Mesh0.GroupOnGeom(solid18,'solid18',SMESH.VOLUME)
solid19_1 = Mesh0.GroupOnGeom(solid19,'solid19',SMESH.VOLUME)
solid4_1 = Mesh0.GroupOnGeom(solid4,'solid4',SMESH.VOLUME)
solid5_1 = Mesh0.GroupOnGeom(solid5,'solid5',SMESH.VOLUME)
solid6_1 = Mesh0.GroupOnGeom(solid6,'solid6',SMESH.VOLUME)
solid7_1 = Mesh0.GroupOnGeom(solid7,'solid7',SMESH.VOLUME)
solid8_1 = Mesh0.GroupOnGeom(solid8,'solid8',SMESH.VOLUME)
solid9_1 = Mesh0.GroupOnGeom(solid9,'solid9',SMESH.VOLUME)
solid10_1 = Mesh0.GroupOnGeom(solid10,'solid10',SMESH.VOLUME)
solid11_1 = Mesh0.GroupOnGeom(solid11,'solid11',SMESH.VOLUME)
solid12_1 = Mesh0.GroupOnGeom(solid12,'solid12',SMESH.VOLUME)
solid13_1 = Mesh0.GroupOnGeom(solid13,'solid13',SMESH.VOLUME)
solid14_1 = Mesh0.GroupOnGeom(solid14,'solid14',SMESH.VOLUME)
solid15_1 = Mesh0.GroupOnGeom(solid15,'solid15',SMESH.VOLUME)
solid16_1 = Mesh0.GroupOnGeom(solid16,'solid16',SMESH.VOLUME)
solid17_1 = Mesh0.GroupOnGeom(solid17,'solid17',SMESH.VOLUME)
solid20_1 = Mesh0.GroupOnGeom(solid20,'solid20',SMESH.VOLUME)
face1_1 = Mesh0.GroupOnGeom(face1,'face1',SMESH.FACE)
smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), 'NETGEN 1D-2D-3D')
smesh.SetName(NETGEN_3D_Parameters_1, 'NETGEN 3D Parameters_1')
smesh.SetName(Mesh0.GetMesh(), 'Mesh0')
isDone = Mesh0.Compute()
smesh.SetName(solid1_1, 'solid1')
smesh.SetName(solid2_1, 'solid2')
smesh.SetName(solid3_1, 'solid3')
smesh.SetName(solid18_1, 'solid18')
smesh.SetName(solid19_1, 'solid19')
smesh.SetName(solid4_1, 'solid4')
smesh.SetName(solid5_1, 'solid5')
smesh.SetName(solid6_1, 'solid6')
smesh.SetName(solid7_1, 'solid7')
smesh.SetName(solid8_1, 'solid8')
smesh.SetName(solid9_1, 'solid9')
smesh.SetName(solid10_1, 'solid10')
smesh.SetName(solid11_1, 'solid11')
smesh.SetName(solid12_1, 'solid12')
smesh.SetName(solid13_1, 'solid13')
smesh.SetName(solid14_1, 'solid14')
smesh.SetName(solid15_1, 'solid15')
smesh.SetName(solid16_1, 'solid16')
smesh.SetName(solid17_1, 'solid17')
smesh.SetName(solid20_1, 'solid20')
smesh.SetName(face1_1, 'face1')
[ solid1_1,solid2_1,solid3_1,solid18_1,solid19_1,solid4_1,solid5_1,solid6_1,solid7_1,solid8_1,solid9_1,solid10_1,solid11_1,solid12_1,solid13_1,solid14_1,solid15_1,solid16_1,solid17_1,solid20_1,face1_1] = Mesh0.GetGroups()
try:
    Mesh0.ExportUNV( r'/Your/File/Path/dummy_Motor.unv', 0 )
    pass
except:
    print('ExportUNV() failed. Invalid file name?')
geompy.TranslateDXDYDZ(v1, 0, 0,0.04)
geompy.TranslateDXDYDZ(v2, 0, 0,0.04)
geompy.TranslateDXDYDZ(v3, 0, 0,0.04)
#geompy.TranslateDXDYDZ(v17, 0, 0,0.04)
#geompy.TranslateDXDYDZ(v18, 0, 0,0.04)
#geompy.TranslateDXDYDZ(v19, 0, 0,0.04)
Partition1 = geompy.MakePartition([v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20], [], [], [], geompy.ShapeType['SOLID'], 0, [], 0)
geompy.addToStudy( Partition1, 'Partition1' )
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20] = geompy.ExtractShapes(Partition1, geompy.ShapeType['SOLID'], False)
geompy.addToStudyInFather( Partition1, solid1, 'solid1' )
geompy.addToStudyInFather( Partition1, solid2, 'solid2' )
geompy.addToStudyInFather( Partition1, solid3, 'solid3' )
geompy.addToStudyInFather( Partition1, solid4, 'solid4' )
geompy.addToStudyInFather( Partition1, solid5, 'solid5' )
geompy.addToStudyInFather( Partition1, solid6, 'solid6' )
geompy.addToStudyInFather( Partition1, solid7, 'solid7' )
geompy.addToStudyInFather( Partition1, solid8, 'solid8' )
geompy.addToStudyInFather( Partition1, solid9, 'solid9' )
geompy.addToStudyInFather( Partition1, solid10, 'solid10' )
geompy.addToStudyInFather( Partition1, solid11, 'solid11' )
geompy.addToStudyInFather( Partition1, solid12, 'solid12' )
geompy.addToStudyInFather( Partition1, solid13, 'solid13' )
geompy.addToStudyInFather( Partition1, solid14, 'solid14' )
geompy.addToStudyInFather( Partition1, solid15, 'solid15' )
geompy.addToStudyInFather( Partition1, solid16, 'solid16' )
geompy.addToStudyInFather( Partition1, solid17, 'solid17' )
geompy.addToStudyInFather( Partition1, solid18, 'solid18' )
geompy.addToStudyInFather( Partition1, solid19, 'solid19' )
geompy.addToStudyInFather( Partition1, solid20, 'solid20' )
face1 = geompy.CreateGroup(Partition1, geompy.ShapeType['FACE'])
p_tmp_89= geompy.MakeVertex(0.024480000000000002, 0, 0)
face_object_4 = geompy.GetFaceNearPoint(Partition1,p_tmp_89)
face_id_4 = geompy.GetSubShapeID(Partition1,face_object_4)
p_tmp_90= geompy.MakeVertex(0, 0, -0.032)
face_object_5 = geompy.GetFaceNearPoint(Partition1,p_tmp_90)
face_id_5 = geompy.GetSubShapeID(Partition1,face_object_5)
p_tmp_91= geompy.MakeVertex(0, 0, 0.15200000000000002)
face_object_6 = geompy.GetFaceNearPoint(Partition1,p_tmp_91)
face_id_6 = geompy.GetSubShapeID(Partition1,face_object_6)
geompy.UnionIDs(face1, [face_id_4,face_id_5,face_id_6])
geompy.addToStudyInFather( Partition1, face1 , 'face1')
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20, face1, face_object_4, face_object_5, face_object_6] = geompy.GetExistingSubObjects(Partition1, False)
import  SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New()
Mesh1 = smesh.Mesh(Partition1,'Mesh1')
NETGEN_1D_2D_3D = Mesh1.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
NETGEN_3D_Parameters_1 = NETGEN_1D_2D_3D.Parameters()
NETGEN_3D_Parameters_1.SetMaxSize( 0.01 )
NETGEN_3D_Parameters_1.SetMinSize( 0.0005 )
NETGEN_3D_Parameters_1.SetSecondOrder( 0 )
NETGEN_3D_Parameters_1.SetOptimize( 1 )
NETGEN_3D_Parameters_1.SetFineness( 3 )
NETGEN_3D_Parameters_1.SetChordalError( -1 )
NETGEN_3D_Parameters_1.SetChordalErrorEnabled( 0 )
NETGEN_3D_Parameters_1.SetUseSurfaceCurvature( 1 )
NETGEN_3D_Parameters_1.SetFuseEdges( 1 )
NETGEN_3D_Parameters_1.SetQuadAllowed( 0 )
NETGEN_3D_Parameters_1.SetCheckChartBoundary( 3 )
solid1_1 = Mesh1.GroupOnGeom(solid1,'solid1',SMESH.VOLUME)
solid2_1 = Mesh1.GroupOnGeom(solid2,'solid2',SMESH.VOLUME)
solid3_1 = Mesh1.GroupOnGeom(solid3,'solid3',SMESH.VOLUME)
solid18_1 = Mesh1.GroupOnGeom(solid18,'solid18',SMESH.VOLUME)
solid19_1 = Mesh1.GroupOnGeom(solid19,'solid19',SMESH.VOLUME)
solid4_1 = Mesh1.GroupOnGeom(solid4,'solid4',SMESH.VOLUME)
solid5_1 = Mesh1.GroupOnGeom(solid5,'solid5',SMESH.VOLUME)
solid6_1 = Mesh1.GroupOnGeom(solid6,'solid6',SMESH.VOLUME)
solid7_1 = Mesh1.GroupOnGeom(solid7,'solid7',SMESH.VOLUME)
solid8_1 = Mesh1.GroupOnGeom(solid8,'solid8',SMESH.VOLUME)
solid9_1 = Mesh1.GroupOnGeom(solid9,'solid9',SMESH.VOLUME)
solid10_1 = Mesh1.GroupOnGeom(solid10,'solid10',SMESH.VOLUME)
solid11_1 = Mesh1.GroupOnGeom(solid11,'solid11',SMESH.VOLUME)
solid12_1 = Mesh1.GroupOnGeom(solid12,'solid12',SMESH.VOLUME)
solid13_1 = Mesh1.GroupOnGeom(solid13,'solid13',SMESH.VOLUME)
solid14_1 = Mesh1.GroupOnGeom(solid14,'solid14',SMESH.VOLUME)
solid15_1 = Mesh1.GroupOnGeom(solid15,'solid15',SMESH.VOLUME)
solid16_1 = Mesh1.GroupOnGeom(solid16,'solid16',SMESH.VOLUME)
solid17_1 = Mesh1.GroupOnGeom(solid17,'solid17',SMESH.VOLUME)
solid20_1 = Mesh1.GroupOnGeom(solid20,'solid20',SMESH.VOLUME)
face1_1 = Mesh1.GroupOnGeom(face1,'face1',SMESH.FACE)
smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), 'NETGEN 1D-2D-3D')
smesh.SetName(NETGEN_3D_Parameters_1, 'NETGEN 3D Parameters_1')
smesh.SetName(Mesh1.GetMesh(), 'Mesh1')
isDone = Mesh1.Compute()
smesh.SetName(solid1_1, 'solid1')
smesh.SetName(solid2_1, 'solid2')
smesh.SetName(solid3_1, 'solid3')
smesh.SetName(solid18_1, 'solid18')
smesh.SetName(solid19_1, 'solid19')
smesh.SetName(solid4_1, 'solid4')
smesh.SetName(solid5_1, 'solid5')
smesh.SetName(solid6_1, 'solid6')
smesh.SetName(solid7_1, 'solid7')
smesh.SetName(solid8_1, 'solid8')
smesh.SetName(solid9_1, 'solid9')
smesh.SetName(solid10_1, 'solid10')
smesh.SetName(solid11_1, 'solid11')
smesh.SetName(solid12_1, 'solid12')
smesh.SetName(solid13_1, 'solid13')
smesh.SetName(solid14_1, 'solid14')
smesh.SetName(solid15_1, 'solid15')
smesh.SetName(solid16_1, 'solid16')
smesh.SetName(solid17_1, 'solid17')
smesh.SetName(solid20_1, 'solid20')
smesh.SetName(face1_1, 'face1')
[ solid1_1,solid2_1,solid3_1,solid18_1,solid19_1,solid4_1,solid5_1,solid6_1,solid7_1,solid8_1,solid9_1,solid10_1,solid11_1,solid12_1,solid13_1,solid14_1,solid15_1,solid16_1,solid17_1,solid20_1,face1_1] = Mesh1.GetGroups()
try:
    Mesh1.ExportUNV( r'/Your/File/Path/dummy_Motor.unv', 0 )
    pass
except:
    print('ExportUNV() failed. Invalid file name?')
geompy.TranslateDXDYDZ(v1, 0, 0,0.02)
geompy.TranslateDXDYDZ(v2, 0, 0,0.02)
geompy.TranslateDXDYDZ(v3, 0, 0,0.02)
#geompy.TranslateDXDYDZ(v17, 0, 0,0.02)
#geompy.TranslateDXDYDZ(v18, 0, 0,0.02)
#geompy.TranslateDXDYDZ(v19, 0, 0,0.02)
Partition2 = geompy.MakePartition([v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20], [], [], [], geompy.ShapeType['SOLID'], 0, [], 0)
geompy.addToStudy( Partition2, 'Partition2' )
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20] = geompy.ExtractShapes(Partition2, geompy.ShapeType['SOLID'], False)
geompy.addToStudyInFather( Partition2, solid1, 'solid1' )
geompy.addToStudyInFather( Partition2, solid2, 'solid2' )
geompy.addToStudyInFather( Partition2, solid3, 'solid3' )
geompy.addToStudyInFather( Partition2, solid4, 'solid4' )
geompy.addToStudyInFather( Partition2, solid5, 'solid5' )
geompy.addToStudyInFather( Partition2, solid6, 'solid6' )
geompy.addToStudyInFather( Partition2, solid7, 'solid7' )
geompy.addToStudyInFather( Partition2, solid8, 'solid8' )
geompy.addToStudyInFather( Partition2, solid9, 'solid9' )
geompy.addToStudyInFather( Partition2, solid10, 'solid10' )
geompy.addToStudyInFather( Partition2, solid11, 'solid11' )
geompy.addToStudyInFather( Partition2, solid12, 'solid12' )
geompy.addToStudyInFather( Partition2, solid13, 'solid13' )
geompy.addToStudyInFather( Partition2, solid14, 'solid14' )
geompy.addToStudyInFather( Partition2, solid15, 'solid15' )
geompy.addToStudyInFather( Partition2, solid16, 'solid16' )
geompy.addToStudyInFather( Partition2, solid17, 'solid17' )
geompy.addToStudyInFather( Partition2, solid18, 'solid18' )
geompy.addToStudyInFather( Partition2, solid19, 'solid19' )
geompy.addToStudyInFather( Partition2, solid20, 'solid20' )
face1 = geompy.CreateGroup(Partition2, geompy.ShapeType['FACE'])
p_tmp_92= geompy.MakeVertex(0.024480000000000002, 0, 0)
face_object_7 = geompy.GetFaceNearPoint(Partition2,p_tmp_92)
face_id_7 = geompy.GetSubShapeID(Partition2,face_object_7)
p_tmp_93= geompy.MakeVertex(0, 0, -0.032)
face_object_8 = geompy.GetFaceNearPoint(Partition2,p_tmp_93)
face_id_8 = geompy.GetSubShapeID(Partition2,face_object_8)
p_tmp_94= geompy.MakeVertex(0, 0, 0.15200000000000002)
face_object_9 = geompy.GetFaceNearPoint(Partition2,p_tmp_94)
face_id_9 = geompy.GetSubShapeID(Partition2,face_object_9)
geompy.UnionIDs(face1, [face_id_7,face_id_8,face_id_9])
geompy.addToStudyInFather( Partition2, face1 , 'face1')
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20, face1, face_object_7, face_object_8, face_object_9] = geompy.GetExistingSubObjects(Partition2, False)
import  SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New()
Mesh2 = smesh.Mesh(Partition2,'Mesh2')
NETGEN_1D_2D_3D = Mesh2.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
NETGEN_3D_Parameters_1 = NETGEN_1D_2D_3D.Parameters()
NETGEN_3D_Parameters_1.SetMaxSize( 0.01 )
NETGEN_3D_Parameters_1.SetMinSize( 0.0005 )
NETGEN_3D_Parameters_1.SetSecondOrder( 0 )
NETGEN_3D_Parameters_1.SetOptimize( 1 )
NETGEN_3D_Parameters_1.SetFineness( 3 )
NETGEN_3D_Parameters_1.SetChordalError( -1 )
NETGEN_3D_Parameters_1.SetChordalErrorEnabled( 0 )
NETGEN_3D_Parameters_1.SetUseSurfaceCurvature( 1 )
NETGEN_3D_Parameters_1.SetFuseEdges( 1 )
NETGEN_3D_Parameters_1.SetQuadAllowed( 0 )
NETGEN_3D_Parameters_1.SetCheckChartBoundary( 3 )
solid1_1 = Mesh2.GroupOnGeom(solid1,'solid1',SMESH.VOLUME)
solid2_1 = Mesh2.GroupOnGeom(solid2,'solid2',SMESH.VOLUME)
solid3_1 = Mesh2.GroupOnGeom(solid3,'solid3',SMESH.VOLUME)
solid18_1 = Mesh2.GroupOnGeom(solid18,'solid18',SMESH.VOLUME)
solid19_1 = Mesh2.GroupOnGeom(solid19,'solid19',SMESH.VOLUME)
solid4_1 = Mesh2.GroupOnGeom(solid4,'solid4',SMESH.VOLUME)
solid5_1 = Mesh2.GroupOnGeom(solid5,'solid5',SMESH.VOLUME)
solid6_1 = Mesh2.GroupOnGeom(solid6,'solid6',SMESH.VOLUME)
solid7_1 = Mesh2.GroupOnGeom(solid7,'solid7',SMESH.VOLUME)
solid8_1 = Mesh2.GroupOnGeom(solid8,'solid8',SMESH.VOLUME)
solid9_1 = Mesh2.GroupOnGeom(solid9,'solid9',SMESH.VOLUME)
solid10_1 = Mesh2.GroupOnGeom(solid10,'solid10',SMESH.VOLUME)
solid11_1 = Mesh2.GroupOnGeom(solid11,'solid11',SMESH.VOLUME)
solid12_1 = Mesh2.GroupOnGeom(solid12,'solid12',SMESH.VOLUME)
solid13_1 = Mesh2.GroupOnGeom(solid13,'solid13',SMESH.VOLUME)
solid14_1 = Mesh2.GroupOnGeom(solid14,'solid14',SMESH.VOLUME)
solid15_1 = Mesh2.GroupOnGeom(solid15,'solid15',SMESH.VOLUME)
solid16_1 = Mesh2.GroupOnGeom(solid16,'solid16',SMESH.VOLUME)
solid17_1 = Mesh2.GroupOnGeom(solid17,'solid17',SMESH.VOLUME)
solid20_1 = Mesh2.GroupOnGeom(solid20,'solid20',SMESH.VOLUME)
face1_1 = Mesh2.GroupOnGeom(face1,'face1',SMESH.FACE)
smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), 'NETGEN 1D-2D-3D')
smesh.SetName(NETGEN_3D_Parameters_1, 'NETGEN 3D Parameters_1')
smesh.SetName(Mesh2.GetMesh(), 'Mesh2')
isDone = Mesh2.Compute()
smesh.SetName(solid1_1, 'solid1')
smesh.SetName(solid2_1, 'solid2')
smesh.SetName(solid3_1, 'solid3')
smesh.SetName(solid18_1, 'solid18')
smesh.SetName(solid19_1, 'solid19')
smesh.SetName(solid4_1, 'solid4')
smesh.SetName(solid5_1, 'solid5')
smesh.SetName(solid6_1, 'solid6')
smesh.SetName(solid7_1, 'solid7')
smesh.SetName(solid8_1, 'solid8')
smesh.SetName(solid9_1, 'solid9')
smesh.SetName(solid10_1, 'solid10')
smesh.SetName(solid11_1, 'solid11')
smesh.SetName(solid12_1, 'solid12')
smesh.SetName(solid13_1, 'solid13')
smesh.SetName(solid14_1, 'solid14')
smesh.SetName(solid15_1, 'solid15')
smesh.SetName(solid16_1, 'solid16')
smesh.SetName(solid17_1, 'solid17')
smesh.SetName(solid20_1, 'solid20')
smesh.SetName(face1_1, 'face1')
[ solid1_1,solid2_1,solid3_1,solid18_1,solid19_1,solid4_1,solid5_1,solid6_1,solid7_1,solid8_1,solid9_1,solid10_1,solid11_1,solid12_1,solid13_1,solid14_1,solid15_1,solid16_1,solid17_1,solid20_1,face1_1] = Mesh2.GetGroups()
try:
    Mesh2.ExportUNV( r'/Your/File/Path/dummy_Motor.unv', 0 )
    pass
except:
    print('ExportUNV() failed. Invalid file name?')
geompy.TranslateDXDYDZ(v1, 0, 0,0.02)
geompy.TranslateDXDYDZ(v2, 0, 0,0.02)
geompy.TranslateDXDYDZ(v3, 0, 0,0.02)
#geompy.TranslateDXDYDZ(v17, 0, 0,0.02)
#geompy.TranslateDXDYDZ(v18, 0, 0,0.02)
#geompy.TranslateDXDYDZ(v19, 0, 0,0.02)
Partition3 = geompy.MakePartition([v1, v2, v3, v4, v5, v6, v7, v8, v9, v10, v11, v12, v13, v14, v15, v16, v17, v18, v19, v20], [], [], [], geompy.ShapeType['SOLID'], 0, [], 0)
geompy.addToStudy( Partition3, 'Partition3' )
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20] = geompy.ExtractShapes(Partition3, geompy.ShapeType['SOLID'], False)
geompy.addToStudyInFather( Partition3, solid1, 'solid1' )
geompy.addToStudyInFather( Partition3, solid2, 'solid2' )
geompy.addToStudyInFather( Partition3, solid3, 'solid3' )
geompy.addToStudyInFather( Partition3, solid4, 'solid4' )
geompy.addToStudyInFather( Partition3, solid5, 'solid5' )
geompy.addToStudyInFather( Partition3, solid6, 'solid6' )
geompy.addToStudyInFather( Partition3, solid7, 'solid7' )
geompy.addToStudyInFather( Partition3, solid8, 'solid8' )
geompy.addToStudyInFather( Partition3, solid9, 'solid9' )
geompy.addToStudyInFather( Partition3, solid10, 'solid10' )
geompy.addToStudyInFather( Partition3, solid11, 'solid11' )
geompy.addToStudyInFather( Partition3, solid12, 'solid12' )
geompy.addToStudyInFather( Partition3, solid13, 'solid13' )
geompy.addToStudyInFather( Partition3, solid14, 'solid14' )
geompy.addToStudyInFather( Partition3, solid15, 'solid15' )
geompy.addToStudyInFather( Partition3, solid16, 'solid16' )
geompy.addToStudyInFather( Partition3, solid17, 'solid17' )
geompy.addToStudyInFather( Partition3, solid18, 'solid18' )
geompy.addToStudyInFather( Partition3, solid19, 'solid19' )
geompy.addToStudyInFather( Partition3, solid20, 'solid20' )
face1 = geompy.CreateGroup(Partition3, geompy.ShapeType['FACE'])
p_tmp_95= geompy.MakeVertex(0.024480000000000002, 0, 0)
face_object_10 = geompy.GetFaceNearPoint(Partition3,p_tmp_95)
face_id_10 = geompy.GetSubShapeID(Partition3,face_object_10)
p_tmp_96= geompy.MakeVertex(0, 0, -0.032)
face_object_11 = geompy.GetFaceNearPoint(Partition3,p_tmp_96)
face_id_11 = geompy.GetSubShapeID(Partition3,face_object_11)
p_tmp_97= geompy.MakeVertex(0, 0, 0.15200000000000002)
face_object_12 = geompy.GetFaceNearPoint(Partition3,p_tmp_97)
face_id_12 = geompy.GetSubShapeID(Partition3,face_object_12)
geompy.UnionIDs(face1, [face_id_10,face_id_11,face_id_12])
geompy.addToStudyInFather( Partition3, face1 , 'face1')
[solid1, solid2, solid3, solid4, solid5, solid6, solid7, solid8, solid9, solid10, solid11, solid12, solid13, solid14, solid15, solid16, solid17, solid18, solid19, solid20, face1, face_object_10, face_object_11, face_object_12] = geompy.GetExistingSubObjects(Partition3, False)
import  SMESH, SALOMEDS
from salome.smesh import smeshBuilder
smesh = smeshBuilder.New()
Mesh3 = smesh.Mesh(Partition3,'Mesh3')
NETGEN_1D_2D_3D = Mesh3.Tetrahedron(algo=smeshBuilder.NETGEN_1D2D3D)
NETGEN_3D_Parameters_1 = NETGEN_1D_2D_3D.Parameters()
NETGEN_3D_Parameters_1.SetMaxSize( 0.01 )
NETGEN_3D_Parameters_1.SetMinSize( 0.0005 )
NETGEN_3D_Parameters_1.SetSecondOrder( 0 )
NETGEN_3D_Parameters_1.SetOptimize( 1 )
NETGEN_3D_Parameters_1.SetFineness( 3 )
NETGEN_3D_Parameters_1.SetChordalError( -1 )
NETGEN_3D_Parameters_1.SetChordalErrorEnabled( 0 )
NETGEN_3D_Parameters_1.SetUseSurfaceCurvature( 1 )
NETGEN_3D_Parameters_1.SetFuseEdges( 1 )
NETGEN_3D_Parameters_1.SetQuadAllowed( 0 )
NETGEN_3D_Parameters_1.SetCheckChartBoundary( 3 )
solid1_1 = Mesh3.GroupOnGeom(solid1,'solid1',SMESH.VOLUME)
solid2_1 = Mesh3.GroupOnGeom(solid2,'solid2',SMESH.VOLUME)
solid3_1 = Mesh3.GroupOnGeom(solid3,'solid3',SMESH.VOLUME)
solid18_1 = Mesh3.GroupOnGeom(solid18,'solid18',SMESH.VOLUME)
solid19_1 = Mesh3.GroupOnGeom(solid19,'solid19',SMESH.VOLUME)
solid4_1 = Mesh3.GroupOnGeom(solid4,'solid4',SMESH.VOLUME)
solid5_1 = Mesh3.GroupOnGeom(solid5,'solid5',SMESH.VOLUME)
solid6_1 = Mesh3.GroupOnGeom(solid6,'solid6',SMESH.VOLUME)
solid7_1 = Mesh3.GroupOnGeom(solid7,'solid7',SMESH.VOLUME)
solid8_1 = Mesh3.GroupOnGeom(solid8,'solid8',SMESH.VOLUME)
solid9_1 = Mesh3.GroupOnGeom(solid9,'solid9',SMESH.VOLUME)
solid10_1 = Mesh3.GroupOnGeom(solid10,'solid10',SMESH.VOLUME)
solid11_1 = Mesh3.GroupOnGeom(solid11,'solid11',SMESH.VOLUME)
solid12_1 = Mesh3.GroupOnGeom(solid12,'solid12',SMESH.VOLUME)
solid13_1 = Mesh3.GroupOnGeom(solid13,'solid13',SMESH.VOLUME)
solid14_1 = Mesh3.GroupOnGeom(solid14,'solid14',SMESH.VOLUME)
solid15_1 = Mesh3.GroupOnGeom(solid15,'solid15',SMESH.VOLUME)
solid16_1 = Mesh3.GroupOnGeom(solid16,'solid16',SMESH.VOLUME)
solid17_1 = Mesh3.GroupOnGeom(solid17,'solid17',SMESH.VOLUME)
solid20_1 = Mesh3.GroupOnGeom(solid20,'solid20',SMESH.VOLUME)
face1_1 = Mesh3.GroupOnGeom(face1,'face1',SMESH.FACE)
smesh.SetName(NETGEN_1D_2D_3D.GetAlgorithm(), 'NETGEN 1D-2D-3D')
smesh.SetName(NETGEN_3D_Parameters_1, 'NETGEN 3D Parameters_1')
smesh.SetName(Mesh3.GetMesh(), 'Mesh3')
isDone = Mesh3.Compute()
smesh.SetName(solid1_1, 'solid1')
smesh.SetName(solid2_1, 'solid2')
smesh.SetName(solid3_1, 'solid3')
smesh.SetName(solid18_1, 'solid18')
smesh.SetName(solid19_1, 'solid19')
smesh.SetName(solid4_1, 'solid4')
smesh.SetName(solid5_1, 'solid5')
smesh.SetName(solid6_1, 'solid6')
smesh.SetName(solid7_1, 'solid7')
smesh.SetName(solid8_1, 'solid8')
smesh.SetName(solid9_1, 'solid9')
smesh.SetName(solid10_1, 'solid10')
smesh.SetName(solid11_1, 'solid11')
smesh.SetName(solid12_1, 'solid12')
smesh.SetName(solid13_1, 'solid13')
smesh.SetName(solid14_1, 'solid14')
smesh.SetName(solid15_1, 'solid15')
smesh.SetName(solid16_1, 'solid16')
smesh.SetName(solid17_1, 'solid17')
smesh.SetName(solid20_1, 'solid20')
smesh.SetName(face1_1, 'face1')
[ solid1_1,solid2_1,solid3_1,solid18_1,solid19_1,solid4_1,solid5_1,solid6_1,solid7_1,solid8_1,solid9_1,solid10_1,solid11_1,solid12_1,solid13_1,solid14_1,solid15_1,solid16_1,solid17_1,solid20_1,face1_1] = Mesh3.GetGroups()
try:
    Mesh3.ExportUNV( r'/Your/File/Path/dummy_Motor.unv', 0 )
    pass
except:
    print('ExportUNV() failed. Invalid file name?')
if salome.sg.hasDesktop():
    salome.sg.updateObjBrowser()
To get the mesh enter in the Terminal:

Code: Select all

Salome dummy_motor.py
To get the Elmermeshfiles enter in the Terminal:

Code: Select all

ElmerGrid 8 2 Mesh0.unv
ElmerGrid 8 2 Mesh1.unv
ElmerGrid 8 2 Mesh2.unv
ElmerGrid 8 2 Mesh3.unv
To run ElmerSolver enter in the Terminal:

Code: Select all

ElmerSolver RotorInStator_v5.sif
Load the .vtu in paraview to do the postprocessing (I could not attach the .pvsm so that you could directly load the state of the .gif above)

Best Regards,

Felix
Attachments
HB_softIron.txt
(205 Bytes) Downloaded 8 times
RotorInStator_v5.sif
(6.15 KiB) Downloaded 10 times
Post Reply