@@ -21,7 +21,7 @@ def __init__(self, preciceConfigFile, participantName, config, MESH, MODEL, MAT,
2121 self .isNonLinear = isNonLinear
2222 self .participantName = participantName
2323 self .preciceDt = - 1
24- self .precice = precice .Interface (participantName , preciceConfigFile , 0 , 1 )
24+ self .precice = precice .Participant (participantName , preciceConfigFile , 0 , 1 )
2525 self .configure (config )
2626
2727 def configure (self , config ):
@@ -41,42 +41,40 @@ def configure(self, config):
4141
4242 def initialize (self , INIT_T ):
4343
44- self .preciceDt = self .precice .initialize ()
45- if self .precice .is_action_required (precice .action_write_initial_data ()):
44+ self .precice .initialize ()
45+ self .preciceDt = self .precice .get_max_time_step_size ()
46+ if self .precice .requires_initial_data ():
4647 self .writeCouplingData (INIT_T )
47- self .precice .fulfilled_action (precice .action_write_initial_data ())
4848
49- self .precice .initialize_data ()
5049 return self .preciceDt
5150
5251 def isCouplingOngoing (self ):
5352 return self .precice .is_coupling_ongoing ()
5453
5554 def writeCouplingData (self , TEMP ):
56- if self .precice .is_write_data_required (self .preciceDt ):
57- for interface in self .interfaces :
58- interface .writeBCs (TEMP )
55+ for interface in self .interfaces :
56+ interface .writeBCs (TEMP )
5957
6058 def readCouplingData (self ):
61- if self .precice .is_read_data_available ():
62- for interface in self .interfaces :
63- interface .readAndUpdateBCs ()
59+ for interface in self .interfaces :
60+ interface .readAndUpdateBCs ()
6461
6562 def writeCheckpoint (self ):
66- if self .precice .is_action_required ( precice . action_write_iteration_checkpoint () ):
63+ if self .precice .requires_writing_checkpoint ( ):
6764 # Do nothing
68- self . precice . fulfilled_action ( precice . action_write_iteration_checkpoint ())
65+ pass
6966
7067 def readCheckpoint (self ):
71- if self .precice .is_action_required ( precice . action_read_iteration_checkpoint () ):
68+ if self .precice .requires_reading_checkpoint ( ):
7269 # Do nothing
73- self . precice . fulfilled_action ( precice . action_read_iteration_checkpoint ())
70+ pass
7471
7572 def isCouplingTimestepComplete (self ):
7673 return self .precice .is_time_window_complete ()
7774
7875 def advance (self ):
79- self .preciceDt = self .precice .advance (self .preciceDt )
76+ self .precice .advance (self .preciceDt )
77+ self .preciceDt = self .precice .get_max_time_step_size ()
8078 return self .preciceDt
8179
8280 def finalize (self ):
@@ -108,13 +106,8 @@ def __init__(self, precice, participantName, names, MESH, SHMESH, MODEL, MAT, is
108106 self .preciceNodeIndices = []
109107 self .preciceFaceCenterIndices = []
110108
111- self .preciceFaceCentersMeshID = 0
112- self .preciceNodesMeshID = 0
113-
114- self .readHCoeffDataID = 0
115- self .readTempDataID = 0
116- self .writeHCoeffDataID = 0
117- self .writeTempDataID = 0
109+ self .readDataName = ""
110+ self .writeDataName = ""
118111
119112 self .writeTemp = []
120113 self .writeHCoeff = []
@@ -142,7 +135,14 @@ def configure(self, names):
142135
143136 self .computeNormals ()
144137
145- dims = self .precice .get_dimensions ()
138+ nodes_mesh_dims = self .precice .get_mesh_dimensions (self .nodesMeshName )
139+ face_centers_mesh_dims = self .precice .get_mesh_dimensions (self .faceCentersMeshName )
140+
141+ if nodes_mesh_dims != face_centers_mesh_dims :
142+ raise ValueError ("Dimensions of the read mesh and the write mesh do not match" )
143+ else :
144+ # Set dimensions to nodes mesh dimensions
145+ dims = nodes_mesh_dims
146146
147147 self .nodeCoordinates = np .array ([p for p in self .SHMESH .sdj .COORDO .VALE .get ()])
148148 self .nodeCoordinates = np .resize (self .nodeCoordinates , (int (len (self .nodeCoordinates )/ dims ), dims ))
@@ -173,43 +173,35 @@ def computeNormals(self):
173173 )
174174 self .normals = N .EXTR_COMP ().valeurs
175175
176- dims = self .precice .get_dimensions ( )
176+ dims = self .precice .get_mesh_dimensions ( self . nodesMeshName )
177177
178178 self .normals = np .resize (np .array (self .normals ), (int (len (self .normals )/ dims ), dims ))
179179 DETRUIRE (CONCEPT = ({"NOM" : N }, {"NOM" : DUMMY }))
180180
181181 def setVertices (self ):
182182 # Nodes
183- self .preciceNodesMeshID = self .precice .get_mesh_id (self .nodesMeshName )
184- self .preciceNodeIndices = self .precice .set_mesh_vertices (self .preciceNodesMeshID , self .nodeCoordinates )
183+ self .preciceNodeIndices = self .precice .set_mesh_vertices (self .nodesMeshName , self .nodeCoordinates )
185184 # Face centers
186- self .preciceFaceCentersMeshID = self .precice .get_mesh_id (self .faceCentersMeshName )
187- self .preciceFaceCenterIndices = self .precice .set_mesh_vertices (self .preciceFaceCentersMeshID , self .faceCenterCoordinates )
185+ self .preciceFaceCenterIndices = self .precice .set_mesh_vertices (self .faceCentersMeshName , self .faceCenterCoordinates )
188186
189- def setDataIDs (self , names ):
187+ def setDataNames (self , names ):
190188 for writeDataName in names ["write-data" ]:
191189 if writeDataName .find ("Heat-Transfer-Coefficient-" ) >= 0 :
192- self .writeHCoeffDataID = self . precice . get_data_id ( writeDataName , self . preciceNodesMeshID )
190+ self .writeDataName = writeDataName
193191 elif writeDataName .find ("Sink-Temperature-" ) >= 0 :
194- self .writeTempDataID = self . precice . get_data_id ( writeDataName , self . preciceNodesMeshID )
192+ self .writeDataName = writeDataName
195193 for readDataName in names ["read-data" ]:
196194 if readDataName .find ("Heat-Transfer-Coefficient-" ) >= 0 :
197- self .readHCoeffDataID = self . precice . get_data_id ( readDataName , self . preciceFaceCentersMeshID )
195+ self .readDataName = readDataName
198196 elif readDataName .find ("Sink-Temperature-" ) >= 0 :
199- self .readTempDataID = self . precice . get_data_id ( readDataName , self . preciceFaceCentersMeshID )
197+ self .readDataName = readDataName
200198
201199 def getPreciceNodeIndices (self ):
202200 return self .preciceNodeIndices
203201
204202 def getPreciceFaceCenterIndices (self ):
205203 return self .preciceFaceCenterIndices
206204
207- def getPreciceNodesMeshID (self ):
208- return self .preciceNodesMeshID
209-
210- def getPreciceFaceCentersMeshID (self ):
211- return self .preciceFaceCentersMeshID
212-
213205 def getNodeCoordinates (self ):
214206 return self .nodeCoordinates
215207
0 commit comments