#!/usr/bin/env python

###
### This file is generated automatically by SALOME v9.3.0 with dump python functionality
###

import sys
import salome

salome.salome_init()
import salome_notebook
notebook = salome_notebook.NoteBook()
sys.path.insert(0, r'D:\Malvine\NotWorkingCases\Judith\Jominy_test_PV//geometry//')

###
### SHAPER component
###

###
### 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)
Face_1 = geompy.MakeFaceHW(25, 100, 1)
Face_2 = geompy.MakeFaceHW(50, 150, 1)
Translation_1 = geompy.MakeTranslation(Face_1, 12.5, 0, 0)
Translation_2 = geompy.MakeTranslation(Face_2, 25, 0, 0)
Partition_1 = geompy.MakePartition([Translation_2, Translation_1], [], [], [], geompy.ShapeType["FACE"], 0, [], 0)
[geomObj_1,geomObj_2,geomObj_3,geomObj_4,geomObj_5,geomObj_6,geomObj_7,geomObj_8,geomObj_9] = geompy.SubShapeAll(Partition_1, geompy.ShapeType["EDGE"])
air = geompy.CreateGroup(Partition_1, geompy.ShapeType["FACE"])
geompy.UnionIDs(air, [2])
wp = geompy.CreateGroup(Partition_1, geompy.ShapeType["FACE"])
geompy.UnionIDs(wp, [20])
symetry = geompy.CreateGroup(Partition_1, geompy.ShapeType["EDGE"])
geompy.UnionIDs(symetry, [13, 4, 22])
air_inf = geompy.CreateGroup(Partition_1, geompy.ShapeType["EDGE"])
geompy.UnionIDs(air_inf, [17, 19, 15])
wp_quenching = geompy.CreateGroup(Partition_1, geompy.ShapeType["EDGE"])
geompy.UnionIDs(wp_quenching, [7])
wp_air = geompy.CreateGroup(Partition_1, geompy.ShapeType["EDGE"])
geompy.UnionIDs(wp_air, [9, 11])
long_sides = geompy.CreateGroup(Partition_1, geompy.ShapeType["EDGE"])
geompy.UnionIDs(long_sides, [9, 22])
short_sides = geompy.CreateGroup(Partition_1, geompy.ShapeType["EDGE"])
geompy.UnionIDs(short_sides, [7, 11])
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
[air, wp, symetry, air_inf, wp_quenching, wp_air, long_sides, short_sides] = geompy.GetExistingSubObjects(Partition_1, True)
geompy.addToStudy( O, 'O' )
geompy.addToStudy( OX, 'OX' )
geompy.addToStudy( OY, 'OY' )
geompy.addToStudy( OZ, 'OZ' )
geompy.addToStudy( Face_1, 'Face_1' )
geompy.addToStudy( Translation_1, 'Translation_1' )
geompy.addToStudy( Face_2, 'Face_2' )
geompy.addToStudy( Translation_2, 'Translation_2' )
geompy.addToStudy( Partition_1, 'Partition_1' )
geompy.addToStudyInFather( Partition_1, air, 'air' )
geompy.addToStudyInFather( Partition_1, wp, 'wp' )
geompy.addToStudyInFather( Partition_1, symetry, 'symetry' )
geompy.addToStudyInFather( Partition_1, air_inf, 'air_inf' )
geompy.addToStudyInFather( Partition_1, wp_quenching, 'wp_quenching' )
geompy.addToStudyInFather( Partition_1, wp_air, 'wp_air' )
geompy.addToStudyInFather( Partition_1, long_sides, 'long_sides' )
geompy.addToStudyInFather( Partition_1, short_sides, 'short_sides' )

###
### SMESH component
###

import  SMESH, SALOMEDS
from salome.smesh import smeshBuilder

smesh = smeshBuilder.New()
#smesh.SetEnablePublish( False ) # Set to False to avoid publish in study if not needed or in some particular situations:
                                 # multiples meshes built in parallel, complex and numerous mesh edition (performance)

Mesh_1 = smesh.Mesh(Partition_1)
Regular_1D = Mesh_1.Segment()
Max_Size_1 = Regular_1D.MaxSize(15.8114)
NETGEN_2D = Mesh_1.Triangle(algo=smeshBuilder.NETGEN_2D)
Regular_1D_1 = Mesh_1.Segment(geom=long_sides)
Number_of_Segments_1 = Regular_1D_1.NumberOfSegments(40)
Regular_1D_2 = Mesh_1.Segment(geom=short_sides)
Number_of_Segments_2 = Regular_1D_2.NumberOfSegments(20)
Quadrangle_2D = Mesh_1.Quadrangle(algo=smeshBuilder.QUADRANGLE,geom=wp)
Viscous_Layers_2D_1 = Quadrangle_2D.ViscousLayers2D(0.1,1,1)
isDone = Mesh_1.Compute()
air_1 = Mesh_1.GroupOnGeom(air,'air',SMESH.FACE)
wp_1 = Mesh_1.GroupOnGeom(wp,'wp',SMESH.FACE)
symetry_1 = Mesh_1.GroupOnGeom(symetry,'symetry',SMESH.EDGE)
air_inf_1 = Mesh_1.GroupOnGeom(air_inf,'air_inf',SMESH.EDGE)
wp_quenching_1 = Mesh_1.GroupOnGeom(wp_quenching,'wp_quenching',SMESH.EDGE)
wp_air_1 = Mesh_1.GroupOnGeom(wp_air,'wp_air',SMESH.EDGE)
aCriteria = []
aCriterion = smesh.GetCriterion(SMESH.FACE,SMESH.FT_AspectRatio,SMESH.FT_MoreThan,1000)
aCriteria.append(aCriterion)
aCriteria = []
aCriterion = smesh.GetCriterion(SMESH.FACE,SMESH.FT_AspectRatio,SMESH.FT_MoreThan,10000)
aCriteria.append(aCriterion)
aCriteria = []
aCriterion = smesh.GetCriterion(SMESH.FACE,SMESH.FT_Taper,SMESH.FT_MoreThan,0.3)
aCriteria.append(aCriterion)
aCriteria = []
aCriterion = smesh.GetCriterion(SMESH.FACE,SMESH.FT_Taper,SMESH.FT_MoreThan,0.5)
aCriteria.append(aCriterion)
[ air_1, wp_1, symetry_1, air_inf_1, wp_quenching_1, wp_air_1 ] = Mesh_1.GetGroups()
Sub_mesh_1 = Regular_1D_1.GetSubMesh()
Sub_mesh_2 = Regular_1D_2.GetSubMesh()
Sub_mesh_3 = Quadrangle_2D.GetSubMesh()


## Set names of Mesh objects
smesh.SetName(Sub_mesh_3, 'Sub-mesh_3')
smesh.SetName(Sub_mesh_2, 'Sub-mesh_2')
smesh.SetName(Sub_mesh_1, 'Sub-mesh_1')
smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D')
smesh.SetName(NETGEN_2D.GetAlgorithm(), 'NETGEN 2D')
smesh.SetName(Quadrangle_2D.GetAlgorithm(), 'Quadrangle_2D')
smesh.SetName(air_1, 'air')
smesh.SetName(wp_1, 'wp')
smesh.SetName(Mesh_1.GetMesh(), 'Mesh_1')
smesh.SetName(symetry_1, 'symetry')
smesh.SetName(air_inf_1, 'air_inf')
smesh.SetName(wp_quenching_1, 'wp_quenching')
smesh.SetName(wp_air_1, 'wp_air')
smesh.SetName(Number_of_Segments_2, 'Number of Segments_2')
smesh.SetName(Number_of_Segments_1, 'Number of Segments_1')
smesh.SetName(Max_Size_1, 'Max Size_1')
smesh.SetName(Viscous_Layers_2D_1, 'Viscous Layers 2D_1')


if salome.sg.hasDesktop():
  salome.sg.updateObjBrowser()
