协作头脑风暴
brainstorming
在实现前澄清需求、探索设计选择,并形成清晰的开发方向。
hpc-gmsh【开发与工程】Build, review, debug, and automate Gmsh geometry and meshing workflows. Use when working with `.geo` scripts, the Gmsh Python API, GEO versus OpenCASCADE modeling, physical groups, mesh-size fields, transfinite or recombine options, boundary layers, structured/unstructured algorithm selection, mesh partitioning, periodic meshes, high-order elements, …
独立 GitHub 快照 · 自动分类 · 以原作者文档为准
.geo scripts, the Gmsh Python API, GEO versus OpenCASCADE modeling, physical groups, mesh-size fields, transfinite or recombine options, boundary layers, structured/unstructured algorithm selection, mesh partitioning, periodic meshes, high-order elements, mesh export and solver handoff (FEniCS, OpenFOAM, Elmer, SU2, etc.), CAD/STL import, or Gmsh CLI and meshing failures.Treat Gmsh as a geometry-plus-meshing stack. Choose the modeling kernel first, then make topology, sizing, and structured-meshing decisions explicit before exporting downstream.
references/modeling-kernels-and-geometry.md before creating or repairing a Gmsh model — covers GEO versus OpenCASCADE selection, boolean operations, extrusions, transformations, CAD/STL import, embedded and compound entities, synchronization rules.references/physical-groups-and-entity-tagging.md when solver handoff depends on boundary or region tags — covers export behavior, physical group stability after booleans, downstream solver requirements matrix.references/algorithm-selection-guide.md when choosing 2D or 3D meshing algorithms — covers MeshAdapt, Delaunay, Frontal-Delaunay, HXT, parallel meshing, optimization, element order, subdivision.references/mesh-size-and-field-control.md when choosing mesh sizes — covers the full size determination hierarchy, all field types (Distance, Threshold, Box, Ball, Cylinder, BoundaryLayer, MathEval, AutomaticMeshSizeField, etc.), combining fields, size callbacks.references/boundary-layer-and-refinement-recipes.md when boundary layers, distance-based refinement, or CFD-specific mesh recipes are needed — covers BL parameters, y+ estimation, fan points, wake refinement, complete 2D CFD recipe.references/transfinite-and-recombine-playbook.md when the mesh should be structured, swept, or recombined — covers TransfiniteCurve/Surface/Volume syntax with grading, Recombine, structured extrusion with Layers, periodic meshes, high-order, complete hex workflow.references/cli-and-python-api-playbook.md when choosing between .geo, CLI, and the Python API — covers complete CLI flag reference, Python API patterns for geometry, meshing, fields, partitioning, periodic meshes, CAD import.references/import-export-and-solver-handoff.md when importing CAD/STL or exporting meshes — covers all output formats, MSH4.1/MSH2 format details, element type table, downstream handoff recipes for FEniCS, OpenFOAM, Elmer, SU2, ABAQUS, Code_Aster, mesh partitioning.references/error-recovery.md when meshing or geometry construction fails — covers diagnostic commands, recovery decision tree, geometry/meshing failure recovery sequences, reporting template.references/error-pattern-dictionary.md for fast matching of specific Gmsh failure signatures — 14 patterns covering wrong kernel, missing physical groups, transfinite incompatibility, synchronize missing, boolean tag instability, 3D boundary recovery, negative Jacobians, periodic mismatch, and more.Load the relevant recipe when the task involves:
references/algorithm-selection-guide.md — 2D/3D algorithm selection matrices, parallel meshing, optimization passes, element order, subdivision for all-quad/all-hexreferences/boundary-layer-and-refinement-recipes.md — BoundaryLayer field setup, y+ targeting, fan points, distance+threshold refinement, box/ball/cylinder refinement, MathEval sizing, complete 2D CFD airfoil recipe, 3D BL strategiesreferences/transfinite-and-recombine-playbook.md — structured hex/quad meshing, TransfiniteCurve grading (Progression, Bump), periodic mesh setup (affine transforms), extruded mesh with Layers, high-order elementsreferences/import-export-and-solver-handoff.md — STEP/IGES/BREP/STL import and healing, MSH4.1/MSH2/VTK/SU2/CGNS/MED format details, downstream solver physical group requirements, mesh partitioning with Metissynchronize()getBoundary() and getEntitiesInBoundingBox() to identify surfaces after booleansMesh.SaveAll = 1 to override)MeshSizeFromPoints, MeshSizeFromCurvature, MeshSizeExtendFromBoundary when fields are authoritativeMin and set as Background FieldLayers produces structured hex/prismgmsh.model.mesh.optimize("Netgen")setOrder(2) then optimize("HighOrder")getElementQualities(tags, "minSICN")synchronize() — entity tags may be stale.BooleanFragments + the output map.Mesh.SaveAll = 1 with MSH2 if physical group info is needed — MSH2 discards it.Min field.optimize("HighOrder") after setOrder(2) — curved elements on complex geometry will have negative Jacobians.Load these on demand:
references/modeling-kernels-and-geometry.md — GEO versus OpenCASCADE, boolean operations, extrusions, transformations, CAD/STL import, embedded/compound entitiesreferences/physical-groups-and-entity-tagging.md — physical group syntax, export behavior, downstream solver requirementsreferences/algorithm-selection-guide.md — 2D and 3D algorithm matrices, parallel meshing, optimization, element orderreferences/mesh-size-and-field-control.md — complete field reference (Distance, Threshold, Box, Ball, Cylinder, BoundaryLayer, MathEval, AutomaticMeshSizeField), size hierarchy, callbacksreferences/boundary-layer-and-refinement-recipes.md — BL setup, y+ targeting, wake refinement, complete CFD recipesreferences/transfinite-and-recombine-playbook.md — structured meshing, periodic meshes, high-order, hex workflowreferences/cli-and-python-api-playbook.md — all CLI flags, Python API patterns, .geo scripting referencereferences/import-export-and-solver-handoff.md — format details, element types, solver handoff recipes, partitioningreferences/error-pattern-dictionary.md — 14 failure patterns with symptoms, diagnosis, and fixesreferences/error-recovery.md — diagnostic commands, recovery decision tree, reporting templateUse assets/templates/ when a concrete starting point is faster than building from scratch:
minimal_rectangle_2d.geo — simplest OCC rectangle with physical groupsocc_box_python.py — 3D box with boundary extraction via Python APIparametric_cylinder_in_box.geo — parametric external flow geometry with distance-based refinementairfoil_bl_2d.py — 2D airfoil with boundary layer, wake refinement, and fan pointsperiodic_channel_hex.py — structured hex channel with periodic BCs (DNS/LES)step_import_mesh.py — STEP import, healing, physical groups, parallel meshinggmsh-batch-mesh.sh — minimal batch meshing scriptgmsh-mesh-slurm.sh — SLURM-submitted batch meshingSummarize: