Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion ansys/rep/client/jms/resource/task_definition.py
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ class TaskDefinition(Object):
success_criteria : SuccessCriteria, optional
licensing : Licensing, optional
A :class:`Licensing` object.
software_requirements : Software, optional
software_requirements : list[Software], optional
A list of :class:`Software` objects.
resource_requirements : ResourceRequirements, optional
A :class:`ResourceRequirements` object.
Expand Down
6 changes: 3 additions & 3 deletions ansys/rep/client/jms/resource/task_definition_template.py
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ class TaskDefinitionTemplate(Object):
Version of the template
description : str, optional
Description of the template
software_requirements : Software, optional
software_requirements : list[Software], optional
A list of required software.
resource_requirements : TemplateResourceRequirements, optional
Includes hardware requirements such as number of cores, memory and disk space.
Expand All @@ -168,9 +168,9 @@ class TaskDefinitionTemplate(Object):
Whether to run task with the execution command or the execution script.
execution_script_storage_id : str, optional
Storage ID of the script to execute (command or execution script is required).
input_files : TemplateInputFile, optional
input_files : list[TemplateInputFile], optional
List of predefined input files.
output_files : TemplateOutputFile, optional
output_files : list[TemplateOutputFile], optional
List of predefined output files.

"""
Expand Down
1 change: 1 addition & 0 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -242,6 +242,7 @@
"client_version": __version__,
"version_no_dots": __version_no_dots__,
"external_version": __external_version__,
"ansys_version": __external_version__,
}

# numpydoc configuration
Expand Down
1 change: 1 addition & 0 deletions doc/source/examples/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ Many of the Python scripts can be executed with the following command line argum
* ``-U``, ``--url``: url or the REP server (default: https://localhost:8443/rep)
* ``-u``, ``--username``: REP username (default: repadmin)
* ``-p``, ``--password``: REP password (default: repadmin)
* ``-v``, ``--ansys-version``: Ansys version (default: |ansys_version|)

A link to download all the required resources is available at each example page.

Expand Down
38 changes: 16 additions & 22 deletions examples/cfx_static_mixer/project_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
import logging
import os

from ansys.rep.client import Client, REPError
from ansys.rep.client import __external_version__ as ansys_version
from ansys.rep.client import Client, REPError, __external_version__
from ansys.rep.client.jms import (
File,
JmsApi,
Expand All @@ -24,7 +23,7 @@
log = logging.getLogger(__name__)


def create_project(client, name, num_jobs=20, use_exec_script=False):
def create_project(client, name, num_jobs=20, version=__external_version__):
"""
Create a REP project consisting of an ANSYS CFX model.
"""
Expand Down Expand Up @@ -63,15 +62,14 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
)
)

if use_exec_script:
files.append(
File(
name="exec_cfx",
evaluation_path="exec_cfx.py",
type="application/x-python-code",
src=os.path.join(cwd, "..", "exec_scripts", "exec_cfx.py"),
)
files.append(
File(
name="exec_cfx",
evaluation_path="exec_cfx.py",
type="application/x-python-code",
src=os.path.join(cwd, "..", "exec_scripts", "exec_cfx.py"),
)
)

files.append(
File(
Expand Down Expand Up @@ -99,11 +97,11 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
job_def = JobDefinition(name="JobDefinition.1", active=True)

# Task definition
num_input_files = 4 if use_exec_script else 3
num_input_files = 4
task_def = TaskDefinition(
name="CFX_run",
software_requirements=[
Software(name="Ansys CFX", version=ansys_version),
Software(name="Ansys CFX", version=version),
],
execution_command=None, # only execution script supported initially
resource_requirements=ResourceRequirements(
Expand All @@ -125,10 +123,9 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
licensing=Licensing(enable_shared_licensing=False), # Shared licensing disabled by default
)

if use_exec_script:
task_def.use_execution_script = True
task_def.execution_command = None
task_def.execution_script_id = file_ids["exec_cfx"]
task_def.use_execution_script = True
task_def.execution_command = None
task_def.execution_script_id = file_ids["exec_cfx"]

task_defs = [task_def]
task_defs = project_api.create_task_definitions(task_defs)
Expand All @@ -155,10 +152,10 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
parser = argparse.ArgumentParser()
parser.add_argument("-n", "--name", type=str, default="cfx_static_mixer")
parser.add_argument("-j", "--num-jobs", type=int, default=1)
parser.add_argument("-es", "--use-exec-script", default=True, action="store_true")
parser.add_argument("-U", "--url", default="https://127.0.0.1:8443/rep")
parser.add_argument("-u", "--username", default="repadmin")
parser.add_argument("-p", "--password", default="repadmin")
parser.add_argument("-v", "--ansys-version", default=__external_version__)
args = parser.parse_args()

logger = logging.getLogger()
Expand All @@ -169,10 +166,7 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
client = Client(rep_url=args.url, username=args.username, password=args.password)
log.info(f"REP URL: {client.rep_url}")
proj = create_project(
client=client,
name=args.name,
num_jobs=args.num_jobs,
use_exec_script=args.use_exec_script,
client=client, name=args.name, num_jobs=args.num_jobs, version=args.ansys_version
)

except REPError as e:
Expand Down
10 changes: 5 additions & 5 deletions examples/fluent_2d_heat_exchanger/project_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,7 @@
import logging
import os

from ansys.rep.client import Client, REPError
from ansys.rep.client import __external_version__ as ansys_version
from ansys.rep.client import Client, REPError, __external_version__
from ansys.rep.client.jms import (
File,
JmsApi,
Expand All @@ -23,7 +22,7 @@
log = logging.getLogger(__name__)


def main(client: Client, name: str) -> Project:
def main(client: Client, name: str, version: str) -> Project:

log.info("=== Create Project")
jms_api = JmsApi(client)
Expand Down Expand Up @@ -75,7 +74,7 @@ def main(client: Client, name: str) -> Project:
# Task Definition
task_def = TaskDefinition(
name="Fluent Run",
software_requirements=[Software(name="Ansys Fluent", version=ansys_version)],
software_requirements=[Software(name="Ansys Fluent", version=version)],
execution_command="%executable% 2d -g -tm %resource:num_cores% -i %file:journal%",
resource_requirements=ResourceRequirements(
cpu_core_usage=4,
Expand Down Expand Up @@ -115,6 +114,7 @@ def main(client: Client, name: str) -> Project:
parser.add_argument("-U", "--url", default="https://localhost:8443/rep")
parser.add_argument("-u", "--username", default="repadmin")
parser.add_argument("-p", "--password", default="repadmin")
parser.add_argument("-v", "--ansys-version", default=__external_version__)

args = parser.parse_args()

Expand All @@ -125,6 +125,6 @@ def main(client: Client, name: str) -> Project:
client = Client(rep_url=args.url, username=args.username, password=args.password)

try:
main(client, name=args.name)
main(client, name=args.name, version=args.ansys_version)
except REPError as e:
log.error(str(e))
39 changes: 17 additions & 22 deletions examples/fluent_nozzle/project_setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@
import logging
import os

from ansys.rep.client import Client, REPError
from ansys.rep.client import __external_version__ as ansys_version
from ansys.rep.client import Client, REPError, __external_version__
from ansys.rep.client.jms import (
File,
JmsApi,
Expand All @@ -24,13 +23,13 @@
log = logging.getLogger(__name__)


def create_project(client, name, num_jobs=20, use_exec_script=False):
def create_project(client, name, num_jobs=20, version=__external_version__):
"""
Create a REP project consisting of an Ansys Fluent model.
"""
jms_api = JmsApi(client)
log.debug("=== Project")
proj = Project(name=name, priority=1, active=False)
proj = Project(name=name, priority=1, active=True)
proj = jms_api.create_project(proj, replace=True)

project_api = ProjectApi(client, proj.id)
Expand All @@ -55,15 +54,14 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
)
)

if use_exec_script:
files.append(
File(
name="exec_fluent",
evaluation_path="exec_fluent.py",
type="application/x-python-code",
src=os.path.join(cwd, "..", "exec_scripts", "exec_fluent.py"),
)
files.append(
File(
name="exec_fluent",
evaluation_path="exec_fluent.py",
type="application/x-python-code",
src=os.path.join(cwd, "..", "exec_scripts", "exec_fluent.py"),
)
)

files.append(
File(
Expand Down Expand Up @@ -119,11 +117,11 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
job_def = JobDefinition(name="JobDefinition.1", active=True)

# Task definition
num_input_files = 3 if use_exec_script else 2
num_input_files = 3
task_def = TaskDefinition(
name="Fluent_run",
software_requirements=[
Software(name="Ansys Fluent", version=ansys_version),
Software(name="Ansys Fluent", version=version),
],
execution_command=None, # Only execution currently supported
resource_requirements=ResourceRequirements(
Expand Down Expand Up @@ -158,10 +156,9 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
licensing=Licensing(enable_shared_licensing=False), # Shared licensing disabled by default
)

if use_exec_script:
task_def.use_execution_script = True
task_def.execution_command = None
task_def.execution_script_id = file_ids["exec_fluent"]
task_def.use_execution_script = True
task_def.execution_command = None
task_def.execution_script_id = file_ids["exec_fluent"]

task_defs = [task_def]
task_defs = project_api.create_task_definitions(task_defs)
Expand Down Expand Up @@ -191,6 +188,7 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
parser.add_argument("-U", "--url", default="https://127.0.0.1:8443/rep")
parser.add_argument("-u", "--username", default="repadmin")
parser.add_argument("-p", "--password", default="repadmin")
parser.add_argument("-v", "--ansys-version", default=__external_version__)
args = parser.parse_args()

logger = logging.getLogger()
Expand All @@ -201,10 +199,7 @@ def create_project(client, name, num_jobs=20, use_exec_script=False):
client = Client(rep_url=args.url, username=args.username, password=args.password)
log.info(f"REP URL: {client.rep_url}")
proj = create_project(
client=client,
name=args.name,
num_jobs=args.num_jobs,
use_exec_script=args.use_exec_script,
client=client, name=args.name, num_jobs=args.num_jobs, version=args.ansys_version
)

except REPError as e:
Expand Down
Loading