Salome HOME
5c0daf7e14e9ed6b569518a08f4f10089fe8a7df
[modules/paravis.git] / examples / command_line / medio.py
1 def __select_data(reader, dataname=None):
2   if dataname:
3     keys = reader.GetProperty("FieldsTreeInfo")[::2]
4     # list all the names of arrays that can be seen (including their spatial discretization)
5     arr_name_with_dis = [elt.split("/")[-1] for elt in keys]
6     # list all the names of arrays (Equal to those in the MED File)
7     separator = reader.GetProperty("Separator").GetData()
8     arr_name = [elt.split(separator)[0] for elt in arr_name_with_dis]
9     for idx in range(len(keys)):
10       if arr_name[idx] == dataname:
11         reader.AllArrays = keys[idx]
12         break
13
14   return reader
15 #
16
17 def get_element_type(reader):
18   # Return 'P0', 'P1'...
19   separator = reader.GetProperty("Separator").GetData()
20   return reader.AllArrays[0].split(separator)[1]
21 #
22
23 def get_element_name(reader):
24   separator = reader.GetProperty("Separator").GetData()
25   return reader.AllArrays[0].split(separator)[0].split("/")[-1]
26 #
27
28 def load_mesh(med_filename, mesh_name=None):
29   import pvsimple
30   reader = pvsimple.MEDReader(FileName=med_filename)
31   return __select_data(reader, mesh_name)
32 #
33
34 def load_field(med_filename, field_name=None):
35   import pvsimple
36   reader = pvsimple.MEDReader(FileName=med_filename)
37   return __select_data(reader, field_name)
38 #