Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
074e5a6
general snappy framework, does not work
piotrkluba Jul 9, 2025
a95f5e7
basic translator functionality
piotrkluba Jul 10, 2025
712b515
tests repaired
piotrkluba Jul 10, 2025
5717d7a
reversed unnecessary changes
piotrkluba Jul 10, 2025
2465712
reversed unnecessary changes again
piotrkluba Jul 10, 2025
be7d991
reversed unnecessary changes yet again
piotrkluba Jul 10, 2025
c6e41e0
points in mesh added
piotrkluba Jul 10, 2025
9893ea2
added strictRegionSnap
piotrkluba Jul 11, 2025
bf593c9
implemented initial validators
piotrkluba Jul 11, 2025
757ed1f
corrected errors with validators and included angle
piotrkluba Jul 11, 2025
4499e0f
always include strictFeatureSnap
piotrkluba Jul 11, 2025
645adbf
pulled snappy clases to main namespace
piotrkluba Jul 11, 2025
5ecbaed
repaired handlin volume meshing params and empty edge lists
piotrkluba Jul 11, 2025
8c44b58
fixed volume meshing in modular workflow
piotrkluba Jul 14, 2025
253e538
fixed Self import error
piotrkluba Jul 14, 2025
7687b49
added a test
piotrkluba Jul 15, 2025
b531409
fixes to translator
piotrkluba Jul 15, 2025
bb6d9ae
fixed empty regions and bodies n edge refinement
piotrkluba Jul 15, 2025
1e5d3bf
additional fixe with more tests coverage
piotrkluba Jul 15, 2025
3f44994
draft change
piotrkluba Jul 16, 2025
e4a8953
fixed turning off edges at smoothing
piotrkluba Jul 16, 2025
3c1af03
added validators to quality metrics
piotrkluba Jul 16, 2025
b8db661
added more validators
piotrkluba Jul 17, 2025
9600a3b
Use original edges for smoothing - snappy (#1304)
piotrkluba Jul 29, 2025
89673f2
Added UniformRefinement to snappy (#1331)
piotrkluba Aug 6, 2025
f75697b
Merge rc/25.6 to snappy main branch (#1347)
piotrkluba Aug 13, 2025
4bc6ee1
bumped version for beta publish
maciej-flexcompute Aug 18, 2025
54fa8bc
Squashed commit of the following:
piotrkluba Aug 28, 2025
ebc9e18
merge addition
piotrkluba Aug 28, 2025
b3b6911
merging kinks repaired
piotrkluba Aug 28, 2025
a09705a
Revert "Ensure the geometry tolerance and the planar tolerance are co…
benflexcompute Aug 27, 2025
ddca991
Skip boundaries during translation if the boundary is not found in vo…
benflexcompute Aug 28, 2025
100e1bb
validation context extracts also from ModularMeshingWorkflow
piotrkluba Aug 29, 2025
b3d86ef
validation of volume zones corrected for different meshing shemes
piotrkluba Sep 1, 2025
34ecc84
bump version to 25.8.0b2, formatter changes
piotrkluba Sep 2, 2025
a159f21
fixed planar_face_tolerance context bug
piotrkluba Sep 9, 2025
c375ce8
Python meshing refactor (#1415)
piotrkluba Sep 25, 2025
4ea8698
user defined farfield no longer required when using custom volume or …
piotrkluba Sep 26, 2025
81cf82a
Rebased snappy to main (#1449)
piotrkluba Sep 26, 2025
7eca1e1
revert fix of translating missing boundaries as it was done in main
piotrkluba Sep 29, 2025
7aa255d
Merge branch 'develop' into snappy-main
piotrkluba Oct 1, 2025
abe9e77
formatter
piotrkluba Oct 1, 2025
b53f2dd
unnecessary warnings removed
piotrkluba Oct 1, 2025
e87dffd
added SeedpointZone to rotation
piotrkluba Oct 3, 2025
2f6b5e0
formatter
piotrkluba Oct 3, 2025
957a663
Renaming on _get_boundary_full_name
benflexcompute Oct 3, 2025
517624d
Some renaming
benflexcompute Oct 6, 2025
f32de54
changed type to type_name as a discriminator in added types
piotrkluba Oct 8, 2025
6302aee
Merge branch 'snappy-main' of github.com:flexcompute/Flow360 into sna…
piotrkluba Oct 8, 2025
85c576d
farfield cosmetic changes
piotrkluba Oct 8, 2025
cf9a46f
revertet some weird change to base model
piotrkluba Oct 9, 2025
0c8c532
Rebase to newest develop (#1485)
piotrkluba Oct 9, 2025
735cf9f
Added the base_spacing parameter to control snappy octree (#1495)
piotrkluba Oct 14, 2025
de73fbe
exposed octree spacing
piotrkluba Oct 14, 2025
9976667
inverted the spacing convention
piotrkluba Oct 14, 2025
9ae168c
changed warning formatting
piotrkluba Oct 14, 2025
9369ca0
add condition for SnappySurfaceEdgeRefinement validation
piotrkluba Oct 14, 2025
587165c
removed the optional annotation from boundary first layer thickness
piotrkluba Oct 14, 2025
6dfde38
Fix spacings not being translated in list (#1500)
piotrkluba Oct 16, 2025
d3ae923
Two level structure for geometry referencing snappy (#1465)
piotrkluba Oct 16, 2025
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
4 changes: 2 additions & 2 deletions .github/workflows/pypi-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -58,11 +58,11 @@ jobs:
run: poetry version ${{ env.RELEASE_VERSION }}
- name: check version
run: |
version=$(poetry run python -c "import flow360; print(flow360.__version__)")
version=$(poetry run python -c "import flow360; print(flow360.version.__version__)")
publish_version="${{ env.RELEASE_VERSION }}"
publish_version="${publish_version:1}"
if [ "$version" != "$publish_version" ]; then
echo "version ${version}!=${publish_version} in flow360.__version__ does not match to release version ${{ inputs.version }}"
echo "version ${version}!=${publish_version} in flow360.version.__version__ does not match to release version ${{ inputs.version }}"
exit 1
fi
- name: Setup pipy token
Expand Down
51 changes: 39 additions & 12 deletions .github/workflows/sync-main-to-develop.yml
Original file line number Diff line number Diff line change
Expand Up @@ -145,19 +145,46 @@ jobs:

- name: Open PR main -> develop (on conflict OR push failure)
if: steps.up.outputs.up_to_date == 'false' && (steps.merge.outputs.conflicted == 'true' || steps.push.outputs.exit_code != '0')
uses: repo-sync/pull-request@v2
id: pr
shell: bash
run: |
PR_BODY=$(cat <<'EOF'
Automated sync needs review:
- Merge conflicted: ${{ steps.merge.outputs.conflicted == 'true' }}
- Direct push exit code: ${{ steps.push.outputs.exit_code || 'n/a' }}
Please resolve and merge to bring `develop` up to date with `main`.
EOF
)
PR_URL=$(gh pr create \
--base develop \
--head main \
--title "Scheduled sync: main → develop" \
--body "$PR_BODY")
echo "pr_url=$PR_URL" >> "$GITHUB_OUTPUT"
echo "Created PR: $PR_URL"
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

- name: Send Slack notification
if: steps.up.outputs.up_to_date == 'false' && (steps.merge.outputs.conflicted == 'true' || steps.push.outputs.exit_code != '0')
uses: slackapi/slack-github-action@v2
with:
source_branch: "main"
destination_branch: "develop"
pr_title: "Scheduled sync: main → develop"
pr_body: |
Automated sync needs review:
- Merge conflicted: ${{ steps.merge.outputs.conflicted == 'true' }}
- Direct push exit code: ${{ steps.push.outputs.exit_code || 'n/a' }}
Please resolve and merge to bring `develop` up to date with `main`.
github_token: ${{ secrets.GITHUB_TOKEN }}
# If using bot PAT, switch to:
# github_token: ${{ secrets.BOT_PAT }}
webhook-type: incoming-webhook
payload: |
{
"text": "<!channel> 🔄 Sync PR Created: main → develop",
"blocks": [
{
"type": "section",
"text": {
"type": "mrkdwn",
"text": "<!channel> 🔄 *Scheduled sync PR created*\n\n<${{ steps.pr.outputs.pr_url }}|View Pull Request>\n\n• Merge conflicted: `${{ steps.merge.outputs.conflicted == 'true' }}`\n• Direct push failed: `${{ steps.push.outputs.exit_code != '0' }}`"
}
}
]
}
env:
SLACK_WEBHOOK_URL: ${{ secrets.SLACK_MERGE_NOTIFICATION_URL }}

- name: Final summary
run: |
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@
outer_radius=1.0,
height=2.5,
)
sliding_interface = fl.RotationCylinder(
sliding_interface = fl.RotationVolume(
spacing_axial=0.04,
spacing_radial=0.04,
spacing_circumferential=0.04,
Expand Down
26 changes: 20 additions & 6 deletions examples/advanced_simulations/rotorcraft/isolated_propeller.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,21 @@

with fl.SI_unit_system:
rotating_cylinder = fl.Cylinder(
name="Rotating zone", center=[0, 0, 0], axis=[1, 0, 0], outer_radius=2, height=0.8
name="Rotating zone",
center=[0, 0, 0],
axis=[1, 0, 0],
outer_radius=2,
height=0.8,
)
refinement_cylinder = fl.Cylinder(
name="Refinement zone", center=[1.9, 0, 0], axis=[1, 0, 0], outer_radius=2, height=4
name="Refinement zone",
center=[1.9, 0, 0],
axis=[1, 0, 0],
outer_radius=2,
height=4,
)
slice = fl.Slice(name="Slice", normal=[1, 0, 0], origin=[0.6, 0, 0])
volume_zone_rotating_cylinder = fl.RotationCylinder(
volume_zone_rotating_cylinder = fl.RotationVolume(
name="Rotation cylinder",
spacing_axial=0.05,
spacing_radial=0.05,
Expand All @@ -30,11 +38,14 @@
params = fl.SimulationParams(
meshing=fl.MeshingParams(
defaults=fl.MeshingDefaults(
surface_max_edge_length=1, boundary_layer_first_layer_thickness=0.1 * fl.u.mm
surface_max_edge_length=1,
boundary_layer_first_layer_thickness=0.1 * fl.u.mm,
),
refinements=[
fl.UniformRefinement(
name="Uniform refinement", spacing=0.025, entities=[refinement_cylinder]
name="Uniform refinement",
spacing=0.025,
entities=[refinement_cylinder],
)
],
volume_zones=[farfield, volume_zone_rotating_cylinder],
Expand Down Expand Up @@ -63,7 +74,10 @@
step_size=0.0025,
max_pseudo_steps=35,
CFL=fl.AdaptiveCFL(
min=0.1, max=10000, max_relative_change=1, convergence_limiting_factor=0.5
min=0.1,
max=10000,
max_relative_change=1,
convergence_limiting_factor=0.5,
),
),
outputs=[
Expand Down
Loading