Skip to content

chore: Updates for 26R1 #4004

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 8 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
51 changes: 42 additions & 9 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -115,7 +115,7 @@ jobs:
needs: [docs-style]
runs-on: [self-hosted, pyfluent]
env:
DOC_DEPLOYMENT_IMAGE_TAG: v25.1.0
DOC_DEPLOYMENT_IMAGE_TAG: v25.2.0
PYFLUENT_CONTAINER_MOUNT_SOURCE: "/home/ansys/Downloads/ansys_fluent_core_examples"

steps:
Expand Down Expand Up @@ -463,26 +463,57 @@ jobs:
doc/source/api/core/meshing/datamodel
doc/source/api/core/solver/tui
doc/source/api/core/solver/datamodel
key: API-Code-v${{ env.API_CODE_CACHE }}-${{ steps.version.outputs.PYFLUENT_VERSION }}-${{ vars.FLUENT_STABLE_IMAGE_DEV }}-${{ hashFiles('src/ansys/fluent/core/codegen/**') }}
restore-keys: API-Code-v${{ env.API_CODE_CACHE }}-${{ steps.version.outputs.PYFLUENT_VERSION }}-${{ vars.FLUENT_STABLE_IMAGE_DEV }}
key: API-Code-v${{ env.API_CODE_CACHE }}-${{ steps.version.outputs.PYFLUENT_VERSION }}-v25.2.0-${{ hashFiles('src/ansys/fluent/core/codegen/**') }}
restore-keys: API-Code-v${{ env.API_CODE_CACHE }}-${{ steps.version.outputs.PYFLUENT_VERSION }}-v25.2.0

- name: Pull 25.2 Fluent docker image
if: steps.cache-251-api-code.outputs.cache-hit != 'true'
if: steps.cache-252-api-code.outputs.cache-hit != 'true'
run: make docker-pull
env:
FLUENT_IMAGE_TAG: ${{ vars.FLUENT_STABLE_IMAGE_DEV }}
FLUENT_IMAGE_TAG: v25.2.0

- name: Run 25.2 API codegen
if: steps.cache-252-api-code.outputs.cache-hit != 'true'
run: make api-codegen
env:
FLUENT_IMAGE_TAG: ${{ vars.FLUENT_STABLE_IMAGE_DEV }}
FLUENT_IMAGE_TAG: v25.2.0
PYFLUENT_CODEGEN_SKIP_BUILTIN_SETTINGS: 1

- name: Print 25.2 Fluent version info
run: |
cat src/ansys/fluent/core/generated/fluent_version_252.py
python -c "from ansys.fluent.core.generated.solver.settings_252 import SHASH; print(f'SETTINGS_HASH = {SHASH}')"

- name: Cache 26.1 API Code
uses: actions/cache@v4
id: cache-261-api-code
with:
path:
src/ansys/fluent/core/generated
doc/source/api/core/meshing/tui
doc/source/api/core/meshing/datamodel
doc/source/api/core/solver/tui
doc/source/api/core/solver/datamodel
key: API-Code-v${{ env.API_CODE_CACHE }}-${{ steps.version.outputs.PYFLUENT_VERSION }}-${{ vars.FLUENT_STABLE_IMAGE_DEV }}-${{ hashFiles('src/ansys/fluent/core/codegen/**') }}
restore-keys: API-Code-v${{ env.API_CODE_CACHE }}-${{ steps.version.outputs.PYFLUENT_VERSION }}-${{ vars.FLUENT_STABLE_IMAGE_DEV }}

- name: Pull 26.1 Fluent docker image
if: steps.cache-261-api-code.outputs.cache-hit != 'true'
run: make docker-pull
env:
FLUENT_IMAGE_TAG: ${{ vars.FLUENT_STABLE_IMAGE_DEV }}

- name: Run 26.1 API codegen
if: steps.cache-261-api-code.outputs.cache-hit != 'true'
run: make api-codegen
env:
FLUENT_IMAGE_TAG: ${{ vars.FLUENT_STABLE_IMAGE_DEV }}

- name: Print 26.1 Fluent version info
run: |
cat src/ansys/fluent/core/generated/fluent_version_261.py
python -c "from ansys.fluent.core.generated.solver.settings_261 import SHASH; print(f'SETTINGS_HASH = {SHASH}')"

- name: Install again after codegen
run: |
rm -rf dist
Expand Down Expand Up @@ -525,9 +556,11 @@ jobs:
version: 251
- image-tag: v25.2.0
version: 252
- image-tag: v26.1.0
version: 261
timeout-minutes: 60
env:
FLUENT_IMAGE_TAG: ${{ matrix.version == 252 && vars.FLUENT_STABLE_IMAGE_DEV || matrix.image-tag }}
FLUENT_IMAGE_TAG: ${{ matrix.version == 261 && vars.FLUENT_STABLE_IMAGE_DEV || matrix.image-tag }}

steps:

Expand Down Expand Up @@ -579,8 +612,8 @@ jobs:
if: always()
run: make cleanup-previous-docker-containers

- name: Upload 25.1 Coverage Artifacts
if: matrix.image-tag == 'v25.1.0'
- name: Upload 25.2 Coverage Artifacts
if: matrix.image-tag == 'v25.2.0'
uses: actions/upload-artifact@v4
with:
name: coverage_report
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/doc-build-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ on:

env:
DOCUMENTATION_CNAME: 'fluent.docs.pyansys.com'
DOC_DEPLOYMENT_IMAGE_TAG: v25.1.0
DOC_DEPLOYMENT_IMAGE_TAG: v25.2.0
ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }}
PYFLUENT_TIMEOUT_FORCE_EXIT: 30
PYFLUENT_LAUNCH_CONTAINER: 1
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/execute-examples-weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,10 @@ jobs:
fail-fast: false
matrix:
include:
- image-tag: v25.1.0
version: 251
- image-tag: v25.2.0
version: 252
- image-tag: v26.1.0
version: 261

steps:
- uses: actions/checkout@v4
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ concurrency:
env:
ANSYSLMD_LICENSE_FILE: ${{ format('1055@{0}', secrets.LICENSE_SERVER) }}
MAIN_PYTHON_VERSION: '3.10'
FLUENT_IMAGE_TAG: v25.2.0
FLUENT_VERSION: 252
FLUENT_IMAGE_TAG: v26.1.0
FLUENT_VERSION: 261

jobs:
test:
Expand Down
8 changes: 6 additions & 2 deletions .github/workflows/test-run-custom.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,10 @@ jobs:
version: 242
- image-tag: v25.1.0
version: 251
- image-tag: v25.2.0
version: 252
- image-tag: v26.1.0
version: 261

steps:
- uses: actions/checkout@v4
Expand Down Expand Up @@ -75,13 +79,13 @@ jobs:
password: ${{ secrets.GITHUB_TOKEN }}

- name: Pull Fluent docker image
if: matrix.image-tag != 'v25.1.0'
if: matrix.image-tag != 'v26.1.0'
run: make docker-pull
env:
FLUENT_IMAGE_TAG: ${{ matrix.image-tag }}

- name: Pull Fluent docker image dev
if: matrix.image-tag == 'v25.1.0'
if: matrix.image-tag == 'v26.1.0'
run: make docker-pull
env:
FLUENT_IMAGE_TAG: ${{ vars.FLUENT_STABLE_IMAGE_DEV }}
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/test-run-dev-version-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ env:
PYFLUENT_WATCHDOG_DEBUG: 'OFF'
PYFLUENT_HIDE_LOG_SECRETS: 1
MAIN_PYTHON_VERSION: '3.10'
FLUENT_IMAGE_TAG: v25.2.0
FLUENT_VERSION: 252
FLUENT_IMAGE_TAG: v26.1.0
FLUENT_VERSION: 261

jobs:
test:
Expand Down Expand Up @@ -105,5 +105,5 @@ jobs:
steps:
- uses: actions/checkout@v4

- name: Delete 25.1 Fluent docker image
- name: Clean up Fluent docker image
run: docker rmi -f ghcr.io/ansys/pyfluent:${{ env.FLUENT_IMAGE_TAG }}
4 changes: 2 additions & 2 deletions .github/workflows/test-run-nightly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ env:
PYFLUENT_WATCHDOG_DEBUG: 'OFF'
PYFLUENT_HIDE_LOG_SECRETS: 1
MAIN_PYTHON_VERSION: '3.10'
FLUENT_IMAGE_TAG: v25.1.0
FLUENT_VERSION: 251
FLUENT_IMAGE_TAG: v25.2.0
FLUENT_VERSION: 252

jobs:
test:
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/test-run-old-versions-weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -161,6 +161,10 @@ jobs:
version: 232
- image-tag: v24.1.0
version: 241
- image-tag: v24.2.0
version: 242
- image-tag: v25.1.0
version: 251

steps:

Expand Down
10 changes: 5 additions & 5 deletions .github/workflows/test-run-solvermode-weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ env:
PYFLUENT_LOGGING: 'DEBUG'
PYFLUENT_WATCHDOG_DEBUG: 'OFF'
PYFLUENT_HIDE_LOG_SECRETS: 1
FLUENT_IMAGE_TAG: v25.1.0
FLUENT_IMAGE_TAG: v25.2.0
MAIN_PYTHON_VERSION: '3.10'

jobs:
Expand Down Expand Up @@ -55,15 +55,15 @@ jobs:
username: ansys-bot
password: ${{ secrets.GITHUB_TOKEN }}

- name: Pull 25.1 Fluent docker image
- name: Pull 25.2 Fluent docker image
run: make docker-pull
env:
FLUENT_IMAGE_TAG: ${{ vars.FLUENT_STABLE_IMAGE_DEV }}

- name: Run 25.1 API codegen
- name: Run 25.2 API codegen
run: make api-codegen

- name: Print 25.1 Fluent version info
- name: Print 25.2 Fluent version info
run: |
cat src/ansys/fluent/core/generated/fluent_version_251.py
python -c "from ansys.fluent.core.generated.solver.settings_251 import SHASH; print(f'SETTINGS_HASH = {SHASH}')"
Expand All @@ -73,7 +73,7 @@ jobs:
rm -rf dist
make install > /dev/null

- name: 25.1 Unit Testing
- name: 25.2 Unit Testing
run: |
make install-test
make unittest-solvermode-251
Expand Down
4 changes: 4 additions & 0 deletions .github/workflows/test-run-wo-codegen-weekly.yml
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,10 @@ jobs:
version: 242
- image-tag: v25.1.0
version: 251
- image-tag: v25.2.0
version: 252
- image-tag: v26.1.0
version: 261

steps:

Expand Down
20 changes: 20 additions & 0 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -63,6 +63,11 @@ unittest-dev-252:
@sudo rm -rf /home/ansys/Documents/ansys_fluent_core_examples/*
@python -m pytest --fluent-version=25.2 $(PYTESTEXTRA) || python -m pytest --fluent-version=25.2 $(PYTESTRERUN)

unittest-dev-261:
@echo "Running unittests"
@sudo rm -rf /home/ansys/Documents/ansys_fluent_core_examples/*
@python -m pytest --fluent-version=26.1 $(PYTESTEXTRA) || python -m pytest --fluent-version=26.1 $(PYTESTRERUN)

unittest-all-222:
@echo "Running all unittests"
@sudo rm -rf /home/ansys/Downloads/ansys_fluent_core_examples/*
Expand Down Expand Up @@ -143,6 +148,21 @@ unittest-all-252-no-codegen:
@sudo rm -rf /home/ansys/Documents/ansys_fluent_core_examples/*
@python -m pytest --nightly --fluent-version=25.2 -m "not codegen_required" $(PYTESTEXTRA) || python -m pytest --nightly --fluent-version=25.2 -m "not codegen_required" $(PYTESTRERUN)

unittest-all-261:
@echo "Running all unittests"
@sudo rm -rf /home/ansys/Documents/ansys_fluent_core_examples/*
@python -m pytest --nightly --fluent-version=26.1 $(PYTESTEXTRA) || python -m pytest --nightly --fluent-version=26.1 $(PYTESTRERUN)

unittest-solvermode-261:
@echo "Running all unittests"
@sudo rm -rf /home/ansys/Documents/ansys_fluent_core_examples/*
@python -m pytest --fluent-version=26.1 --solvermode $(PYTESTEXTRA) || python -m pytest --fluent-version=26.1 --solvermode $(PYTESTRERUN)

unittest-all-261-no-codegen:
@echo "Running all unittests"
@sudo rm -rf /home/ansys/Documents/ansys_fluent_core_examples/*
@python -m pytest --nightly --fluent-version=26.1 -m "not codegen_required" $(PYTESTEXTRA) || python -m pytest --nightly --fluent-version=26.1 -m "not codegen_required" $(PYTESTRERUN)

api-codegen:
@echo "Running API codegen"
@python -m venv env
Expand Down
2 changes: 2 additions & 0 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,8 @@
"ansys.fluent.core.generated.solver.settings_241.",
"ansys.fluent.core.generated.solver.settings_242.",
"ansys.fluent.core.generated.solver.settings_251.",
"ansys.fluent.core.generated.solver.settings_252.",
"ansys.fluent.core.generated.solver.settings_261.",
"ansys.fluent.core.services.batch_ops.BatchOps.__init__",
}

Expand Down
4 changes: 2 additions & 2 deletions doc/source/getting_started/faqs.rst
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,9 @@ all PyFluent packages in a Python *virtual environment*:
Which version of Python should you use?
---------------------------------------
PyFluent supports Python 3.10 through Python 3.12 on Windows and Linux. Python
3.10 is shipped with Ansys 2023 R2 and later. For example, in a 2025 R1 Windows
3.10 is shipped with Ansys 2023 R2 and later. For example, in a 2025 R2 Windows
installation, the executable file Python 3.10 is typically located at:
``C:\Program Files\ANSYS Inc\v251\commonfiles\CPython\3_10\winx64\Release\python.exe``.
``C:\Program Files\ANSYS Inc\v252\commonfiles\CPython\3_10\winx64\Release\python.exe``.
If you're using Python from Ansys installation, make sure to install PyFluent
within a Python virtual environment to prevent any possible conflicts with
Ansys Python packages.
Expand Down
6 changes: 3 additions & 3 deletions doc/source/getting_started/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -88,16 +88,16 @@ All versions of PyFluent support Fluent 2022 R2 and later.

PyFluent uses an environment variable to locate your Ansys installation.

On Windows, the Ansys installer sets the environment variable. For instance, the Ansys 2025 R1
installer sets the ``AWP_ROOT251`` environment variable to point to ``C:\Program Files\ANSYS Inc\v251``
On Windows, the Ansys installer sets the environment variable. For instance, the Ansys 2025 R2
installer sets the ``AWP_ROOT252`` environment variable to point to ``C:\Program Files\ANSYS Inc\v252``
if you accept the default installation location.

**On Linux, the environment variable is not set automatically.** It can be set for the
current user in the current shell session as follows:

.. code:: console

export AWP_ROOT251=/usr/ansys_inc/v251
export AWP_ROOT252=/usr/ansys_inc/v252

For this variable to persist between different shell sessions for the current user, the same
export command can instead be added to the user's ``~/.profile`` file.
Expand Down
8 changes: 4 additions & 4 deletions doc/source/user_guide/session/launching_ansys_fluent.rst
Original file line number Diff line number Diff line change
Expand Up @@ -168,7 +168,7 @@ scheduler using the ``sbatch`` command:
#
# Activate your favorite Python environment
#
export AWP_ROOT251=/apps/ansys_inc/v251
export AWP_ROOT252=/apps/ansys_inc/v252
. ./venv/bin/activate
#
# Run a PyFluent script
Expand Down Expand Up @@ -351,15 +351,15 @@ Connect to a Fluent container running inside WSL from a Windows host

.. code:: console

docker run -it -p 63084:63084 -v /mnt/d/testing:/testing -e "ANSYSLMD_LICENSE_FILE=<license file or server>" -e "REMOTING_PORTS=63084/portspan=2" ghcr.io/ansys/pyfluent:v25.1.0 3ddp -gu -sifile=/testing/server.txt
/ansys_inc/v251/fluent/fluent25.1.0/bin/fluent -r25.1.0 3ddp -gu -sifile=/testing/server.txt
docker run -it -p 63084:63084 -v /mnt/d/testing:/testing -e "ANSYSLMD_LICENSE_FILE=<license file or server>" -e "REMOTING_PORTS=63084/portspan=2" ghcr.io/ansys/pyfluent:v25.2.0 3ddp -gu -sifile=/testing/server.txt
/ansys_inc/v252/fluent/fluent25.2.0/bin/fluent -r25.2.0 3ddp -gu -sifile=/testing/server.txt

2. Connect from PyFluent running on a Windows host

.. code:: python

>>> import ansys.fluent.core as pyfluent
>>> solver = pyfluent.connect_to_fluent(ip="localhost", port=63084, password=<password written in D:\testing\server.txt>)
>>> solver = pyfluent.connect_to_fluent(ip="localhost", port=63084, password=<password written `server.txt`>)


Connecting to a Fluent container running inside Linux from a Windows host
Expand Down
14 changes: 7 additions & 7 deletions src/ansys/fluent/core/session_meshing.pyi
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,21 @@
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.

from ansys.fluent.core.generated.datamodel_251.meshing import Root as meshing_root
from ansys.fluent.core.generated.datamodel_251.meshing_utilities import (
from ansys.fluent.core.generated.datamodel_252.meshing import Root as meshing_root
from ansys.fluent.core.generated.datamodel_252.meshing_utilities import (
Root as meshing_utilities_root,
)
from ansys.fluent.core.generated.datamodel_251.part_management import (
from ansys.fluent.core.generated.datamodel_252.part_management import (
Root as partmanagement_root,
)
from ansys.fluent.core.generated.datamodel_251.pm_file_management import (
from ansys.fluent.core.generated.datamodel_252.pm_file_management import (
Root as pmfilemanagement_root,
)
from ansys.fluent.core.generated.datamodel_251.preferences import (
from ansys.fluent.core.generated.datamodel_252.preferences import (
Root as preferences_root,
)
from ansys.fluent.core.generated.datamodel_251.workflow import Root as workflow_root
from ansys.fluent.core.generated.meshing.tui_251 import main_menu
from ansys.fluent.core.generated.datamodel_252.workflow import Root as workflow_root
from ansys.fluent.core.generated.meshing.tui_252 import main_menu

class Meshing:
@property
Expand Down
Loading
Loading