Skip to content

integrate geometry, surface and volume mesher #267

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

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
7,363 changes: 7,363 additions & 0 deletions examples/data/airplane_geometry.egads

Large diffs are not rendered by default.

13 changes: 13 additions & 0 deletions examples/geometry_from_3rd_party_geometry_file.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
import flow360 as fl
from flow360.component.geometry import Geometry
from flow360.examples import Cylinder3D

fl.Env.preprod.active()

geometry_draft = Geometry.from_file(
Cylinder3D.geometry,
name="testing-cylinder3d-geometry",
)
geometry = geometry_draft.submit()

print(geometry)
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
import flow360 as fl
from flow360.component.geometry import Geometry
from flow360.examples import Cylinder
from flow360.examples import Airplane

fl.Env.preprod.active()

geometry_draft = Geometry.from_file(
Cylinder.geometry,
name="testing-cylinder-geometry",
Airplane.geometry,
name="testing-airplane-csm-geometry",
)
geometry = geometry_draft.submit()

Expand Down
56 changes: 56 additions & 0 deletions examples/geometry_id_surface_volume_case_airplane_v1_from_csm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import os

import flow360 as fl

fl.Env.preprod.active()

from flow360.component.geometry import Geometry
from flow360.component.meshing.params import Farfield, Volume, VolumeMeshingParams
from flow360.examples import Airplane

# geometry
geometry_draft = Geometry.from_file(Airplane.geometry, name="testing-airplane-csm-geometry")
geometry = geometry_draft.submit()
print(geometry)

# surface mesh
params = fl.SurfaceMeshingParams(max_edge_length=0.16)

surface_mesh_draft = fl.SurfaceMesh.create(
geometry_id=geometry.id,
params=params,
name="airplane-surface-mesh-from-geometry-id-v1",
solver_version="mesher-24.2.1",
)
surface_mesh = surface_mesh_draft.submit()

print(surface_mesh)

# volume mesh
params = fl.VolumeMeshingParams(
volume=Volume(
first_layer_thickness=1e-5,
growth_rate=1.2,
),
farfield=Farfield(type="auto"),
)

volume_mesh_draft = fl.VolumeMesh.create(
surface_mesh_id=surface_mesh.id,
name="airplane-volume-mesh-from-geometry-id-v1",
params=params,
solver_version="mesher-24.2.1",
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = fl.Flow360Params(Airplane.case_json)
params.boundaries = {
"fluid/farfield": fl.FreestreamBoundary(),
"fluid/fuselage": fl.NoSlipWall(),
"fluid/leftWing": fl.NoSlipWall(),
"fluid/rightWing": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case("airplane-case-from-csm-geometry-id-v1", params)
case = case_draft.submit()
58 changes: 58 additions & 0 deletions examples/geometry_id_surface_volume_case_airplane_v1_from_egads.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import os

import flow360 as fl

fl.Env.preprod.active()

from flow360.component.geometry import Geometry
from flow360.component.meshing.params import Farfield, Volume, VolumeMeshingParams
from flow360.examples import Airplane

# geometry
geometry_draft = Geometry.from_file(
"data/airplane_geometry.egads", name="testing-airplane-egads-geometry"
)
geometry = geometry_draft.submit()
print(geometry)

# surface mesh
params = fl.SurfaceMeshingParams(max_edge_length=0.16)

surface_mesh_draft = fl.SurfaceMesh.create(
geometry_id=geometry.id,
params=params,
name="airplane-surface-mesh-from-geometry-id-v1",
solver_version="mesher-24.2.1",
)
surface_mesh = surface_mesh_draft.submit()

print(surface_mesh)

# volume mesh
params = fl.VolumeMeshingParams(
volume=Volume(
first_layer_thickness=1e-5,
growth_rate=1.2,
),
farfield=Farfield(type="auto"),
)

volume_mesh_draft = fl.VolumeMesh.create(
surface_mesh_id=surface_mesh.id,
name="airplane-volume-mesh-from-geometry-id-v1",
params=params,
solver_version="mesher-24.2.1",
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = fl.Flow360Params(Airplane.case_json)
params.boundaries = {
"fluid/farfield": fl.FreestreamBoundary(),
"fluid/fuselage": fl.NoSlipWall(),
"fluid/leftWing": fl.NoSlipWall(),
"fluid/rightWing": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case("airplane-case-from-egads-geometry-id-v1", params)
case = case_draft.submit()
58 changes: 58 additions & 0 deletions examples/geometry_id_surface_volume_case_airplane_v2_from_csm.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
import os

os.environ["FLOW360_BETA_FEATURES"] = "1"
import flow360 as fl

fl.Env.preprod.active()

from flow360.component.geometry import Geometry
from flow360.component.meshing.params import Farfield, Volume, VolumeMeshingParams
from flow360.examples import Airplane

# geometry
geometry_draft = Geometry.from_file(Airplane.geometry, name="testing-airplane-csm-geometry")
geometry = geometry_draft.submit()
print(geometry)

# surface mesh
params = fl.SurfaceMeshingParams(version="v2", max_edge_length=0.16)

surface_mesh_draft = fl.SurfaceMesh.create(
geometry_id=geometry.id,
params=params,
name="airplane-surface-mesh-from-geometry-id-v2",
solver_version="mesher-24.2.1",
)
surface_mesh = surface_mesh_draft.submit()

print(surface_mesh)

# volume mesh
params = fl.VolumeMeshingParams(
version="v2",
volume=Volume(
first_layer_thickness=1e-5,
growth_rate=1.2,
),
farfield=Farfield(type="auto"),
)

volume_mesh_draft = fl.VolumeMesh.create(
surface_mesh_id=surface_mesh.id,
name="airplane-volume-mesh-from-geometry-id-v2",
params=params,
solver_version="mesher-24.2.1",
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = fl.Flow360Params(Airplane.case_json)
params.boundaries = {
"farfield": fl.FreestreamBoundary(),
"fuselage": fl.NoSlipWall(),
"leftWing": fl.NoSlipWall(),
"rightWing": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case("airplane-case-from-csm-geometry-id-v2", params)
case = case_draft.submit()
60 changes: 60 additions & 0 deletions examples/geometry_id_surface_volume_case_airplane_v2_from_egads.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import os

os.environ["FLOW360_BETA_FEATURES"] = "1"
import flow360 as fl

fl.Env.preprod.active()

from flow360.component.geometry import Geometry
from flow360.component.meshing.params import Farfield, Volume, VolumeMeshingParams
from flow360.examples import Airplane

# geometry
geometry_draft = Geometry.from_file(
"data/airplane_geometry.egads", name="testing-airplane-egads-geometry"
)
geometry = geometry_draft.submit()
print(geometry)

# surface mesh
params = fl.SurfaceMeshingParams(version="v2", max_edge_length=0.16)

surface_mesh_draft = fl.SurfaceMesh.create(
geometry_id=geometry.id,
params=params,
name="airplane-surface-mesh-from-geometry-id-v2",
solver_version="mesher-24.2.1",
)
surface_mesh = surface_mesh_draft.submit()

print(surface_mesh)

# volume mesh
params = fl.VolumeMeshingParams(
version="v2",
volume=Volume(
first_layer_thickness=1e-5,
growth_rate=1.2,
),
farfield=Farfield(type="auto"),
)

volume_mesh_draft = fl.VolumeMesh.create(
surface_mesh_id=surface_mesh.id,
name="airplane-volume-mesh-from-geometry-id-v2",
params=params,
solver_version="mesher-24.2.1",
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = fl.Flow360Params(Airplane.case_json)
params.boundaries = {
"farfield": fl.FreestreamBoundary(),
"fuselage": fl.NoSlipWall(),
"leftWing": fl.NoSlipWall(),
"rightWing": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case("airplane-case-from-egads-geometry-id-v2", params)
case = case_draft.submit()
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
import os

import flow360 as fl

fl.Env.preprod.active()

from flow360.component.geometry import Geometry
from flow360.component.meshing.params import Farfield, Volume, VolumeMeshingParams
from flow360.examples import Cylinder3D

# geometry
geometry_draft = Geometry.from_file(
Cylinder3D.geometry, name="testing-cylinder3d-3rd-party-geometry"
)
geometry = geometry_draft.submit()
print(geometry)

# surface mesh
params = fl.SurfaceMeshingParams(max_edge_length=0.5)

surface_mesh_draft = fl.SurfaceMesh.create(
geometry_id=geometry.id,
params=params,
name="cylinder3d-surface-mesh-from-3rd-party-geometry-v1",
)
surface_mesh = surface_mesh_draft.submit()

print(surface_mesh)

# volume mesh
params = fl.VolumeMeshingParams(
volume=Volume(
first_layer_thickness=1e-4,
growth_rate=1.2,
),
farfield=Farfield(type="auto"),
)

volume_mesh_draft = fl.VolumeMesh.create(
surface_mesh_id=surface_mesh.id,
name="cylinder3d-volume-mesh-from-3rd-party-geometry-id-v1",
params=params,
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = fl.Flow360Params(Cylinder3D.case_json)
params.boundaries = {
"fluid/farfield": fl.FreestreamBoundary(),
"fluid/unspecified": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case(
"cylinder3d-case-from-egads-3rd-party-geometry-id-v1", params, solver_version="mesher-24.2.1"
)
case = case_draft.submit()
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
import os

os.environ["FLOW360_BETA_FEATURES"] = "1"
import flow360 as fl

fl.Env.preprod.active()

from flow360.component.geometry import Geometry
from flow360.component.meshing.params import Farfield, Volume, VolumeMeshingParams
from flow360.examples import Cylinder3D

# geometry
geometry_draft = Geometry.from_file(
Cylinder3D.geometry, name="testing-cylinder3d-3rd-party-geometry"
)
geometry = geometry_draft.submit()
print(geometry)

# surface mesh
params = fl.SurfaceMeshingParams(version="v2", max_edge_length=0.5)

surface_mesh_draft = fl.SurfaceMesh.create(
geometry_id=geometry.id,
params=params,
name="cylinder3d-surface-mesh-from-3rd-party-geometry-v2",
solver_version="mesher-24.2.1",
)
surface_mesh = surface_mesh_draft.submit()

print(surface_mesh)

# volume mesh
params = fl.VolumeMeshingParams(
version="v2",
volume=Volume(
first_layer_thickness=1e-4,
growth_rate=1.2,
),
farfield=Farfield(type="auto"),
)

volume_mesh_draft = fl.VolumeMesh.create(
surface_mesh_id=surface_mesh.id,
name="cylinder3d-volume-mesh-from-3rd-party-geometry-id-v2",
params=params,
solver_version="mesher-24.2.1",
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = fl.Flow360Params(Cylinder3D.case_json)
params.boundaries = {
"farfield": fl.FreestreamBoundary(),
"unspecified": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case(
"cylinder3d-case-from-egads-3rd-party-geometry-id-v2", params, solver_version="mesher-24.2.1"
)
case = case_draft.submit()
Loading
Loading