ansys.dpf.core.BaseService#
- class ansys.dpf.core.BaseService(server=None, load_operators=True, timeout=5)#
The Base Service class allows to make generic requests to dpf’s server.
For example, information about the server can be requested, uploading/downloading file from and to the server can be done, new operators plugins can be loaded… Most of the request done by the BaseService class are wrapped by functions.
- Parameters:
server (server.DPFServer, optional) – Server with channel connected to the remote or local instance. When
None
, attempts to use the global server.timeout (float, optional) – Fails when a connection takes longer than
timeout
seconds to initialize.load_operators (bool, optional) – Automatically load the math operators
Examples
Connect to an existing DPF server >>> from ansys.dpf import core as dpf >>> #server = dpf.connect_to_server(ip=’127.0.0.1’, port = 50054, as_global=False) >>> #base = dpf.BaseService(server=server)
- _server#
- _collection_api = None#
- _api#
- _api_tmp_dir#
- make_tmp_dir_server()#
Create a temporary folder server side. Only one temporary folder can be created by server instance.
The folder will be deleted when the server is stopped.
- Returns:
path – path to the temporary dir
- Return type:
str
- load_library(file_path, name='', symbol='LoadOperators', generate_operators=False)#
Dynamically load an operators library for dpf.core.
Code containing this library’s operators is generated in ansys.dpf.core.operators
- Parameters:
file_path (str or os.PathLike) – file_path of the operator library.
name (str, optional) – Library name. Probably optional
generate_operators (bool, optional) – Whether operators code generation should be done or not (default is False).
Examples
Load the mesh operators for Windows (for Linux, just use ‘libmeshOperatorsCore.so’ instead of ‘meshOperatorsCore.dll’)
>>> from ansys.dpf import core as dpf >>> base = dpf.BaseService() >>> # base.load_library('meshOperatorsCore.dll', 'mesh_operators')
- apply_context(context)#
Define the settings that will be used to load DPF’s plugins.
A DPF xml file can be used to list the plugins and set up variables.
- Parameters:
context (ServerContext) – The context allows to choose which capabilities are available server side.
Notes
Available with server’s version starting at 6.0 (Ansys 2023R2).
- initialize_with_context(context)#
Define the settings that will be used to initialize DPF.
A DPF xml file can be used to list the plugins and set up variables.
- Parameters:
context (ServerContext) – The context allows to choose which capabilities are available server side.
Notes
Available with server’s version starting at 4.0 (Ansys 2022R2) for InProcess Server and starting at 6.0 (Ansys 2023R2) for Grpc Servers.
- initialize()#
Initialize a DPF server without a context.
- release_dpf()#
Clear the available Operators and release licenses when necessary.
Notes
Available with server’s version starting at 6.0 (Ansys 2023R2).
- get_runtime_core_config()#
Determine runtime configuration.
- Returns:
Runtime configuration options in DataProcessingCore
- Return type:
- property server_info#
Send the request for server information and keep the info into a dictionary.
- Returns:
info – dictionary with “server_ip”, “server_port”, “server_process_id” “server_version” keys
- Return type:
dictionary
- _get_server_info()#
- _description(dpf_entity_message)#
Ask the server to describe the entity in input.
- Parameters:
dpf_entity_message (core.Operator._message, core.Workflow._message,) – core.Scoping._message, core.Field._message,
core.FieldContainer._message
core.MeshedRegion._message...
- Returns:
description
- Return type:
str
- _get_separator(path)#
- download_file(server_file_path, to_client_file_path)#
Download a file from the server to the target client file path.
- Parameters:
server_file_path (str or os.PathLike) – file path to download on the server side
to_client_file_path (str or os.PathLike) – file path target where the file will be located client side
- _set_collection_api()#
- download_files_in_folder(server_folder_path, to_client_folder_path, specific_extension=None)#
Download all the files from a folder of the server to the target client folder path.
- Parameters:
server_folder_path (str or os.PathLike) – folder path to download on the server side
to_client_folder_path (str or os.PathLike) – folder path target where the files will be located client side
(optional) (specific_extension) – copies only the files with the given extension
- Returns:
paths – new file paths client side
- Return type:
list of str
- upload_files_in_folder(to_server_folder_path, client_folder_path, specific_extension=None)#
Upload all the files from a folder of the client to the target server folder path.
- Parameters:
to_server_folder_path (str or os.PathLike) – folder path target where will be uploaded files on the server side
client_folder_path (str or os.PathLike) – folder path where the files that must be uploaded are located on client side
(optional) (specific_extension) – copies only the files with the given extension
- Returns:
paths – new file paths server side
- Return type:
list of str
- _upload_and_get_server_path(specific_extension, f, filename, server_paths, to_server_folder_path, subdirectory=None)#
- upload_file(file_path, to_server_file_path)#
Upload a file from the client to the target server file path.
- Parameters:
file_path (str or os.PathLike) – file path on the client side to upload
to_server_file_path (str or os.PathLike) – file path target where the file will be located server side
- Returns:
server_file_path – path generated server side
- Return type:
str
- upload_file_in_tmp_folder(file_path, new_file_name=None)#
Upload a file from the client to a temporary server folder deleted on shutdown.
- Parameters:
file_path (str or os.PathLike) – file path on the client side to upload
new_file_name (str, optional) – name to give to the file server side, if no name is specified, the same name as the input file is given
- Returns:
server_file_path – path generated server side
- Return type:
str
- _prepare_shutdown()#
- _release_server()#
Release the reference taken by this client on the server.
Notes
Should be used only if the server was started by this client’s instance. To use only with server version > 4.0