ansys.dyna.core.solver.launcher#

Module for launching the pydyna solver service locally.

Attributes#

Classes#

ServerThread

Provides server thread properties.

Functions#

check_ports(port_range[, ip])

Check the state of ports in a port range.

port_in_use(port[, host])

Determine if a port is in use at a given host.

launch_grpc(→ tuple)

Launch the solver service locally in gRPC mode.

launch_remote_dyna(→ ansys.dyna.core.solver.DynaSolver)

Start DYNA remotely using the product instance management API.

launch_dyna(→ ansys.dyna.core.solver.DynaSolver)

Start DYNA locally.

Module Contents#

ansys.dyna.core.solver.launcher.LOCALHOST = '127.0.0.1'[source]#
ansys.dyna.core.solver.launcher.DYNA_DEFAULT_PORT = 5000[source]#
ansys.dyna.core.solver.launcher.SERVER_SOLVER_VERSION = 'v0.4.12'[source]#
ansys.dyna.core.solver.launcher.MAX_MESSAGE_LENGTH[source]#
ansys.dyna.core.solver.launcher.check_ports(port_range, ip='localhost')[source]#

Check the state of ports in a port range.

Parameters:
port_range
ipstr, optional

IP address. The default is "localhost", in which case ``”127.0.0.1”``is used.

ansys.dyna.core.solver.launcher.port_in_use(port, host=LOCALHOST)[source]#

Determine if a port is in use at a given host.

Parameters:
portint

Port.

host
Host. The default is LOCALHOST, in which case "127.0.0.1"

is used.

Returns:
True when a port is in use at the given host, False otherwise.

Notes

The port must “bind” the address. Just checking if a socket can be created is insufficient because it is possible to run into permission errors like this one:

“An attempt was made to access a socket in a way forbidden by its access permissions.”

ansys.dyna.core.solver.launcher.launch_grpc(port=DYNA_DEFAULT_PORT, ip=LOCALHOST, server_path='') tuple[source]#

Launch the solver service locally in gRPC mode.

Parameters:
portint, optional

Port to launch the solver service on. The default is DYNAPRE_DEFAULT_PORT. The final port is the first port available after (or including) this port.

ipstr, optional

IP address. The default is LOCALHOST, in which case "127.0.0.1" is used.

server_pathstr, optional

Path to the solver service. The default is None.

Returns:
int

Port number that the gRPC instance started on.

ansys.dyna.core.solver.launcher.launch_remote_dyna(version=None, cleanup_on_exit=True) ansys.dyna.core.solver.DynaSolver[source]#

Start DYNA remotely using the product instance management API.

When calling this method, you need to ensure that you are in an environment where PyPIM is configured. This can be verified with pypim.is_configured.

Parameters:
versionstr, optional

The DYNA version to run, in the 3 digits format, such as “212”.

If unspecified, the version will be chosen by the server.

cleanup_on_exitbool, optional

Exit DYNA when python exits or the dyna Python instance is garbage collected.

If unspecified, it will be cleaned up.

Returns:
ansys.dyna.core.solver.DynaSolver

An instance of DynaSolver.

ansys.dyna.core.solver.launcher.launch_dyna(port=None, ip=None) ansys.dyna.core.solver.DynaSolver[source]#

Start DYNA locally.

Parameters:
portint

Port to launch DYNA gRPC on. Final port will be the first port available after (or including) this port. Defaults to 5000.

ipbool, optional

You can provide a hostname as an alternative to an IP address. Defaults to '127.0.0.1'.

Examples

Launch DYNA using the best protocol.

>>> from ansys.dyna.core.solver import launch_dyna
>>> solution = launch_dyna()

Connect to an existing instance of DYNA at IP 192.168.1.30 and port 5000.

>>> solution = launch_dyna(ip='192.168.1.30',port=5000)
class ansys.dyna.core.solver.launcher.ServerThread(threadID, port, ip, server_path)[source]#

Provides server thread properties.

Parameters:
threadID
port
ip
server_path
threadID[source]#
port[source]#
ip[source]#
server_path[source]#
process = None[source]#
run()[source]#
termination()[source]#