44from enum import Enum
55from functools import reduce
66import io
7+ import logging
78from typing import Callable , Dict , List , Tuple
89import weakref
910
2223from ansys .fluent .core .services .streaming import StreamingService
2324from ansys .fluent .core .utils .deprecate import deprecate_argument , deprecate_arguments
2425
26+ logger = logging .getLogger ("pyfluent.field_data" )
27+
2528
2629def override_help_text (func , func_to_be_wrapped ):
2730 """Override function help text."""
@@ -1074,10 +1077,9 @@ class Mesh:
10741077 Attributes:
10751078 -----------
10761079 nodes : list[Node]
1077- List of nodes in the mesh. Sorted by Fluent's node ID.
1080+ List of nodes in the mesh.
10781081 elements : list[Element]
1079- List of elements in the mesh. Unsorted as we want to correlate with the
1080- solution data retrieved via svar service.
1082+ List of elements in the mesh.
10811083 """
10821084
10831085 nodes : list [Node ]
@@ -1480,19 +1482,25 @@ def get_mesh(self, zone: str | int) -> Mesh:
14801482 raise NotImplementedError ("Face zone mesh is not supported." )
14811483
14821484 # Mesh data is retrieved from the root domain in Fluent
1483- request = FieldDataProtoModule .GetSolverMeshNodesRequest (
1485+ logger .info (f"Getting nodes data for zone { zone_info ._id } " )
1486+ nodes_request = FieldDataProtoModule .GetSolverMeshNodesRequest (
14841487 domain_id = ROOT_DOMAIN_ID , thread_id = zone_info ._id
14851488 )
1486- response = self ._service .get_solver_mesh_nodes (request )
1487- nodes = response .nodes
1488- nodes = [Node (_id = node .id , x = node .x , y = node .y , z = node .z ) for node in nodes ]
1489- nodes = sorted (nodes , key = lambda x : x ._id )
1490- node_index_by_id = {node ._id : index for index , node in enumerate (nodes )}
1491- request = FieldDataProtoModule .GetSolverMeshElementsRequest (
1489+ nodes_response = self ._service .get_solver_mesh_nodes (nodes_request )
1490+ logger .info ("Nodes data received" )
1491+ logger .info (f"Getting elements for zone { zone_info ._id } " )
1492+ elements_request = FieldDataProtoModule .GetSolverMeshElementsRequest (
14921493 domain_id = ROOT_DOMAIN_ID , thread_id = zone_info ._id
14931494 )
1494- response = self ._service .get_solver_mesh_elements (request )
1495- elements_pb = response .elements
1495+ elements_response = self ._service .get_solver_mesh_elements (elements_request )
1496+ logger .info ("Elements data received" )
1497+ logger .info ("Constructing nodes structure in PyFluent" )
1498+ nodes = nodes_response .nodes
1499+ nodes = [Node (_id = node .id , x = node .x , y = node .y , z = node .z ) for node in nodes ]
1500+ node_index_by_id = {node ._id : index for index , node in enumerate (nodes )}
1501+ logger .info ("Nodes structure constructed" )
1502+ logger .info ("Constructing elements structure in PyFluent" )
1503+ elements_pb = elements_response .elements
14961504 elements = []
14971505 for element_pb in elements_pb :
14981506 element_type = CellElementType (element_pb .element_type )
@@ -1515,4 +1523,6 @@ def get_mesh(self, zone: str | int) -> Mesh:
15151523 node_indices = [node_index_by_id [id ] for id in element_pb .node_ids ],
15161524 )
15171525 elements .append (element )
1526+ logger .info ("Elements structure constructed" )
1527+ logger .info ("Returning mesh" )
15181528 return Mesh (nodes = nodes , elements = elements )
0 commit comments