Home

Converter Module V1.4 - User Guide - - elsA

image

Contents

1. wins C checkBC t 2D print wins C convertPyTree2File t out cgns bin cgns Example file Examples converter addFamily2Base py addFamily2Base pyTree import Converter PyTree as C import Generator PyTree as G a G cylinder 0 0 0 Lo 1 5 0 3060 1 50 20 20 t C newPyTree Base Add family to tree t 1 C addFamily2Base t 1 flap BCWall C convertPyTree2File t out cgns bin cgns Example file Examples converter rmNodes py f rmNodes pyTree import Converter PyTree as C import Generator PyTree as G a G cart 0 0 0 1 1 1 10 10 10 a C addVars a Density centers cellN rou rov Hx Hy b C rmNodes a FlowSolution Centers t C newPyTree Base t 1 2 append b C convertPyTree2File t out cgns bin cgns Example file Examples converter getValuePT py f getValue pyTree import Converter PyTree as C import Generator PyTree as G Array structure Ni 40 Nj 50 Nk 20 a G cart 0 0 0 1 Ni 1 0 5 N3 1 1 Nk 1 Ni Nj Nk Les variables contenues dans a x y z au point 10 1 1 print C getValue a CoordinateX 10 1 1 print C getValue a CoordinateX 9 4 C est le meme point print C getValue a nodes CoordinateX 9 4 C est le meme point 14 ONERA THE FRENCH AEROSPACE LAB print C getValue a GridCoordinates 9 4 retourne x y z f Array non structure Ni
2. 40 Nj 50 Nk 20 a G cartTetra 0 0 0 1 Ni 1 0 5 N3 1 1 Nk 1 Ni Nj Nk print C getValue a CoordinateX 9 Example file Examples converter set ValuePT py f setValue pyTree import Converter PyTree as C import Generator PyTree as G Array structure Ni 40 Nj 50 Nk 20 a G cart 0 0 0 1 Ni 1 0 5 Nj 1 1 Nk 1 Ni Nj Nk C setValue a CoordinateX 10 1 1 0 25 C setValue a GridCoordinates 11 1 1 0 3 0 2 0 1 print a Array non structure Ni 40 Nj 50 Nk 20 a G cartTetra 0 0 0 1 Ni 1 0 5 Nj 1 1 Nk 1 Ni Nj Nk C setValue a CoordinateX 9 0 1 print a Example file Examples converter addVarsPT py f addVars pyTree import Converter PyTree as C import Generator PyTree as G a G cart 0 0 0 1 1 1 10 10 11 a C addVars a rou a C addVars a centers cellN a C addVars a Density Hx centers Hy t C newPyTree Base t 1 2 append a C convertPyTree2File t out cgns bin cgns Example file Examples converter rm Vars py rmVars pyTree import Converter PyTree as C import Generator PyTree as G a G cart 0 0 0 1 1 1 10 10 10 addVars a Density centers cellN rou rov Hx Hy rmVars a Density rmVars a Hx Hy To o Il ET E E C rmVars b FlowSolution Centers t C newPyTree Base t 1 2 append b C
3. bin tp unsArrays C convertFile2Arrays unstr plt bin tp arrays append unsArrays 0 C convertArrays2File arrays unstr2 plt bin tp Example file Examples converter shell py 30 ONERA THE FRENCH AEROSPACE LAB usr bin env python Vous savez ecrire un python transformant un fichier formate tecplot en fichier binaire tecplot import Converter as C a C convertFile2Arrays in tp fmt_tp C convertArrays2File a out plt bin_tp Voila comment le transformer en commande shell utilisable par tout le monde tout d abord definir une fonction equivalente au script precedent def conv fmttpFile bintpFile import Converter as C a C convertFile2Arrays fmttpFile fmt_tp C convertArrays2File a bintpFile bin_tp Puis une fonction main appelant la fonction precedente if __name main Di import sys if len sys argv lt 3 print Two arguments are needed else conv sys argv 1 sys argv 2 Et voila le travail 31 ONERA THE FRENCH AEROSPACE LAB
4. cfdpb name pb msh mesh name msh msh set file mesh tp msh set format fmt tp msh submit a CE convertMesh2Array msh C convertArrays2File a mesh plt bin tp Example file Examples converter convertArray2EMesh py convertArray2Mesh Mesh elsA from elsA user import z import Converter Elsa as CE import Converter as C import Transform as T pb cfdpb name pb Create a cartesian mesh msh mesh name msh msh set file mesh tp msh set format fmt tp msh submit Get arrays from file import Generator as G a G cart 0 0 0 0 1 0 1 1 10 10 2 C convertArrays2File a mesh tp fmt_tp 28 ONERA THE FRENCH AEROSPACE LAB Convert arrays to mesh CE convertArray2Mesh a msh Save the mesh a CE convertMesh2Array msh C convertArrays2File a mesh plt bin tp Example file Examples converter convertEWindow2Array py convertWindow2Array pour une Window d elsA from elsA user import x import Transform as T as C Elsa as CE as G import Converter import Converter import Generator pb msh cfdpb name pb mesh name msh msh set file mesh tp set format fmt_tp submit msh msh blk blk blk block name blk set mesh msh submit win window blk 1 name win win set wnd subm
5. d G cart 4 3 2 1 1 1 3 3 1 import Transform as T a T rotate a 0 0 0 1 1 0 20 c T rotate c 0 3 0 1 1 0 20 C convertArrays2File a b c d outl fig fmt xfig b C convertArray2Tetra b a C convertArray2Hexa d C convertArrays2File a b c d out2 fig fmt xfig a C convertArray2Tetra a c C convertArray2Hexa c C convertArrays2File a b c d out3 fig fmt xfig Example file Examples converter convSvg py convertArrays2File fmt svg import Converter as C import Generator as G a C convertFile2Arrays test svg fmt svg Npts 130 C convertArrays2File a out plt bin tp C convertArrays2File a out svg fmt svg a G cart 0 0 0 1 T7T 1 10 10 1 C convertArrays2File a outO0 svg fmt svg a G oart 0 0 0 100 100 T00 3 3 3 j b G cart 400 0 2 100 100 1 3 3 1 e G cart 0 300 095 1100 100 100 343 3 d G cart 400 300 2 100 100 1 3 3 1 import Transform as T a T rotate a 0 0 0 1 1 0 20 c T rotate c 0 300 0 1 1 0 20 C convertArrays2File a b c d outl svg fmt_svg b C convertArray2Tetra b on C convertArray2Hexa d C convertArrays2File a b c d out2 svg fmt svg a C convertArray2Tetra a c C convertArray2Hexa c C convertArrays2File a b c d out3 svg fmt svg Example file Examples converter conve
6. 1 80 30 2 r b G cart11 0 1 0 9 0 0 01 0 01 1 20 20 2 a C addBC2Zone a walll BCWall jmin a C addBC2Zone a matchl BCMatch imin a imax 1 2 3 a C addBC2Zone a match2 BCMatch imax a imin 1 2 3 a C addBC2Zone a overlapl BCOverlap jmax b C addBC2Zone b walll BCWall imin t C newPyTree Base t 1 2 t 1 2 a b t C rmBCOfType t BCWall C convertPyTree2File t out cgns bin cgns Example file Examples converter extractBCOfTypePT py 13 ONERA THE FRENCH AEROSPACE LAB f extractBCOfType pyTree import Converter PyTree as C import Generator PyTree as G a G cylinder 0 0 0 1 1 5 360 0 1 100 30 10 a C addBC2Zone a walll BCWall mini Z C extractBCOfType a BCWall t C newPyTree Base 3 Skin 2 t 1 2 append a t 2 2 t 2 2 2 C convertPyTree2File t out cgns bin cgns Example file Examples converter checkBC py checkBC pyTree import Generator PyTree as G import Connector PyTree as import Converter PyTree as C x lt al G cart 0 0 0 0 1 0 1 0 1 11 21 2 a1 0 cart1 al C addBC2Zone al walll BCWall imin a2 G cart 1 0 2 0 0 1 0 1 0 1 11 21 2 a2 0 cart2 a2 C addBC2Zone a2 walll BCWall imax t C newPyTree Base t 1 2 t 1 2 al a2 t X connectMatch t
7. bin df3 import Converter as C import Generator as G G cart 0 0 0 1 1 1 11 11 11 a C addVar a ro Di I Convert density field to povray density file C convertArrays2File a out df3 bin df3 Example file Examples converter convMesh py convertArrays2File INRIA mesh format import Converter as C Read mesh file C convertFile2Arrays falcon mesh fmt mesh Di C convertArrays2File a out plt bin tp Rewrite mesh file C convertArrays2File a out mesh fmt mesh Example file Examples converter convSTL py convertFile2Arrays binary STL import Converter as C a C convertFile2Arrays Data piece a percer stl bin stl C convertArrays2File a out plt bin tp 23 ONERA THE FRENCH AEROSPACE LAB Example file Examples converter convObj py convertFile2Arrays formatted Obj import Converter as C a C convertF C convertArray Example file Examples converter conv3DS py ile2Arrays Data cube obj convertFile2Arrays binary 3DS import Converter as C a C convertF C convertArray Example file Examples converter convPickle py f convertFil import Convert import Generat a G cart 0 C convertArray b C convertF Example file Examples converter conv Wav py convertArr import Convert import math Pas de temps Deltat 5 e 5 Nombre d ech N 500000 Length L NxDeltat
8. print Total s Sound freque Oreille huma fl 1000 f2 1100 3 1200 Signal def F time if time lt return elif time return else return a C array T Time for i in xrang a 1 0 1 Pressure a C initVars ile2Arrays Data box 3ds bin 3ds s2File a out plt bin tp e2Arrays binary python pickle er as C or as G 0 0 1 1 1 100 100 100 s2File a out pickle bin pickle ile2Arrays out pickle bin pickle ays2File wav er as C d echantillonage s antillons ound duration L ncy Hertz ine entre 20 Hz et 20 kHz L 3 math cos 2 math pixflxtime lt 2 L 3 math cos 2xmath pixf2 time math cos 2xmath pixf3 time ime Pressure N 1 1 e N Deltatxi a Pressure F Time 24 fmt obj s2File a out plt bin tp ONERA THE FRENCH AEROSPACE LAB C convertArrays2File a out plt bin tp Convert in wav uses Time and Pressure field C convertArrays2File a out wav bin wav Example file Examples converter convXfig py convertArrays2File fmt xfig import Converter as C import Generator as G a C convertFile2Arrays test fig fmt_xfig Npts 100 C convertArrays2File a out plt bin_tp C convertArrays2File a out fig fmt xfig a G cart 0 0 0 1 1 1 3 3 3 b G cart 4 0 2 1 1 1 3 3 1 c G cart 0 3 0 1 1 1 3 3 3
9. 1 10 nj 1 1 ni nj nk a C addVars a ro Di ll a C initVars a ro F x y C convertArrays2File a node plt bin tp ac C node2Center a C convertArrays2File ac center plt bin tp Example file Examples converter node2centerPT py f node2Center pyTree import Converter PyTree as C import Generator PyTree as G def F x y return 2xx y ni 30 nj 40 nk 3 G cart 0 0 0 10 mi 1 10 1 mj 1 1 01 13 nky C initVars a Density F CoordinateX CoordinateY node2Center passe une variable en centres dans la meme zone a C node2Center a Density t C newPyTree Base 3 t 1 2 append a C convertPyTree2File t out cgns bin_cgns node2Center cree une nouvelle zone contenant les centres a G cart 0 0 0 10 ni 1 10 mj 1 1 mni nj nk a C initVars a Density F CoordinateX CoordinateY b C node2Center a b 0 a 0 centers t C newPyTree Base 3 t 1 2 t 1 2 a b C convertPyTree2File t out cgns Example file Examples converter center2Node py center2Node array import Converter as C import Generator as G ni 30 nj 40 nk 10 a G cart 0 0 0 10 ni 1 10 mj 1 1 n1 n3 1k r r a C initVars a ro 1 an C center2Node a C convertArrays2File an out plt bin_tp Example file Examples converter center2NodePT py f center2Nod
10. B C fillEmptyBCWith A bndName bndType dim See Examples converter fillEmptyBC With py Remove all boundaries of a given type from a pyTree b C rmBCOfType a BCWall or B C rmBCOfType A BCWall See Examples converter rmBCOfType py Extract all boundaries of a given type from a pyTree return a list of zones Z C extractBCOfType a BCWall or Z C extractBCOfType A BCWall See Examples converter extractBCOfTypePT py Check if some boundary conditions are undefined in a zone node a list of zone nodes or a com plete pyTree Return a list of the indices imin imax jmin jmax kmin kmax of undefined bound aries for all zones Lists are empty if all the boundary conditions have been defined Parameter dim can be 2D or 3D default is 3D wins C checkBC a dim or wins 2 C checkBC A dim See Examples converter checkBC py Add a family of BCs to a base node of a tree B C addFamily2Base A familyName bndType See Examples converter addFamily2Base py Remove nodes named name from a See Examples converter rmNodes py Return the list of values defined in a zone a for point of index ind for both structured and unstructured zones For structured zones you can specify i j k instead of ind For unstructured zones the index ind corresponds to the location type of point defining zone a for instance if a describes a field at element vertices ind is a vertex i
11. ELSA MU 09020 v1 4 Converter Module V1 4 User Guide C Benoit G Jeanfaivre S Peron et P Raud Onera DSNA September 23 2009 1 Converter data conversion module 1 1 Preamble This module provides routines for data conversion This module manipulates two different data structures the first one is called an array the second one is called a pyTree e An array can be a structured array defined by x y z a ni nj nk where ni nj nk are the dimension of the grid and a is a nfld nixnjxnk numpy array containing data or an unstructured array defined by x y z a c ELTTYPE For this last type of arrays c is the elements to nodes connectivity and a is a numpy array of data If a stores fields on nodes ELTTYPE can be NODE BAR TRI QUAD TETRA PYRA PENTA HEXA MIX If a stores field on elements ELTTYPE can be NODE BAR TRI QUAD TETRA PYRA PENTA HEXA MIX In this documentation we note a or b an array and A or B a list of arrays Important note For accessing numpy arrays in python the first index corresponds to the variable number the second index to the cell index For instance a 0 0 for an x y z array is variable x of first cell a 1 0 is variable y of first cell and so on To use the array interface import Converter as C e A pyTree is a python CGNS tree that is a mapping of the CGNS standard in python
12. Each node of the tree is a python list defined by name a CGNSType CL where a is the value stored by this node a can be a numpy array a float64 an int32 or a string and designates a list of nodes that are the children of the current node 1 ONERA THE FRENCH AEROSPACE LAB In this case in the following we note a or b a zone node and A or B a list of zone nodes or a complete python tree To use the pyTree interface import Converter PyTree as C 1 2 Name standardisation Some functions of Converter Geom Generator Transform and Post modules perform specific treat ments for given variables Recognized names are CGNS names For instance the computeVariables function in the Post module can compute the pressure automatically if density and velocity are defined with their CGNS name Nevertheless alternative names are also recognised Name are described in the following table ONERA THE FRENCH AEROSPACE LAB Description CGNS Alternative names Coordinate in x direction CoordinateX x X Coordinate in y direction Coordinate Y y Y Coordinate in z direction CoordinateZ ZZ Density Density ro Momentum in x direction MomentumX rou TOVX Momentum in y direction MomentumY TOV TONN Momentum in z direction MomentumZ row IOVZ Density times total energy EnergyStagnationDensity roE Density times turbulence ki TurbulentEnergyKineticDensity rok netic energy Density times dissipation rate TurbulentDissipati
13. arrays B C Array3D convertArrays3D2Arrays A See Examples converter convertArray3D2Array py 1 12 More general examples of use e See Examples converter restart py e See Examples converter conv8 py e See Examples converter shell py 1 13 Example files Example file Examples converter array py array array import Converter as C Structured b C array x y z 12 9 12 print b Unstructured a C array x y z 12 9 QUAD print a Example file Examples converter getValue py f getValue array import Converter as C import Generator as G Array structure Ni 40 Nj 50 Nk 20 a G cart 0 0 0 1 Ni 1 0 5 Nj 1 1 Nk 1 Ni Nj Nk Les variables contenues dans a x y z au point 10 1 1 print C getValue a 10 1 1 print C getValue a 9 C est le meme point Array non structure Ni 40 Nj 50 Nk 20 a G cartTetra 0 0 0 1 Ni 1 0 5 N3 1 1 Nk 1 Ni Nj Nk print C getValue a 9 Example file Examples converter setValue py ONERA THE FRENCH AEROSPACE LAB setValue array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 5 5 1 Set point 1 1 1 with value x 0 1 y 0 1 z 1 C setValue a 1 1 1 0 1 0 1 1 print a Example file Examples converter add Var py addVars array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 10 10 11 a
14. convertPyTree2File t out cgns bin cgns Example file Examples converter cp Vars py f cpVars pyTree import Converter PyTree as C import Generator PyTree as G B coart o 0 0 0 01 1 1 10 10 10 a 0 cartel Gart 0 0 0 1 1 1 10 10 10 b 0 cart2 addVars a Density cpVars a Density a Density2 OO OO CO CpVars a Density b Density C newPyTree Base t 1 2 t 1 2 a c a b a a e t C convertPyTree2File t out cgns bin cgns Example file Examples converter getVarNames py 15 ONERA THE FRENCH AEROSPACE LAB getVarNames array import Converter as C a C array x y z ro 12 9 12 print C getVarNames a Example file Examples converter getVarNamesPT py f getVarNames pyTree import Converter PyTree as C import Generator PyTree as G a G cart 0 0 0 1 1 1 10 10 10 a C addVars a Density centers cellN print C getVarNames a Example file Examples converter initVars py initVars array import Converter as C C array x y z ichim celln 10 10 10 a C initVars a celln 2 print a Example file Examples converter initVarsPT py initVars pyTree import Converter PyTree as C import Generator PyTree as G cart 0 0 0 1 1 1 10 10 10 addVars a centers celln addVars a Density Dm Dm D I CO CO CO GH initVars a centers celln 2 Create a
15. location type of point defining array a for instance if array a describes a field at element vertices ind is a vertex index v C getValue a ind ind starts at O and i j k start at 1 See Examples converter get Value py Set the values of one point of index ind in array a v must be a list corresponding to the variables stored in array a C setValue a ind v See Examples converter setValue py Add variable s to an array var can be a string name ro or a list of string names ro rou b C addVars a ro or B C addVars A ro See Examples converter addVar py Concatenate array fields Variables defined by a list of arrays are put in the same array f C addVars a b c See Examples converter addVars py Extract variables named x y ro from an array Variables can be designated by a string or a list of strings Result in a new array b C extractVars a x y ro or B C extractVars A x y ro See Examples converter extractVars py Note var index starts at 1 Copy an array return a new duplicated array b C copy a or B C copy A See Examples converter copya py Create a pyTree with two bases Basel and Base2 Basel will contain surface meshes dim 2 and Base2 will contain volume meshes dim 3 A C newPyTree Basel 2 Base2 3 See Examples converter newPyTree py Add a base named bas
16. un fichier sous forme d un arrays selection de certains blocs dans le arrays ecriture du nouvel arrays import Converter as C Lit le fichier in plt dans arrays arrays C convertFile2Arrays in plt bin tp n len arrays print number of blocks in file n f arrays est une liste de n array On affiche les dimensions du premier bloc arrays 0 print dimensions arrays 0 2 arrays 0 3 arrays 0 4 On affiche la liste des variables du premier bloc arrays 0 print variables arrays 0 0 On affiche les coord du premier point du premier bloc Note that index is not natural for Fortran programmers print x y z of first element arrays 0 1 0 0 arrays 0 1 1 0 arrays 0 1 2 0 Prend les blocs 1 a 3 le premier bloc est 0 et les met dans une liste appelee res res arrays 1 4 Ajoute le bloc 5 a la fin de la liste res append arrays 5 Insert le bloc 6 au debut de la liste res insert 0 arrays 6 Sauvegarde la liste au format bin tp C convertArrays2File res out plt bin tp Example file Examples converter conv2 py convertFile2Arrays formated tecplot convertArrays2File binary tecplot import Converter as C Read a file into arrays arrays C convertFile2Arrays in360 tp fmt tp Write arrays to file C convertArrays2File arrays out plt bin tp Example file Examples converter conv3 py convertFile2Arrays bi
17. 0s t x 180 3 14 c T translate b 0 0 0 C convertArrays2File c mesh2 plt bin tp Example file Examples converter convertArray2Array3D py convertArrays2Arrays3D import Generator as G import Converter Array3D a G cart 0 0 0 0 1 0 2 1 11 4 1 b Converter Array3D convertArrays2Arrays3D a print b Example file Examples converter convertArray3D2Array py f convertArrays3D2Arrays import Converter as C import Generator as G import Converter Array3D a G cart 0 0 0 0 1 0 2 1 11 4 2 Converter Array3D convertArrays2Arrays3D al g Converter Array3D convertArrays3D2Arrays b print c Example file Examples converter restart py Lit un fichier output plt en centres Ecrit chaque bloc separement au format binaire v3d import Converter as C Lecture d une fichier binaire tecplot arrays C convertFile2Arrays output plt bin_tp Ecriture pour chaque zone dans un fichier separe v3d binaire i l for ar in arrays LE amp e 10s C convertArrays2File ar rep0 repr i v3d bin v3d else C convertArrays2File ar rep repr 1 v3d bin v3d i i 1 Example file Examples converter conv8 py f convertFile2Arrays Lecture de fichier structure en tecplot binaire Lecture de fichier non structure en tecplot binaire Ecriture d un fichier global structure non structure import Converter as C arrays C convertFile2Arrays dauphin plt
18. as C1 t C convertFile2PyTree SquaredNozzle 06 R cgns bin cgns zones C convertPyTree2ZoneNames t 1 Get one field arrays for i in zones a C convertPyTree2Array i GridCoordinates CoordinateX t b C convertPyTree2Array i GridCoordinates CoordinateY t c C convertPyTree2Array i GridCoordinates CoordinateZ t x Cl addVars a b c arrays append x Cl convertArrays2File arrays out plt bin_tp 2 Get a global field arrays for i in zones a C convertPyTree2Array i GridCoordinates t arrays append a Cl convertArrays2File arrays out2 plt bin_tp 3 Get the window of a boundary a C convertPyTree2Array SquaredNozzle Zone 001 ZoneBC Symmetry South PointRange t print a Example file Examples converter convertFile2PyTree py f convertFile2PyTree pyTree import Converter PyTree as C tl C convertFile2PyTree SquaredNozzle 06 R cgns bin cgns t2 C convertFile2PyTree in plt bin tp Example file Examples converter convertPy Tree2File py convertPyTree2File pyTree import Converter PyTree as C t C convertFile2PyTree SquaredNozzle 06 R cgns bin cgns C convertPyTree2File t out cgns bin cgns C convertPyTree2File t out plt bin tp 21 ONERA THE FRENCH AEROSPACE LAB Example file Examples converter conv py convertFile2Arrays binary tecplot convertArrays2File binary tecplot Lecture d
19. bj py bin_3ds binary 3D studio file very limited See Examples converter conv3DS py bin_pickle binary python pickle format See Examples converter convPickle py bin_wav binary wav 8 bits sound file See Examples converter conv Wav py fmt_xfig formatted xfig file See Examples converter conv Xfig py fmt_svg formatted svg file See Examples converter convSvg py bin_cgns binary ADF or HDF CGNS file for pyTrees only ONERA THE FRENCH AEROSPACE LAB 1 9 Cassiop e Objects array conversion To use conversion from to Cassiop e objects you need import import Converter Cassiopee Convert Cassiop e Mesh object to array a C Cassiopee convertMesh2Array msh See Examples converter convertMesh2Array py Convert array to Cassiop e Mesh object C Cassiopee convertArray2Mesh a msh See Examples converter convertArray2Mesh py Convert Cassiop e Window object to an array containing the coordinates of the nodes of the window a C Cassiopee convertWindow2Array win See Examples converter convertWindow2Array py Convert a Cassiop e DesFunction to a python function Available DesFunctions are wing_motion rotor_motion and transl_motion see Body Kinematics Userguide F C Cassiopee convertDesFunction2Function desFunction See Examples converter convertDesFunction2Function py Convert a list of Cassiop e objects to a string corresponding to the name o
20. ch ame to a pyTree Third argument specifies the cell dimension 3 for a volume mesh 2 for a surface mesh B z C addBase2PyTree A baseName 3 See Examples converter addBase2PyTree py ONERA THE FRENCH AEROSPACE LAB Add a boundary condition to a structured zone of a python tree The boundary of type bnd Type will be named bndName in the tree The range specifies the window where the boundary is defined It can be specified as imin imax jmin jmax kmin kmax or as imin jmin which means the full imin jmin face of a structured block bndType can be a CGNS name of a boundary condition or BCMatch for a matching BC or BCOverlap for an overlap BC or FamilySpeci fied FAMILY for a BC specified in a family BC named FAMILY For a matching BC donor zone and donor range must be specified final argument specifying the transformation is optional b C addBC2Zone a bndName BCMatch range donorZone donorRange 1 2 3 For an overlap BC donor zones can be specified If not automatic computation of donor zones is used Option can be doubly defined for a boundary condition also defined with a physical BC b C addBC2Zone a bndName BCOverlap range donorZones option See Examples converter addBC2Zone py Fill empty boundary conditions of a structured zone with the given boundary condition Param eter dim can be 2D or 3D default is 3D b C fillEmptyBCWith a bndName bndType dim or
21. d Then only the variable varname is computed at nodes set in zone FlowSolution location b C center2Node a Density or B C center2Node A Density See Examples converter center2Node py See Examples converter center2NodePT py 1 6 Array PyTree analysis Given a solution A and a solution B both defined on the same mesh return the differences C C diffArrays A B See Examples converter diffArrays py Return the field value where variable ro is minimum min C getArgMin a ro or min C getArgMin A ro See Examples converter getArgMin py Return the field value where variable ro is maximum See Examples converter getArgMax py Return the min value of variable ro min C getMinValue a ro or min C getMinValue A ro See Examples converter getMin Value py Return the max value of variable ro max C getMaxValue a ro or max C getMaxValue A ro See Examples converter getMax Value py Return the mean value of variable ro mean C getMeanValue a ro or mean C getMeanValue A ro See Examples converter getMean Value py LO and L2 norms of a field defined in an array can be extracted If cellnature field is defined in the array then blanked points are not taken into account into the computation of the norm LOnorm C normLO a ro or LOnorm C normLO A roi See Examples c
22. dd a variable defined by a string structured a C addVars a ro a C addVars a cellN C convertArrays2File a outl plt bin tp add variables defined by a list of varNames a C addVars a rou rov C convertArrays2File a out2 plt bin tp Example file Examples converter add Vars py addVars array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 10 10 11 b C array cell a 2 a 3 al4 c C array t u a 2 a 3 al4 f C addVars a b c C convertArrays2File f out plt bin tp Example file Examples converter extractVars py extractVars array import Generator as G import Converter as C a G cart 0 0 0 1 1 1 10 10 10 C extractVars a x y H C convertArrays2File r out plt bin tp Example file Examples converter copya py copy array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 10 10 10 b C copy a C convertArrays2File b out plt bin tp Example file Examples converter newPyTree py newPyTree pyTree import Converter PyTree as C t C newPyTree Basel 2 Base2 3 print t 12 ONERA THE FRENCH AEROSPACE LAB Example file Examples converter addBase2PyTree py addBase2PyTree pyTree import Converter PyTree as C t C newPyTree Base 3 t C addBase2PyTree t Base2 2 print t Example fi
23. e pyTree import Converter PyTree as C import Generator PyTree as G def F x y return 2xx y center2Node cree une nouvelle zone ni 30 nj 40 nk 2 18 ONERA THE FRENCH AEROSPACE LAB G cart 0 0 0 10 mi 1 10 1 mj 1 1 mi mj mk C initVars a centers Density 1 C center2Node a b 0 a 0 _nodes a a b t C newPyTree Basel 3 t 1 2 append b C convertPyTree2File t out cgns center2Node modifie une variable ni 30 nj 40 nk 3 a G cart 0 0 0 10 ni 1 10 n3 1 1 mi mj mk a C initVars a centers Density 1 a C center2Node a Density t C newPyTree Base 3 t 1 2 append a C convertPyTree2File t out cgns bin_cgns Example file Examples converter diffArrays py diffArrays array import Converter as C import Generator as G ni 11 nj 11 nk 11 cart 0 0 0 1 1 1 ni nj nk addVars a F initVars a F 1 addVars a Q initVars a OQ 1 2 D D Dm D Dm Il CX A 03 cart 0 0 0 1 1 1 ni nj nk addVars b Q initVars b Q 2 addVars b F JinitVars b E 3 Il ET Cr Quo A ret C diffArrays a b print ret Example file Examples converter getArgMin py f getArgMin array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 10 10 10 argmin C getArgMin a x pr
24. e file Examples converter convertWins2String py f convertDesObjs2String from elsA user import x import Connector as X import Converter Cassiopee as CC import Converter as C import Transform as T import Generator as G build b1k1 amp G cart 0 0 0 010 lod 10 10 2 msh mesh name msh msh submit CC convertArray2Mesh a msh blk block name blk blk set mesh msh blk submit build b1k2 az G cart 0 2 0 0 0 1 0 1 1 5 10 10 2 msh2 mesh name msh2 msh2 submit 27 ONERA THE FRENCH AEROSPACE LAB CC convertArray2Mesh a2 msh2 a T rotate a2 0 2 0 0 0 0 1 18 C convertArrays2File a mesh plt bin tp C convertArrays2File a2 mesh2 plt bin tp b1k2 block name b1k2 blk2 set mesh msh2 blk2 submit create mask wnd mask window blk2 name wnd_mask wnd mask set wnd 4 6 4 6 1 2 winsl wnd mask wins CC convertDesObjs2String winsl msk mask wins name msk msk set type cart elts msk set diml 100 msk set dim2 100 msk set area classical msk set proj direction y msk attach blk msk submit Example file Examples converter convertEMesh2Array py convertMesh2Array pour un Mesh d elsA from elsA user import x import Transform as T import Converter as C import Converter Elsa as CE import Generator as G pb
25. er initVars py See Examples converter initVarsPT py SR E EE A Init a variable named x with a function f Function f has two arguments here named sz y b C initVars a x f x y or B C initVars A x f Px y p See Examples converter initVar py Create tetra unstructured array from an array 2D elements are made triangular else they are made tetrahedrical See Examples converter convertStruct2Tetra py See Examples converter convertArray2TetraPT py See Examples converter convertHexa2Tetra py See Examples converter convertPrism2Tetra py Create hexa unstructured array from an array 2D elements are made quadrangular else they are made hexahedrical b C convertArray2Hexa a or B C convertArray2Hexa A See Examples converter convertStruct2Hexa py Convert data grid coordinates and solution defined at nodes in a to centers When using the pyTree interface a varname can be additionaly specified Then only the variable varname is computed at centers and set in returned zone FlowSolution Centers location b C node2Center a Density or B C node2Center A Density ONERA THE FRENCH AEROSPACE LAB See Examples converter node2center py See Examples converter node2centerPT py Change data defined at centers in a to nodes b C center2Node a or B C center2Node A When using the pyTree interface a varname can be additionaly specifie
26. f the objects string C Cassiopee convertDesObjs2String desObjs See Examples converter convertWins2String py 1 10 elsA objects array conversion To use conversion from to elsA objects you need to use elsA executable to execute script and im ort import Converter Elsa 3 Convert elsA Mesh object to array a C Elsa convertMesh2Array msh See Examples converter convertEMesh2 Array py Convert array to elsA Mesh object C Elsa convertArray2Mesh a msh See Examples converter convertArray2EMesh py Convert elsA Window object to an array containing the coordinates of the nodes of the window a C Elsa convertWindow2Array win See Examples converter convertEWindow2 Array py Convert an elsA DesFunction to a python function Available DesFunctions are wing motion and rotor motion F C Elsa convertDesFunction2Function desFunction See Examples converter convertEDesFunction2Func py ONERA THE FRENCH AEROSPACE LAB 1 11 Converter arrays 3D arrays conversion In some applications arrays must be seen as 3D arrays that is ni nj nk numpy arrays instead of H 99 gt nfld ni nj nk arrays An 3D array is defined as x y ax ay where ax is a ni nj nk numpy array corresponding to variable x and so on Convert arrays to 3D arrays ni nj nk B C Array3D convertArrays2Arrays3D A See Examples converter convertArray2Array3D py Convert 3D arrays to
27. function def F xl x2 return 3 x1 42 x2 a C initVars a Density F CoordinateX CoordinateY t C newPyTree Base t 1 2 append a C convertPyTree2File t out cgns bin cgns Example file Examples converter initVar py initVars array import Converter as C import Generator as G f Create a function def F xl x2 return 3 x1 2 x x2 Create a cartesian grid G cart 0 0 0 1 1 1 11 11 1 Di init by function a C initVars a F F x y C convertArrays2File a out plt bin tp Example file Examples converter convertStruct2Tetra py convertArray2Tetra array import Converter as C import Generator as G 2D triangles 16 ONERA THE FRENCH AEROSPACE LAB a G cart 0 0 0 0 1 0 1 0 2 10 10 1 b C convertArray2Tetra a C convertArrays2File b newl plt bin tp 3D tetraedres a G cart 0 0 0 0 1 0 1 0 2 10 10 10 b C convertArray2Tetra a C convertArrays2File b new2 plt bin tp Example file Examples converter convertArray2TetraPT py convertArray2Tetra pyTree import Converter PyTree as C import Generator PyTree as G t C newPyTree Basel 2 Base2 3 2D triangles a G cart 0 0 0 0 1 0 1 0 2 10 10 1 b C convertArray2Tetra a t 11 2 append b 3D tetraedres a G cart 0 0 0 0 1 0 1 0 2 10 10 10 b C convertArray2Tetra a
28. int argmin Example file Examples converter getArgMax py getArgMax array import Converter as C import Generator as G a Gyeart 10 00 ee ah e 10 10 10 3 argmax C getArgMax a x print argmax Example file Examples converter getMin Value py getMinValue array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 11 1 1 minval C getMinValue a x print minval Example file Examples converter getMax Value py 19 ONERA THE FRENCH AEROSPACE LAB getMaxValue array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 11 1 1 maxval C getMaxValue a x print maxval Example file Examples converter getMean Value py getMeanValue array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 11 1 1 meanval C getMeanValue a x print meanval Example file Examples converter normL0 py normLO array import Converter as C import Generator as G a G cart 0 0 0 1 1 1 11 11 11 a C initVars a F 1 print normLO C normLO a F Example file Examples converter normL2 py normL2 array import Converter as C import Generator as G ni 11 nj 11 nk 11 a G cart 0 0 0 1 1 1 ni nj nk a C initVars a F 1 r print normL2 C normL2 a F La variable cellN est prise en compte cellnf C array cell
29. it msh getI win a C convertArrays2File a win im 1 1 1 msh getI km CE convertWindow2Array win plt bin tp Example file Examples converter convertEDesFunction2Func py convertDesFunction2Function pour une DesFunction elsA from elsA user import as C Elsa as CE as G import Converter import Converter import Generator import Transform as T from math import zx pb cfdpb name pb Create a motion function Func function wing motion Func set transl speed x 0 4 Func set transl speed y 0 Func set transl speed z 0 Func set axis pnt x 5 4 coo Func set axis pnt y 5 Func set axis pnt z 0 Func set axis vct x 0 4 vec Func set axis vct y 0 Func set axis vct z 1 Func set alp0 0 rotation Func set nhalp 2 Func set alplc 1 Func set alpls 0 Func set alp2c 0 Func set alp2s 0 Func set omega 1 F CE convertDesFunction2Funct name Func coord du centre de rotation dans Ra transl time rd du centre de rotation repere rel teur rotation d angle alp0 cos omegaxt ion Func 29 ONERA THE FRENCH AEROSPACE LAB Create a cartesian grid G cart 0 0 0 1 1 1 11 11 1 Move the mesh 0 T move a F t Qo D convertArrays2File a mesh plt bin tp f Equivalent to b T rotate array 1 0 0 0 0 1 3 14 180 x c
30. le Examples converter addBC2Zone py f addBC2Zone pyTree import Converter PyTree as C import Generator PyTree as G a G cylinder 0 0 0 1 1 5 0 360 1 80 30 2 r b G cart 0 1 0 9 0 0 01 0 01 1 20 20 2 Physical BC here BCWall a C addBC2Zone a walll BCWall jmin Matching BC a C addBC2Zone a matchl BCMatch imin a imax 1 2 3 a C addBC2Zone a match2 BCMatch imax a imin 1 2 3 Overlap BC with automatic donor zones a C addBC2Zone a overlapl BCOverlap jmax Overlap BC with given donor zones and doubly defined a C addBC2Zone a overlap2 BCOverlap jmin Db doubly defined t C newPyTree Base t 1 2 append a t 1 2 append b C convertPyTree2File t out cgns bin cgns Example file Examples converter fillEmptyBCWith py fillEmpyBCWith pyTree import Converter PyTree as C import Generator PyTree as G cart 0 0 0 11 1 1 10 10 10 addBC2Zone a overlap BCOverlap imin addBC2Zone a matchl BCMatch jmin a jmax 1 2 3 fillEmptyBCWith a wall BCWall 3D Dm D D I OO OO CO t C newPyTree Base t 1 2 append a C convertPyTree2File t out cgns bin cgns Example file Examples converter rmBCOfType py f rmBCOfType pyTree import Converter PyTree as C import Generator PyTree as G a G cylinder 0 0 0 1 1 5 0 360
31. n ni nj nk cellnf C initVars cellnf celln 1 cellnf 1 0 1 cellnf 1 0 2 ol DS a C addVars a cellnf r print normL2 C normL2 a F Example file Examples converter normalize py normalize array import Converter as C import Generator as G import Geom as D a D sphere 0 0 0 1 50 n G getNormalMap a n C center2Node n n 1 n 1 10 n C normalize n sx sy sz a C addVars a n C convertArrays2File a out plt bin tp Example file Examples converter normalizePT py 20 ONERA THE FRENCH AEROSPACE LAB f normalize pyTree import Converter PyTree as C import Geom PyTree as D sphere 0 0 0 1 50 addVars a sx a C initVars a sx 10 addVars a sy a C initVars a sy 20 addVars a sz a C initVars a sz 30 normalize a sx sy sz t C newPyTree Base 2 t 1 2 append a C convertPyTree2File t out cgns bin cgns 9 omvonvoimn6p Il AE AA Example file Examples converter convertPyTree2ZoneNames py convertPyTree2Array pyTree import Converter PyTree as C t C convertFile2PyTree SquaredNozzle 06 R cgns bin cgns Noms des zones contenues dans l arbre t zones C convertPyTree2ZoneNames t print zones Example file Examples converter convertPyTree2Array py convertPyTree2Array pyTree import Converter PyTree as C import Converter
32. naire v3d convertArrays2File formated and binary v3d import Converter as C Read a file into arrays arrays C convertFile2Arrays infmt v3d fmt v3d Write a binary file with endian conversion C convertArrays2File arrays out v3d bin v3d endian big Example file Examples converter convPlot3d py 22 ONERA THE FRENCH AEROSPACE LAB convertFile2Arrays binary plot3d convertArrays2File binary plot3d import Converter as C Read a file into arrays arrays C convertFile2Arrays in dat bin plot3d arrays C addVars arrays ro rou rov row roE Write arrays to file C convertArrays2File arrays out dat bin plot3d int 8 C convertArrays2File arrays out plt bin tp Example file Examples converter convPov py convertArrays2File fmt pov import Converter as C a C convertFile2Arrays dauphin skin plt bin tp fmt pov only supports triangle meshes b C convertArray2Tetra a This converts coordinates and Density field to fmt pov He using colormap 1 cl c0 means no color pigment C convertArrays2File b out pov fmt pov colormap 1 f Reread this file C convertFile2Arrays out pov fmt pov Di C convertArrays2File a out plt bin tp Execute povray import os os system povray W800 H600 a0 3 SP16 render pov P Example file Examples converter convDf3 py convertArrays2File
33. ndex var is the name of the variable v C getValue a var ind ind starts at O and i j k start at 1 ONERA THE FRENCH AEROSPACE LAB See Examples converter getValuePT py Set the values of one point of index ind in a zone a var is the name of the variables to be modi fied value can be a float or a list of floats corresponding to the values of the variables to be modified C setValue a var ind value See Examples converter setValuePT py Add a variable s to a zone var is a string name or a list of string names e g Density variable localisation nodes or centers can be specified in var b C addVars a var or B 2 C addVars A var See Examples converter addVarsPT py Remove a variable s var is a string name or a list of string names b C rmVars a var or B C rmVars A var See Examples converter rm Vars py Copy a variable from zone al with name var to zone a2 with name var2 The var location must 2 a e c e 5 oa e b C epVars al varl a2 var2 See Examples converter cp Vars py 1 5 Array pyTree common manipulation Return the list of variable names contained in a v C getVarNames a or V C getVarNames A See Examples converter getVarNames py See Examples converter getVarNamesPT py Init variable given by a string to a constant value val b C initVars a cellN val or B C initVars A cellN val See Examples convert
34. of discretization points for curved vector elements nptsLine Number of discretization points for line vector elements Write a list of arrays to a file C convertArrays2File A file tp fmt tp options options is a list of option pairs In each option pair first argument is a string and second argument corresponds to its value Option pairs can be Option name Meaning Possible values Default value ni is real size ofreal fjas fe endian Pig colormap active inactive jnactive Read a file to a pyTree See Examples converter convertFile2Py Tree py Write a python tree to a file See Examples converter convertPy Tree2File py Recognised formats are e bin tp binary tecplot file See Examples converter conv py e fmt tp formatted tecplot file ONERA THE FRENCH AEROSPACE LAB See Examples converter conv2 py bin_v3d binary v3d file fmt_v3d formatted v3d file See Examples converter conv3 py bin_plot3d binary plot3d file See Examples converter convPlot3d py fmt_pov formatted povray raytracer file See Examples converter convPov py bin_df3 binary density file for povray raytracer See Examples converter convDf3 py fmt_mesh formatted mesh INRIA Gamma file See Examples converter convMesh py bin_stl binary STL file See Examples converter convSTL py fmt_obj formatted Obj file wavefront See Examples converter convO
35. onDensity roeps of turbulence kinetic energy Static pressure Pressure Dynamic pressure PressureDynamic Static temperature Temperature Enthalpy Enthalpy Entropy Entropy Stagnation pressure PressureStagnation Stagnation temperature TemperatureStagnation x component of the absolute VelocityX velocity y component of the absolute VelocityY velocity z component of the absolute VelocityZ velocity Absolute velocity magnitude VelocityMagnitude Absolute Mach number Mach Molecular viscosity Viscosity Molecular Cell Nature Field 0 blanked 1 discretised 2 interpolated Cell Nature Field 0 blanked discretised Id interpolation cellN cellnf cellNF cellnf celINF ichim block Id Cell Status 1 orphan status O blanked 1 discretised 2 interpolated explicitly 3 ex trapolated 4 interpolated implicitly ONERA THE FRENCH AEROSPACE LAB 1 3 Array creation and manipulation Create a structured array containing variables x y z on a nixnjxnk grid a C array x y z ni nj nk Create a unstructured array containing variables x y z on a grid containing np points and ne elements of type ELTTYPE a C array x y z np ne ELTTYPE See Examples converter array py Return the list of values defined in array a for point of index ind for both structured and un structured arrays For structured arrays you can specify i j k instead of ind For unstructured arrays the index ind corresponds to the
36. onverter normLO py L2norm C normL2 a rot or L2norm C normL2 A roi See Examples converter normL 2 py Normalize a vector defined by its 3 vector coordinates Modify sx sy sz b C normalize a sx sy sz or B C normalize A sx sy sai See Examples converter normalize py See Examples converter normalizePT py 1 7 Array pyTree conversion Return the list of zone paths strings contained in a python tree P C convertPyTree2ZoneNames T See Examples converter convertPy Tree2ZoneNames py ONERA THE FRENCH AEROSPACE LAB Convert a python tree node to an array One have to provide the path of the corresponding node and the python tree a C convertPyTree2Array Zone 001 GridCoordinates CoordinateX T See Examples converter convertPyTree2Array py 1 8 File arrays or pyTree conversion Read a file and return a list of arrays A C convertFile2Arrays file plt bin tp options For formatted files only one block of file is read For format needing multiple files for ex plot3d multiple files can be specified in file string as file gbin file qbin In file format where variables name are undefined the following one is adopted X y Z FO rou rov row roE cellN Options can be set as a list of option pairs to specify the discretization of vector elements as de fined in xfig or svg Option name Meaning Default value nptsCurve Number
37. rtMesh2Array py convertMesh2Array mesh de Cassiopee from elsA user import x 25 ONERA THE FRENCH AEROSPACE LAB import Transform as T import Converter as C import Converter Cassiopee as CC import Generator as G msh mesh name msh msh set file mesh tp msh set format fmt tp msh submit a CC convertMesh2Array msh C convertArrays2File a mesh plt bin tp Example file Examples converter convertArray2Mesh py convertArray2Mesh Mesh Cassiopee from elsA user import x import Converter Cassiopee as CC import Converter as C import Transform as T Create a cartesian mesh msh mesh name msh msh submit Get arrays from file import Generator as G a G cart 0er 0 0 7 21 021 144 10 10 10 Convert arrays to mesh CC convertArray2Mesh a msh Save the mesh a CC convertMesh2Array msh C convertArrays2File a mesh tp fmt_tp Example file Examples converter convertWindow2Array py f convertWindow2Array Window de Cassiopee from elsA user import x import Transform as T import Converter as C import Converter Cassiopee as CC import Generator as G msh mesh name msh msh submit a G cart 0 0 0 1 1 1 10 10 10 CC convertArray2Mesh a msh blk block name blk blk set mesh msh blk submit win window blk name win win set wnd 1 msh getI im 1 1 1 msh getI km
38. t 21 2 append b C convertPyTree2File t out cgns bin cgns Example file Examples converter convertHexa2Tetra py convertArray2Tetra array import Converter as C import Generator as G 2D quads gt triangles a G cartHexa 0 0 0 0 1 0 1 0 2 10 10 1 b C convertArray2Tetra a C convertArrays2File b newl plt bin tp 3D hexa gt tetraedres a G cartHexa 0 0 0 0 1 0 1 0 2 10 10 10 b C convertArray2Tetra a C convertArrays2File b new2 plt bin tp Example file Examples converter convertPrism2Tetra py convertArray2Tetra array import Converter as C import Generator as G a G cartPenta 0 0 0 1 1 1 10 10 3 a C convertArray2Tetra a C convertArrays2File a out plt bin tp Example file Examples converter convertStruct2Hexa py convertArray2Hexa array import Converter as C import Generator as G 2D quad a G osart 0 0 0 021 021 022 10 10 1 b C convertArray2Hexa a C convertArrays2File b newl plt bin tp 3D hexaedres a G cart 0 0 0 0 1 0 1 0 2 10 10 10 b C convertArray2Hexa a C convertArrays2File b new2 plt bin tp 17 ONERA THE FRENCH AEROSPACE LAB Example file Examples converter node2center py node2Center array import Converter as C import Generator as G def F x y return 2xx y ni 30 nj 40 nk 1 G cart 0 0 0 10 ni
39. win submit a CC convertWindow2Array win C convertArrays2File a win plt bin tp Example file Examples converter convertDesFunction2Function py convertDesFunction2Function DesFunction Cassiopee import Converter as C 26 ONERA THE FRENCH AEROSPACE LAB import Converter Cassiopee as CC import Generator as G import Transform as T from elsA user import x from math import zx Create a motion function Func function wing motion name Func Func set transl speed x 0 4 coord du centre de rotation dans Ra Func set transl speed y 0 4 translx time Func set transl speed z 0 Func set axis pnt x 5 coord du centre de rotation repere rel Func set axis pnt y 5 Func set axis vct x 0 4 vecteur rotation Func set axis pnt z 0 Func set axis vct y 0 Func set axis vct z l1 Func set alp0 0 rotation d angle alp0 cos omegaxt Func set nhalp 2 Func set alplc 1 Func set alpls 0 Func set alp2c 0 Func set alp2s 0 Func set omega 1 CC convertDesFunction2Function Func Create a cartesian grid array G cart 0 0 0 1 1 1 11 11 1 Move the mesh t 0 print F t a T move array F t C convertArrays2File a mesh plt bin tp f Equivalent to b T rotate array 1 0 0 0 0 1 3 14 180 xcos t 180 3 14 c T translate b 0 0 0 C convertArrays2File c mesh2 plt bin tp Exampl

Download Pdf Manuals

image

Related Search

Related Contents

SMARTer® Ultra Low Input RNA for Illumina® Sequencing    Toshiba Satellite L855-S5372  Please Click here to the Instructions PDF File  WBH Bau-Nivellier Niveau de chantier WBH WBH Bau  Samsung Mustavalkolasertulostin SL-M2825ND Käyttöopas  Philips CD1802B  Manuale di servizio - H-Tec  手引書全体版[PDF 319KB]はこちらからダウンロード  MONOMIG 196  

Copyright © All rights reserved.
Failed to retrieve file