# -*- coding: iso-8859-1 -*-

###
### This file is generated automatically by SALOME v6.5.0 with dump python functionality
###

import sys
import salome

salome.salome_init()
theStudy = salome.myStudy

import salome_notebook
notebook = salome_notebook.notebook
sys.path.insert( 0, r'L:/[coding]/fortran/aster/tests/tests/07.medium_spherical_shell')

####################################################
##       Begin of NoteBook variables section      ##
####################################################
notebook.set("Radius", 10)
notebook.set("Thickness", 0.04)
notebook.set("Radius_inner", "Radius-Thickness/2")
notebook.set("Radius_outer", "Radius+Thickness/2")
####################################################
##        End of NoteBook variables section       ##
####################################################
###
### GEOM component
###

import GEOM
import geompy
import math
import SALOMEDS

geompy.init_geom(theStudy)

face_inner = geompy.MakeSphereR("Radius_inner")
face_outer = geompy.MakeSphereR("Radius_outer")
OXZ = geompy.MakePlaneLCS(None, 25, 1)
OYX = geompy.MakePlaneLCS(None, 25, 2)
OZX = geompy.MakePlaneLCS(None, 25, 3)
spherical_shell = geompy.MakeCut(face_outer, face_inner)
half_shell = geompy.MakeHalfPartition(spherical_shell, OXZ)
quarter_shell = geompy.MakeHalfPartition(half_shell, OYX)
eight_shell = geompy.MakeHalfPartition(quarter_shell, OZX)
[sub_shell] = geompy.SubShapes(eight_shell, [31])
isopoint = geompy.MakeVertex(10, 10, 10)
origin = geompy.MakeVertex(0, 0, 0)
isoline = geompy.MakeLineTwoPnt(origin, isopoint)
isopoint_xz = geompy.MakeVertex(10, 0, 10)
isopoint_yz = geompy.MakeVertex(0, 10, 10)
isoline_xz = geompy.MakeLineTwoPnt(origin, isopoint_xz)
isoline_yz = geompy.MakeLineTwoPnt(origin, isopoint_yz)
isopoint_xy = geompy.MakeVertex(10, 10, 0)
isoline_xy = geompy.MakeLineTwoPnt(origin, isopoint_xy)
end_xz = geompy.MakeLineTwoPnt(isopoint_xz, isopoint)
end_yz = geompy.MakeLineTwoPnt(isopoint_yz, isopoint)
end_xy = geompy.MakeLineTwoPnt(isopoint_xy, isopoint)
isoface_xz = geompy.MakeFaceWires([isoline, isoline_xz, end_xz], 1)
isoface_yz = geompy.MakeFaceWires([isoline, isoline_yz, end_yz], 1)
isoface_xy = geompy.MakeFaceWires([isoline, isoline_xy, end_xy], 1)
x_third = geompy.MakeHalfPartition(sub_shell, isoface_xy)
xy_third = geompy.MakeHalfPartition(x_third, isoface_yz)
xyz_third = geompy.MakeHalfPartition(xy_third, isoface_xz)
[face_xz1,face_xz2] = geompy.SubShapes(xyz_third, [38, 14])
[face_yz1,face_yz2] = geompy.SubShapes(xyz_third, [51, 69])
[geomObj_1,geomObj_2,geomObj_3] = geompy.SubShapes(xyz_third, [69, 4, 74])
[face_xy1,face_xy2] = geompy.SubShapes(xyz_third, [74, 4])
[n_i_x,n_o_x] = geompy.SubShapes(xyz_third, [8, 7])
[n_i_y,n_o_y] = geompy.SubShapes(xyz_third, [67, 72])
[length_01,length_02,length_03,length_04,length_05,length_06,length_07,length_08,length_09,length_10,length_11,length_12,length_13,length_14,length_15,length_16,length_17,length_18] = geompy.SubShapes(xyz_third, [68, 13, 33, 66, 40, 49, 25, 47, 16, 23, 20, 44, 76, 9, 58, 71, 28, 53])
[thicknes_1,thicknes_2,thicknes_3,thicknes_4,thicknes_6,thicknes_7,thicknes_8] = geompy.SubShapes(xyz_third, [30, 42, 18, 6, 73, 11, 55])
[top] = geompy.SubShapes(xyz_third, [41])
Auto_group_for_thickness = geompy.CreateGroup(xyz_third, geompy.ShapeType["EDGE"])
geompy.UnionList(Auto_group_for_thickness, [thicknes_1, thicknes_2, thicknes_3, thicknes_4, thicknes_6, thicknes_7, thicknes_8])
Auto_group_for_free = geompy.CreateGroup(xyz_third, geompy.ShapeType["FACE"])
geompy.UnionList(Auto_group_for_free, [face_xy1, face_xy2])
Auto_group_for_sym_xz = geompy.CreateGroup(xyz_third, geompy.ShapeType["FACE"])
geompy.UnionList(Auto_group_for_sym_xz, [face_xz1, face_xz2])
Auto_group_for_sym_yz = geompy.CreateGroup(xyz_third, geompy.ShapeType["FACE"])
geompy.UnionList(Auto_group_for_sym_yz, [face_yz1, face_yz2])
geompy.addToStudy( face_inner, 'face_inner' )
geompy.addToStudy( face_outer, 'face_outer' )
geompy.addToStudy( OXZ, 'OXZ' )
geompy.addToStudy( OYX, 'OYX' )
geompy.addToStudy( OZX, 'OZX' )
geompy.addToStudy( spherical_shell, 'spherical_shell' )
geompy.addToStudy( half_shell, 'half_shell' )
geompy.addToStudy( quarter_shell, 'quarter_shell' )
geompy.addToStudy( eight_shell, 'eight_shell' )
geompy.addToStudyInFather( eight_shell, sub_shell, 'sub-shell' )
geompy.addToStudy( isopoint, 'isopoint' )
geompy.addToStudy( origin, 'origin' )
geompy.addToStudy( isoline, 'isoline' )
geompy.addToStudy( isopoint_xz, 'isopoint_xz' )
geompy.addToStudy( isopoint_yz, 'isopoint_yz' )
geompy.addToStudy( isoline_xz, 'isoline_xz' )
geompy.addToStudy( isoline_yz, 'isoline_yz' )
geompy.addToStudy( isopoint_xy, 'isopoint_xy' )
geompy.addToStudy( isoline_xy, 'isoline_xy' )
geompy.addToStudy( end_xz, 'end_xz' )
geompy.addToStudy( end_yz, 'end_yz' )
geompy.addToStudy( end_xy, 'end_xy' )
geompy.addToStudy( isoface_xz, 'isoface_xz' )
geompy.addToStudy( isoface_yz, 'isoface_yz' )
geompy.addToStudy( isoface_xy, 'isoface_xy' )
geompy.addToStudy( x_third, 'x_third' )
geompy.addToStudy( xy_third, 'xy_third' )
geompy.addToStudy( xyz_third, 'xyz_third' )
geompy.addToStudyInFather( xyz_third, face_xz1, 'face_xz1' )
geompy.addToStudyInFather( xyz_third, face_xz2, 'face_xz2' )
geompy.addToStudyInFather( xyz_third, face_yz1, 'face_yz1' )
geompy.addToStudyInFather( xyz_third, face_yz2, 'face_yz2' )
geompy.addToStudyInFather( xyz_third, face_xy1, 'face_xy1' )
geompy.addToStudyInFather( xyz_third, face_xy2, 'face_xy2' )
geompy.addToStudyInFather( xyz_third, n_i_x, 'n_i_x' )
geompy.addToStudyInFather( xyz_third, n_o_x, 'n_o_x' )
geompy.addToStudyInFather( xyz_third, n_i_y, 'n_i_y' )
geompy.addToStudyInFather( xyz_third, n_o_y, 'n_o_y' )
geompy.addToStudyInFather( xyz_third, length_01, 'length_01' )
geompy.addToStudyInFather( xyz_third, length_02, 'length_02' )
geompy.addToStudyInFather( xyz_third, length_03, 'length_03' )
geompy.addToStudyInFather( xyz_third, length_04, 'length_04' )
geompy.addToStudyInFather( xyz_third, length_05, 'length_05' )
geompy.addToStudyInFather( xyz_third, length_06, 'length_06' )
geompy.addToStudyInFather( xyz_third, length_07, 'length_07' )
geompy.addToStudyInFather( xyz_third, length_08, 'length_08' )
geompy.addToStudyInFather( xyz_third, length_09, 'length_09' )
geompy.addToStudyInFather( xyz_third, length_10, 'length_10' )
geompy.addToStudyInFather( xyz_third, length_11, 'length_11' )
geompy.addToStudyInFather( xyz_third, length_12, 'length_12' )
geompy.addToStudyInFather( xyz_third, length_13, 'length_13' )
geompy.addToStudyInFather( xyz_third, length_14, 'length_14' )
geompy.addToStudyInFather( xyz_third, length_15, 'length_15' )
geompy.addToStudyInFather( xyz_third, length_16, 'length_16' )
geompy.addToStudyInFather( xyz_third, length_17, 'length_17' )
geompy.addToStudyInFather( xyz_third, length_18, 'length_18' )
geompy.addToStudyInFather( xyz_third, thicknes_1, 'thicknes_1' )
geompy.addToStudyInFather( xyz_third, thicknes_2, 'thicknes_2' )
geompy.addToStudyInFather( xyz_third, thicknes_3, 'thicknes_3' )
geompy.addToStudyInFather( xyz_third, thicknes_4, 'thicknes_4' )
geompy.addToStudyInFather( xyz_third, thicknes_6, 'thicknes_6' )
geompy.addToStudyInFather( xyz_third, thicknes_7, 'thicknes_7' )
geompy.addToStudyInFather( xyz_third, thicknes_8, 'thicknes_8' )
geompy.addToStudyInFather( xyz_third, Auto_group_for_thickness, 'Auto_group_for_thickness' )
geompy.addToStudyInFather( xyz_third, Auto_group_for_free, 'Auto_group_for_free' )
geompy.addToStudyInFather( xyz_third, Auto_group_for_sym_xz, 'Auto_group_for_sym_xz' )
geompy.addToStudyInFather( xyz_third, Auto_group_for_sym_yz, 'Auto_group_for_sym_yz' )
geompy.addToStudyInFather( xyz_third, top, 'top' )

###
### SMESH component
###

import smesh, SMESH, SALOMEDS

smesh.SetCurrentStudy(theStudy)
import StdMeshers
full_spherical_shell = smesh.Mesh(xyz_third)
Regular_1D = full_spherical_shell.Segment()
Nb_Segments_length = Regular_1D.NumberOfSegments(3)
Nb_Segments_length.SetDistrType( 0 )
Quadrangle_2D = full_spherical_shell.Quadrangle(algo=smesh.QUADRANGLE)
Hexa_3D = full_spherical_shell.Hexahedron(algo=smesh.Hexa)
Regular_1D_1 = full_spherical_shell.Segment(geom=Auto_group_for_thickness)
Nb_Segments_thickness = Regular_1D_1.NumberOfSegments(1)
Nb_Segments_thickness.SetDistrType( 0 )


isDone = full_spherical_shell.Compute()

free = full_spherical_shell.GroupOnGeom(Auto_group_for_free,'free',SMESH.FACE)
free.SetColor( SALOMEDS.Color( 0.666667, 1, 0.498039 ))
sym_xz = full_spherical_shell.GroupOnGeom(Auto_group_for_sym_xz,'sym_xz',SMESH.FACE)
sym_xz.SetColor( SALOMEDS.Color( 0.666667, 0.333333, 0 ))
sym_yz = full_spherical_shell.GroupOnGeom(Auto_group_for_sym_yz,'sym_yz',SMESH.FACE)
sym_yz.SetColor( SALOMEDS.Color( 0.666667, 0.666667, 0.498039 ))
n_top = full_spherical_shell.GroupOnGeom(top,'n_top',SMESH.NODE)
n_top.SetColor( SALOMEDS.Color( 0.666667, 0.666667, 0.498039 ))
n_i_x_1 = full_spherical_shell.GroupOnGeom(n_i_x,'n_i_x',SMESH.NODE)
n_i_x_1.SetColor( SALOMEDS.Color( 0.666667, 0.666667, 1 ))
n_i_y_1 = full_spherical_shell.GroupOnGeom(n_i_y,'n_i_y',SMESH.NODE)
n_i_y_1.SetColor( SALOMEDS.Color( 0, 0.666667, 0.498039 ))
n_o_y_1 = full_spherical_shell.GroupOnGeom(n_o_y,'n_o_y',SMESH.NODE)
n_o_y_1.SetColor( SALOMEDS.Color( 0, 0, 0.498039 ))
n_o_x_1 = full_spherical_shell.GroupOnGeom(n_o_x,'n_o_x',SMESH.NODE)
n_o_x_1.SetColor( SALOMEDS.Color( 0.666667, 0, 0 ))
shell = full_spherical_shell.GroupOnGeom(xyz_third,'shell',SMESH.VOLUME)
shell.SetColor( SALOMEDS.Color( 0.666667, 0.333333, 0 ))


## set object names
smesh.SetName(full_spherical_shell.GetMesh(), 'full_spherical_shell')
smesh.SetName(Regular_1D.GetAlgorithm(), 'Regular_1D')
smesh.SetName(Nb_Segments_length, 'Nb. Segments_length')
smesh.SetName(Quadrangle_2D.GetAlgorithm(), 'Quadrangle_2D')
smesh.SetName(Hexa_3D.GetAlgorithm(), 'Hexa_3D')
smesh.SetName(Nb_Segments_thickness, 'Nb. Segments_thickness')
smesh.SetName(free, 'free')
smesh.SetName(sym_xz, 'sym_xz')
smesh.SetName(sym_yz, 'sym_yz')
smesh.SetName(n_top, 'n_top')
smesh.SetName(n_i_x_1, 'n_i_x')
smesh.SetName(n_i_y_1, 'n_i_y')
smesh.SetName(n_o_y_1, 'n_o_y')
smesh.SetName(n_o_x_1, 'n_o_x')
smesh.SetName(shell, 'shell')
smesh.SetName(Regular_1D_1.GetSubMesh(), 'thickness')

if salome.sg.hasDesktop():
  salome.sg.updateObjBrowser(1)
