feat(meshGeneration): simple spherical mesh generation script
This commit is contained in:
24
utils/meshGeneration/generateMesh.py
Normal file
24
utils/meshGeneration/generateMesh.py
Normal file
@@ -0,0 +1,24 @@
|
||||
import pygmsh
|
||||
import meshio
|
||||
|
||||
import argparse
|
||||
|
||||
def generate_spherical_mesh(radius=1, meshSize=0.1):
|
||||
with pygmsh.geo.Geometry() as geo:
|
||||
# Create a spherical (ball) geometry centered at (0,0,0)
|
||||
sphere = geo.add_ball([0, 0, 0], radius)
|
||||
# Generate a 2D mesh (i.e. surface mesh) of the sphere
|
||||
myMesh = geo.generate_mesh(dim=2)
|
||||
return myMesh
|
||||
|
||||
def write_mfem_mesh(meshData, filename):
|
||||
meshio.write(filename, meshData, file_format='netgen')
|
||||
|
||||
if __name__ == '__main__':
|
||||
parser = argparse.ArgumentParser(description='Generate a spherical mesh')
|
||||
parser.add_argument('--radius', type=float, default=1.0, help='Radius of the sphere')
|
||||
parser.add_argument('--meshSize', type=float, default=0.1, help='Mesh size')
|
||||
args = parser.parse_args()
|
||||
|
||||
meshData = generate_spherical_mesh(args.radius, args.meshSize)
|
||||
write_mfem_mesh(meshData, 'sphere.mesh')
|
||||
Reference in New Issue
Block a user