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 12 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_csm_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 Airplane

fl.Env.preprod.active()

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

print(geometry)
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 simulation_examples.cylinder_case import createBaseParams_cylinder

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

# geometry
geometry_draft = Geometry.from_file(Cylinder.geometry, name="testing-cylinder-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="cylinder-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="cylinder-volume-mesh-from-3rd-party-geometry-id-v1",
params=params,
)
volume_mesh = volume_mesh_draft.submit()
print(volume_mesh)

# case
params = createBaseParams_cylinder()
params.boundaries = {
"fluid/farfield": fl.FreestreamBoundary(),
"fluid/unspecified": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case(
"cylinder-case-from-egads-3rd-party-geometry-id-v1", params, solver_version="mesher-24.2.1"
)
case = case_draft.submit()
58 changes: 58 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,58 @@
import os

import flow360 as fl

fl.Env.preprod.active()

from simulation_examples.airplane_case import createBaseParams_airplane

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 = createBaseParams_airplane()
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()
60 changes: 60 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,60 @@
import os

import flow360 as fl

fl.Env.preprod.active()

from simulation_examples.airplane_case import createBaseParams_airplane

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 = createBaseParams_airplane()
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()
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 simulation_examples.cylinder_case import createBaseParams_cylinder

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

# geometry
geometry_draft = Geometry.from_file(Cylinder.geometry, name="testing-cylinder-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="cylinder-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="cylinder-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 = createBaseParams_cylinder()
params.boundaries = {
"farfield": fl.FreestreamBoundary(),
"unspecified": fl.NoSlipWall(),
}
case_draft = volume_mesh.create_case(
"cylinder-case-from-egads-3rd-party-geometry-id-v2", params, solver_version="mesher-24.2.1"
)
case = case_draft.submit()
60 changes: 60 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,60 @@
import os

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

fl.Env.preprod.active()

from simulation_examples.airplane_case import createBaseParams_airplane

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 = createBaseParams_airplane()
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()
62 changes: 62 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,62 @@
import os

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

fl.Env.preprod.active()

from simulation_examples.airplane_case import createBaseParams_airplane

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 = createBaseParams_airplane()
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()
Loading
Loading