fluent_connection#

Provides a module for Fluent connection functionality.

Classes:

ErrorState([name, details])

Object to indicate the error state of the connected Fluent client.

FluentConnection([ip, port, password, ...])

Encapsulates a Fluent connection.

FluentConnectionProperties([ip, port, ...])

Stores Fluent connection properties, including connection IP, port and password; Fluent Cortex working directory, process ID and hostname; and whether Fluent was launched in a docker container.

MonitorThread()

A class used for monitoring a Fluent session.

Exceptions:

PortNotProvided()

Raised when port is not provided.

UnsupportedRemoteFluentInstance()

Raised when 'wait_process_finished' does not support remote Fluent session.

WaitTypeError()

Raised when invalid wait type is provided.

Functions:

get_container(container_id_or_name)

Get the Docker container object.

class ansys.fluent.core.fluent_connection.ErrorState(name='', details='')#

Bases: object

Object to indicate the error state of the connected Fluent client.

Examples

>>> import ansys.fluent.core as pyfluent
>>> session = pyfluent.launch_fluent()
>>> session._fluent_connection._error_state.set("test", "test details")
>>> session._fluent_connection._error_state.name
'test'
>>> session._fluent_connection._error_state.details
'test details'
>>> session._fluent_connection._error_state.clear()
>>> session._fluent_connection._error_state.name
''

Methods:

clear()

Method to clear the current error state, emptying the error name and details properties.

set(name, details)

Method to set the error state name and details to new values.

Attributes:

details

Get details.

name

Get name.

clear()#

Method to clear the current error state, emptying the error name and details properties.

property details#

Get details.

property name#

Get name.

set(name, details)#

Method to set the error state name and details to new values.

class ansys.fluent.core.fluent_connection.FluentConnection(ip=None, port=None, password=None, channel=None, cleanup_on_exit=True, start_transcript=True, remote_instance=None, launcher_args=None, inside_container=None)#

Bases: object

Encapsulates a Fluent connection.

Methods

check_health()

Check health of Fluent connection.

exit()

Close the Fluent connection and exit Fluent.

Methods:

check_health()

Check health of Fluent connection.

create_grpc_service(service, *args)

Create a gRPC service.

exit([timeout, timeout_force, wait])

Close the Fluent connection and exit Fluent.

force_exit()

Immediately terminates the Fluent client, losing unsaved progress and data.

register_finalizer_cb(cb)

Register a callback to run with the finalizer.

wait_process_finished([wait])

Returns True if local Fluent processes have finished, False if they are still running when wait limit (default 60 seconds) is reached.

Attributes:

fluent_build_info

Get Fluent build info.

check_health()#

Check health of Fluent connection.

create_grpc_service(service, *args)#

Create a gRPC service.

Parameters:
serviceAny

service class

argsAny, optional

additional arguments, by default empty

Returns:
Any

service object

exit(timeout=None, timeout_force=True, wait=False)#

Close the Fluent connection and exit Fluent.

Parameters:
timeoutfloat, optional

Time in seconds before considering that the exit request has timed out. If omitted or specified as None, then the request will not time out and will lock up the interpreter while waiting for a response. Will return earlier if request succeeds earlier.

timeout_forcebool, optional

If not specified, defaults to True. If True, attempts to terminate the Fluent process if exit request reached timeout. If no timeout is set, this option is ignored. Executes force_exit() or force_exit_container(), depending on how Fluent was launched.

waitfloat, int or bool, optional

Specifies whether to wait for local Fluent processes to finish completely before proceeding. If omitted or specified as False, will proceed as usual without waiting for the Fluent processes to finish. Can be set to True which will wait for up to 60 seconds, or set to a float or int value to specify the wait limit. If wait limit is reached, will forcefully terminate the Fluent process. If set to wait, will return as soon as processes completely finish. Does not work for remote Fluent processes.

Notes

Can also set the PYFLUENT_TIMEOUT_FORCE_EXIT environment variable to specify the number of seconds and alter the default timeout value. Setting this env var to a non-number value, such as OFF, will return this function to default behavior. Note that the environment variable will be ignored if timeout is specified when calling this function.

Examples

>>> import ansys.fluent.core as pyfluent
>>> session = pyfluent.launch_fluent()
>>> session.exit()
property fluent_build_info: str#

Get Fluent build info.

force_exit()#

Immediately terminates the Fluent client, losing unsaved progress and data.

Notes

If the Fluent session is responsive, prefer using exit() instead.

Examples

>>> import ansys.fluent.core as pyfluent
>>> session = pyfluent.launch_fluent()
>>> session.force_exit()
register_finalizer_cb(cb)#

Register a callback to run with the finalizer.

wait_process_finished(wait=60)#

Returns True if local Fluent processes have finished, False if they are still running when wait limit (default 60 seconds) is reached. Immediately cancels and returns None if wait is set to False.

Parameters:
waitfloat, int or bool, optional

How long to wait for processes to finish before returning, by default 60 seconds. Can also be set to True, which will result in waiting indefinitely.

Raises:
UnsupportedRemoteFluentInstance

If current Fluent instance is running remotely.

WaitTypeError

If wait is specified improperly.

class ansys.fluent.core.fluent_connection.FluentConnectionProperties(ip=None, port=None, password=None, cortex_pwd=None, cortex_pid=None, cortex_host=None, fluent_host_pid=None, inside_container=None)#

Bases: object

Stores Fluent connection properties, including connection IP, port and password; Fluent Cortex working directory, process ID and hostname; and whether Fluent was launched in a docker container.

Examples

These properties are also available through the session object and can be accessed as:

>>> import ansys.fluent.core as pyfluent
>>> session = pyfluent.launch_fluent()
>>> session.connection_properties.list_names()
['ip', 'port', 'password', 'cortex_pwd', 'cortex_pid', 'cortex_host', 'inside_container']
>>> session.connection_properties.ip
'127.0.0.1'

Attributes:

cortex_host

cortex_pid

cortex_pwd

fluent_host_pid

inside_container

ip

password

port

Methods:

list_names()

Returns list with all property names.

list_values()

Returns dictionary with all property names and values.

cortex_host: Optional[str] = None#
cortex_pid: Optional[int] = None#
cortex_pwd: Optional[str] = None#
fluent_host_pid: Optional[int] = None#
inside_container: Union[bool, Container, None] = None#
ip: Optional[str] = None#
list_names()#

Returns list with all property names.

list_values()#

Returns dictionary with all property names and values.

password: Optional[str] = None#
port: Optional[int] = None#
class ansys.fluent.core.fluent_connection.MonitorThread#

Bases: Thread

A class used for monitoring a Fluent session.

Daemon thread which will ensure cleanup of session objects, shutdown of non-deamon threads etc.

Attributes:
cbsList[Callable]

Cleanup/shutdown functions

Methods:

run()

Run monitor thread.

run()#

Run monitor thread.

exception ansys.fluent.core.fluent_connection.PortNotProvided#

Bases: ValueError

Raised when port is not provided.

exception ansys.fluent.core.fluent_connection.UnsupportedRemoteFluentInstance#

Bases: ValueError

Raised when ‘wait_process_finished’ does not support remote Fluent session.

exception ansys.fluent.core.fluent_connection.WaitTypeError#

Bases: TypeError

Raised when invalid wait type is provided.

ansys.fluent.core.fluent_connection.get_container(container_id_or_name)#

Get the Docker container object.

Returns:
Union[bool, Container, None]

If the system is not correctly set up to run Docker containers, returns None. If the container was not found, returns False. If the container is found, returns the associated Docker container object.

Notes

See Docker container for more information.