]> SALOME platform Git repositories - modules/med.git/blob - src/MEDOP/tut/mergefields/splitdemo/splitdemo_partiel.py
Salome HOME
Add documentation for users and basic tutotial script examples (associated to the...
[modules/med.git] / src / MEDOP / tut / mergefields / splitdemo / splitdemo_partiel.py
1 from MEDLoader import *
2
3 fns=['DomainMesh_1.med', 'DomainMesh_2.med','DomainMesh_3.med']
4 outs=["out1.vtu","out2.vtu","out3.vtu","out4.vtu"]
5 trs=[(-0.714,-0.714,0.),(0.,0.,0.),(-0.577,-0.577,-0.577)]
6 scal=0.5
7 fs=3*[None]
8 dds=3*[None]
9 mns=3*[None]
10 i=0
11
12 splitview=False
13
14 for fn in fns:
15     m=MEDFileMesh.New(fn)
16     m=m.getMeshAtLevel(0)
17     m.writeVTK(outs[i])
18     mns[i]=m.deepCpy()
19     if splitview:
20         m.translate([scal*elt for elt in trs[i]])
21     f=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME)
22     f.setMesh(m)
23     da=DataArrayDouble.New()
24     da.alloc(m.getNumberOfCells(),1)
25     da.fillWithValue(i)
26     dds[i]=da.deepCpy()
27     f.setArray(da)
28     fs[i]=f
29     i+=1
30     pass
31
32
33 f=MEDCouplingFieldDouble.MergeFields(fs)
34 f.setName("PID")
35
36 MEDCouplingFieldDouble.WriteVTK("Domain.vtu",[f])
37 dd=DataArrayDouble.Aggregate(dds)
38 m=MEDCouplingUMesh.MergeUMeshes(mns)
39 if splitview:
40     m.translate([3.*elt for elt in [0.577,0.577,0.577]])
41 f2=MEDCouplingFieldDouble.New(ON_CELLS,NO_TIME)
42 f2.setMesh(m)
43 f2.setArray(dd)
44 f2.setName("PID")
45 MEDCouplingFieldDouble.WriteVTK('DomainMesh.vtu',[f2])
46 #m=MEDCouplingUMesh.MergeUMeshes(mns)
47 #m.writeVTK("DomainMesh.vtu")