OpenClaw-Medical-Skills mesh-generation

Plan and evaluate mesh generation for numerical simulations. Use when choosing grid resolution, checking aspect ratios/skewness, estimating mesh quality constraints, or planning adaptive mesh refinement for PDE discretization.

install
source · Clone the upstream repo
git clone https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/mesh-generation" ~/.claude/skills/freedomintelligence-openclaw-medical-skills-mesh-generation && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/FreedomIntelligence/OpenClaw-Medical-Skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/mesh-generation" ~/.openclaw/skills/freedomintelligence-openclaw-medical-skills-mesh-generation && rm -rf "$T"
manifest: skills/mesh-generation/SKILL.md
source content

Mesh Generation

Goal

Provide a consistent workflow for selecting mesh resolution and checking mesh quality for PDE simulations.

Requirements

  • Python 3.8+
  • No external dependencies (uses stdlib)

Inputs to Gather

InputDescriptionExample
Domain sizePhysical dimensions
1.0 × 1.0 m
Feature sizeSmallest feature to resolve
0.01 m
Points per featureResolution requirement
10 points
Aspect ratio limitMaximum dx/dy ratio
5:1
Quality thresholdSkewness limit
< 0.8

Decision Guidance

Resolution Selection

What is the smallest feature size?
├── Interface width → dx ≤ width / 5
├── Boundary layer → dx ≤ layer_thickness / 10
├── Wave length → dx ≤ lambda / 20
└── Diffusion length → dx ≤ sqrt(D × dt) / 2

Mesh Type Selection

ProblemRecommended Mesh
Simple geometry, uniformStructured Cartesian
Complex geometryUnstructured triangular/tetrahedral
Boundary layersHybrid (structured near walls)
Adaptive refinementQuadtree/Octree or AMR

Script Outputs (JSON Fields)

ScriptKey Outputs
scripts/grid_sizing.py
dx
,
nx
,
ny
,
nz
,
notes
scripts/mesh_quality.py
aspect_ratio
,
skewness
,
quality_flags

Workflow

  1. Estimate resolution - From physics scales
  2. Compute grid sizing - Run
    scripts/grid_sizing.py
  3. Check quality metrics - Run
    scripts/mesh_quality.py
  4. Adjust if needed - Fix aspect ratios, reduce skewness
  5. Validate - Mesh convergence study

Conversational Workflow Example

User: I need to mesh a 1mm × 1mm domain for a phase-field simulation with interface width of 10 μm.

Agent workflow:

  1. Compute grid sizing:
    python3 scripts/grid_sizing.py --length 0.001 --resolution 200 --json
    
  2. Verify interface is resolved: dx = 5 μm, interface width = 10 μm → 2 points per interface width.
  3. Recommend: Increase to 500 points (dx = 2 μm) for 5 points across interface.

Pre-Mesh Checklist

  • Define target resolution per feature/interface
  • Ensure dx meets stability constraints (see numerical-stability)
  • Check aspect ratio < limit (typically 5:1)
  • Check skewness < threshold (typically 0.8)
  • Validate mesh convergence with refinement study

CLI Examples

# Compute grid sizing for 1D domain
python3 scripts/grid_sizing.py --length 1.0 --resolution 200 --json

# Check mesh quality
python3 scripts/mesh_quality.py --dx 1.0 --dy 0.5 --dz 0.5 --json

# High aspect ratio check
python3 scripts/mesh_quality.py --dx 1.0 --dy 0.1 --json

Error Handling

ErrorCauseResolution
length must be positive
Invalid domain sizeUse positive value
resolution must be > 1
Insufficient pointsUse at least 2
dx, dy must be positive
Invalid spacingUse positive values

Interpretation Guidance

Aspect Ratio

Aspect RatioQualityImpact
1:1ExcellentOptimal accuracy
1:1 - 3:1GoodAcceptable
3:1 - 5:1FairMay affect accuracy
> 5:1PoorSolver issues likely

Skewness

SkewnessQualityImpact
0 - 0.25ExcellentOptimal
0.25 - 0.50GoodAcceptable
0.50 - 0.80FairMay affect accuracy
> 0.80PoorLikely problems

Resolution Guidelines

ApplicationPoints per Feature
Phase-field interface5-10
Boundary layer10-20
Shock3-5 (with capturing)
Wave propagation10-20 per wavelength
Smooth gradients5-10

Limitations

  • 2D/3D only: No unstructured mesh generation
  • Quality metrics: Basic aspect ratio and skewness only
  • No mesh generation: Sizing recommendations only

References

  • references/mesh_types.md
    - Structured vs unstructured
  • references/quality_metrics.md
    - Aspect ratio/skewness thresholds

Version History

  • v1.1.0 (2024-12-24): Enhanced documentation, decision guidance, examples
  • v1.0.0: Initial release with 2 mesh quality scripts