field_data_interfaces#

Common interfaces for field data.

Classes:

BaseFieldDataSource()

Abstract base class for accessing field data.

BaseFieldInfo()

Abstract base class for field information retrieval.

FieldBatch()

Abstract base class for handling field data batches.

FieldDataSource()

Abstract base class for accessing field data.

PathlinesData(pathlines_data_for_surface)

Class that enables object-style access to pathlines data structure.

PathlinesFieldDataRequest(field_name, surfaces)

Container storing parameters for path-lines field data request.

ScalarFieldDataRequest(field_name, surfaces)

Container storing parameters for scalar field data request.

SurfaceData(surf_data)

Class that enables object-style access to surface data structures.

SurfaceDataType(value[, names, module, ...])

Provides surface data types.

SurfaceFieldDataRequest(data_types, surfaces)

Container storing parameters for surface data request.

VectorFieldDataRequest(field_name, surfaces)

Container storing parameters for vector field data request.

Exceptions:

FieldUnavailable

Raised when field is unavailable.

Functions:

get_surfaces_from_objects(surfaces)

Extract surface names or identifiers from a list of surfaces.

class ansys.fluent.core.field_data_interfaces.BaseFieldDataSource#

Bases: ABC

Abstract base class for accessing field data.

This class defines the interface for retrieving field data based on user requests. It provides abstract methods that allow users to implement their own data sources for fetching field data related to surfaces, scalars, vectors, or pathlines.

Implementing classes should define: - A method to obtain surface IDs from user-provided surface names or numerical identifiers. - A method to retrieve field data based on a given request.

Subclasses must provide concrete implementations for all abstract methods.

Methods:

get_field_data(obj)

Retrieve the field data for a given request.

get_surface_ids(surfaces)

Retrieve a list of surface IDs based on input surface names or numerical identifiers.

abstract get_field_data(obj)#

Retrieve the field data for a given request.

This method processes the specified request and returns the corresponding field data in a structured format.

Returns:
Dict[int | str, Dict | np.array]: A dictionary where keys represent surface
IDs or names, and values contain the corresponding field data.
abstract get_surface_ids(surfaces)#

Retrieve a list of surface IDs based on input surface names or numerical identifiers.

class ansys.fluent.core.field_data_interfaces.BaseFieldInfo#

Bases: ABC

Abstract base class for field information retrieval.

This class defines the interface for obtaining metadata about scalar and vector fields, as well as surface details. It provides abstract methods that allow users to implement their own data sources for retrieving field value ranges, field characteristics, and surface information.

Implementing classes should define: - Methods to retrieve the range of scalar fields. - Methods to obtain metadata about scalar and vector fields. - Methods to retrieve surface-related information.

Subclasses must provide concrete implementations for all abstract methods.

Methods:

get_scalar_field_range(field[, node_value, ...])

Retrieve the range (minimum and maximum values) of a scalar field.

get_scalar_fields_info()

Retrieve information about available scalar fields.

get_surfaces_info()

Retrieve information about available surfaces.

get_vector_fields_info()

abstract get_scalar_field_range(field, node_value=False, surface_ids=None)#

Retrieve the range (minimum and maximum values) of a scalar field.

Parameters:
field (str): The name of the scalar field.
node_value (bool, optional): Whether to retrieve node-based values instead of element-based. Defaults to False.
surface_ids (List[int], optional): List of surface IDs for filtering data. Defaults to None.
Returns:
List[float]: A list containing the minimum and maximum values of the requested scalar field.
abstract get_scalar_fields_info()#

Retrieve information about available scalar fields.

This includes field names, associated domains, and sections.

Returns:
Dict[str, Dict]: A dictionary containing scalar field metadata.
abstract get_surfaces_info()#

Retrieve information about available surfaces.

This includes surface names, IDs, and types.

Returns:
Dict[str, Dict]: A dictionary containing surface metadata.
abstract get_vector_fields_info()#

” Retrieve information about available vector fields.

This includes vector components and relevant metadata.

Returns:
Dict[str, Dict]: A dictionary containing vector field metadata.
class ansys.fluent.core.field_data_interfaces.FieldBatch#

Bases: ABC

Abstract base class for handling field data batches.

This class defines the interface for requesting field data based on user inputs and retrieving responses from the server. It provides abstract methods that allow users to develop their own implementations for interacting with different field data sources.

Implementing classes should define: - Methods to obtain surface IDs from user-provided surface names or identifiers. - A mechanism to add requests for different types of field data (surface, scalar,

vector, or pathlines).

  • A method to fetch the response containing the requested field data.

Subclasses must provide concrete implementations for all abstract methods.

Methods:

add_requests(obj, *args)

Add field data requests for surfaces, scalars, vectors, or pathlines.

get_response()

Retrieve the response containing data for previously added field requests.

get_surface_ids(surfaces)

Retrieve a list of surface IDs based on input surface names or numerical identifiers.

abstract add_requests(obj, *args)#

Add field data requests for surfaces, scalars, vectors, or pathlines.

This method allows users to specify multiple field data requests, which will later be processed when retrieving responses.

abstract get_response()#

Retrieve the response containing data for previously added field requests.

This method processes all pending requests and returns the corresponding field data.

abstract get_surface_ids(surfaces)#

Retrieve a list of surface IDs based on input surface names or numerical identifiers.

class ansys.fluent.core.field_data_interfaces.FieldDataSource#

Bases: BaseFieldDataSource, ABC

Abstract base class for accessing field data.

This class defines the interface for retrieving field data based on user requests. In addition to the methods in BaseFieldDataSource it provides a method to create new field batch objects.

Implementing classes should define: - A method to obtain surface IDs from user-provided surface names or numerical identifiers. - A method to retrieve field data based on a given request. - A method to create new field batch.

Subclasses must provide concrete implementations for all abstract methods.

Methods:

new_batch()

Create a new field batch.

abstract new_batch()#

Create a new field batch.

exception ansys.fluent.core.field_data_interfaces.FieldUnavailable#

Bases: RuntimeError

Raised when field is unavailable.

class ansys.fluent.core.field_data_interfaces.PathlinesData(pathlines_data_for_surface)#

Bases: object

Class that enables object-style access to pathlines data structure.

Attributes:
scalar_field_name: str
vertices: npt.NDArray[np.float64] | None
lines: list[npt.NDArray[np.float64]] | None
scalar_field: npt.NDArray[np.float64] | None
pathlines_count: npt.NDArray[np.float64] | None
particle_time: npt.NDArray[np.float64] | None

Methods:

__init__(pathlines_data_for_surface)

__init__ method of PathlinesData class.

__init__(pathlines_data_for_surface)#

__init__ method of PathlinesData class.

class ansys.fluent.core.field_data_interfaces.PathlinesFieldDataRequest(field_name: str, surfaces: List[int | str | object], additional_field_name: str = '', provide_particle_time_field: bool | None = False, node_value: bool | None = True, steps: int | None = 500, step_size: float | None = 500, skip: int | None = 0, reverse: bool | None = False, accuracy_control_on: bool | None = False, tolerance: float | None = 0.001, coarsen: int | None = 1, velocity_domain: str | None = 'all-phases', zones: list | None = None, flatten_connectivity: bool = False)#

Bases: NamedTuple

Container storing parameters for path-lines field data request.

Attributes:

accuracy_control_on

Alias for field number 9

additional_field_name

Alias for field number 2

coarsen

Alias for field number 11

field_name

Alias for field number 0

flatten_connectivity

Alias for field number 14

node_value

Alias for field number 4

provide_particle_time_field

Alias for field number 3

reverse

Alias for field number 8

skip

Alias for field number 7

step_size

Alias for field number 6

steps

Alias for field number 5

surfaces

Alias for field number 1

tolerance

Alias for field number 10

velocity_domain

Alias for field number 12

zones

Alias for field number 13

accuracy_control_on: bool | None#

Alias for field number 9

additional_field_name: str#

Alias for field number 2

coarsen: int | None#

Alias for field number 11

field_name: str#

Alias for field number 0

flatten_connectivity: bool#

Alias for field number 14

node_value: bool | None#

Alias for field number 4

provide_particle_time_field: bool | None#

Alias for field number 3

reverse: bool | None#

Alias for field number 8

skip: int | None#

Alias for field number 7

step_size: float | None#

Alias for field number 6

steps: int | None#

Alias for field number 5

surfaces: List[int | str | object]#

Alias for field number 1

tolerance: float | None#

Alias for field number 10

velocity_domain: str | None#

Alias for field number 12

zones: list | None#

Alias for field number 13

class ansys.fluent.core.field_data_interfaces.ScalarFieldDataRequest(field_name: str, surfaces: List[int | str | object], node_value: bool | None = True, boundary_value: bool | None = True)#

Bases: NamedTuple

Container storing parameters for scalar field data request.

Attributes:

boundary_value

Alias for field number 3

field_name

Alias for field number 0

node_value

Alias for field number 2

surfaces

Alias for field number 1

boundary_value: bool | None#

Alias for field number 3

field_name: str#

Alias for field number 0

node_value: bool | None#

Alias for field number 2

surfaces: List[int | str | object]#

Alias for field number 1

class ansys.fluent.core.field_data_interfaces.SurfaceData(surf_data)#

Bases: object

Class that enables object-style access to surface data structures.

Attributes:
vertices: npt.NDArray[np.float64] | None
connectivity: list[npt.NDArray[np.float64]] | None
face_centroids: npt.NDArray[np.float64] | None
face_normals: npt.NDArray[np.float64] | None

Methods:

__init__(surf_data)

__init__ method of SurfaceData class.

__init__(surf_data)#

__init__ method of SurfaceData class.

class ansys.fluent.core.field_data_interfaces.SurfaceDataType(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)#

Bases: Enum

Provides surface data types.

Attributes:

FacesCentroid = 'centroid'#
FacesConnectivity = 'faces'#
FacesNormal = 'face-normal'#
Vertices = 'vertices'#
class ansys.fluent.core.field_data_interfaces.SurfaceFieldDataRequest(data_types: List[SurfaceDataType] | List[str], surfaces: List[int | str | object], overset_mesh: bool | None = False, flatten_connectivity: bool = False)#

Bases: NamedTuple

Container storing parameters for surface data request.

Attributes:

data_types

Alias for field number 0

flatten_connectivity

Alias for field number 3

overset_mesh

Alias for field number 2

surfaces

Alias for field number 1

data_types: Union[List[SurfaceDataType], List[str]]#

Alias for field number 0

flatten_connectivity: bool#

Alias for field number 3

overset_mesh: bool | None#

Alias for field number 2

surfaces: List[int | str | object]#

Alias for field number 1

class ansys.fluent.core.field_data_interfaces.VectorFieldDataRequest(field_name: str, surfaces: List[int | str | object])#

Bases: NamedTuple

Container storing parameters for vector field data request.

Attributes:

field_name

Alias for field number 0

surfaces

Alias for field number 1

field_name: str#

Alias for field number 0

surfaces: List[int | str | object]#

Alias for field number 1

ansys.fluent.core.field_data_interfaces.get_surfaces_from_objects(surfaces)#

Extract surface names or identifiers from a list of surfaces.

Parameters:
surfacesList[int | str | object]
A list of surface identifiers, which may include:
  • integers or strings representing surface names/IDs,

  • objects with a callable name() method,

  • or iterables (e.g., lists or tuples) containing such elements.

Returns:
List
A flattened list of surface names/identifiers:
  • If an element has a name() method, the result of surface.name() is used.

  • Otherwise, the element itself is returned as-is.