Skip to content

feat: gen mwf api #4063

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from
Draft
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
6 changes: 5 additions & 1 deletion codegen/allapigen.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
gt_222 = FluentVersion(version) > FluentVersion.v222
ge_231 = FluentVersion(version) >= FluentVersion.v231
ge_242 = FluentVersion(version) >= FluentVersion.v242
ge_261 = FluentVersion(version) >= FluentVersion.v261

static_infos = {
StaticInfoType.DATAMODEL_WORKFLOW: meshing._datamodel_service_se.get_static_info(
Expand All @@ -39,8 +40,11 @@
static_infos[StaticInfoType.DATAMODEL_MESHING_UTILITIES] = (
meshing._datamodel_service_se.get_static_info("MeshingUtilities")
)
if ge_261:
static_infos[StaticInfoType.DATAMODEL_MESHING_WORKFLOW] = (
meshing._datamodel_service_se.get_static_info("meshing_workflow")
)
meshing.exit()

solver = launch_fluent(
mode=FluentMode.SOLVER_ICING if ge_231 else FluentMode.SOLVER
)
Expand Down
1 change: 1 addition & 0 deletions doc/changelog.d/4063.added.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Gen mwf api
2 changes: 2 additions & 0 deletions src/ansys/fluent/core/codegen/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ class StaticInfoType(Enum):
DATAMODEL_MESHING = auto()
DATAMODEL_PART_MANAGEMENT = auto()
DATAMODEL_PM_FILE_MANAGEMENT = auto()
DATAMODEL_MESHING_WORKFLOW = auto()
# DATAMODEL_MESHING_WORKFLOW_X = auto()
DATAMODEL_FLICING = auto()
DATAMODEL_PREFERENCES = auto()
DATAMODEL_SOLVER_WORKFLOW = auto()
Expand Down
26 changes: 26 additions & 0 deletions src/ansys/fluent/core/codegen/datamodelgen.py
Original file line number Diff line number Diff line change
Expand Up @@ -188,6 +188,7 @@ def _build_command_query_docstring(
"MeshingUtilities": "meshing_utilities",
"flicing": "flicing",
"solverworkflow": "solver_workflow",
"meshing_workflow": "meshing_workflow",
}


Expand All @@ -204,6 +205,7 @@ def __init__(
version: str,
rules_save_name: str = "",
):
print(f"DataModelStaticInfo for {rules}: enter")
self.static_info_type = static_info_type
self.rules = rules
self.modes = modes
Expand All @@ -222,6 +224,7 @@ def __init__(
if len(modes) > 1:
for mode in modes[1:]:
DataModelStaticInfo._noindices.append(f"{mode}.datamodel.{rules}")
print(f"DataModelStaticInfo for {rules}: return")


class DataModelGenerator:
Expand Down Expand Up @@ -260,6 +263,23 @@ def __init__(self, version, static_infos: dict, verbose: bool = False):
("meshing",),
self.version,
)
print("check if mw in static_infos")
if StaticInfoType.DATAMODEL_MESHING_WORKFLOW in static_infos:
print("Instantiate DataModelStaticInfo and insert")
self._static_info["meshing_workflow"] = DataModelStaticInfo(
StaticInfoType.DATAMODEL_MESHING_WORKFLOW,
"meshing_workflow",
("meshing",),
self.version,
)
# if StaticInfoType.DATAMODEL_MESHING_WORKFLOW_X in static_infos:
# print("Instantiate DataModelStaticInfo and insert")
# self._static_info["meshing_workflow_x"] = DataModelStaticInfo(
# StaticInfoType.DATAMODEL_MESHING_WORKFLOW_X,
# "meshing_workflow_x",
# ("meshing",),
# self.version,
# )
if StaticInfoType.DATAMODEL_FLICING in static_infos:
self._static_info["flicing"] = DataModelStaticInfo(
StaticInfoType.DATAMODEL_FLICING,
Expand Down Expand Up @@ -607,6 +627,12 @@ def generate(version, static_infos: dict, verbose: bool = False):
StaticInfoType.DATAMODEL_PM_FILE_MANAGEMENT: meshing._datamodel_service_se.get_static_info(
"PMFileManagement"
),
StaticInfoType.DATAMODEL_MESHING_WORKFLOW: meshing._datamodel_service_se.get_static_info(
"meshing_workflow"
),
# StaticInfoType.DATAMODEL_MESHING_WORKFLOW_X: meshing._datamodel_service_se.get_static_info(
# "meshing_workflow_x"
# ),
StaticInfoType.DATAMODEL_PREFERENCES: solver._datamodel_service_se.get_static_info(
"preferences"
),
Expand Down
18 changes: 18 additions & 0 deletions src/ansys/fluent/core/session_base_meshing.py
Original file line number Diff line number Diff line change
Expand Up @@ -74,6 +74,8 @@ def __init__(
self._old_workflow = None
self._part_management = None
self._pm_file_management = None
self._meshing_workflow = None
# self._meshing_workflow_x = None
self._preferences = None
self._session_execute_tui = session_execute_tui
self._product_version = None
Expand Down Expand Up @@ -242,6 +244,22 @@ def PMFileManagement(self):
self._pm_file_management = _make_datamodel_module(self, "PMFileManagement")
return self._pm_file_management

@property
def meshing_workflow(self):
"""Full API to meshing and meshing_workflow."""
if self._meshing_workflow is None:
self._meshing_workflow = _make_datamodel_module(self, "meshing_workflow")
return self._meshing_workflow

# @property
# def meshing_workflow_x(self):
# """Full API to meshing and meshing_workflow."""
# if self._meshing_workflow_x is None:
# self._meshing_workflow_x = _make_datamodel_module(
# self, "meshing_workflow_x"
# )
# return self._meshing_workflow_x

@property
def preferences(self):
"""Datamodel root of preferences."""
Expand Down
10 changes: 10 additions & 0 deletions src/ansys/fluent/core/session_meshing.py
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,16 @@ def PMFileManagement(self):
"""Part management file management datamodel root."""
return super(Meshing, self).PMFileManagement

@property
def meshing_workflow(self):
"""Full API to meshing and meshing_workflow."""
return super(Meshing, self).meshing_workflow

# @property
# def meshing_workflow_x(self):
# """Full API to dummy meshing and meshing_workflow."""
# return super(Meshing, self).meshing_workflow_x

@property
def preferences(self):
"""Preferences datamodel root."""
Expand Down
10 changes: 10 additions & 0 deletions src/ansys/fluent/core/session_pure_meshing.py
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,16 @@ def PMFileManagement(self):
"""Datamodel root of PMFileManagement."""
return self._base_meshing.PMFileManagement

@property
def meshing_workflow(self):
"""Full API to meshing and meshing_workflow."""
return self._base_meshing.meshing_workflow

# @property
# def meshing_workflow_x(self):
# """Full API to dummy meshing and meshing_workflow."""
# return self._base_meshing.meshing_workflow_x

@property
def preferences(self):
"""Datamodel root of preferences."""
Expand Down
4 changes: 4 additions & 0 deletions src/ansys/fluent/core/session_pure_meshing.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,10 @@ class PureMeshing:
@property
def PMFileManagement(self) -> pmfilemanagement_root: ...
@property
def meshing_workflow(self) -> meshing_workflow_root: ...
@property
def meshing_x_workflow(self) -> meshing_workflow_x_root: ...
@property
def preferences(self) -> preferences_root: ...
def transfer_mesh_to_solvers(
self,
Expand Down
Loading