| name | vibeflow-elmer |
| description | Use when preparing, running, debugging, post-processing, or extending VibeFlow/VibeCAE Elmer finite-element multiphysics workflows from 0-caseDict/caseDict, including ElmerSolver SIF files, ElmerGrid mesh conversion, materials, bodies, boundary conditions, coupled physics, MATC/user functions, and reusable Elmer case templates. |
VibeFlow Elmer
This skill is responsible for using Elmer as VibeCAE's open-source finite-element multiphysics backend, covering thermal, structural, electromagnetic, flow, and coupled problems.
- Usage mode: generate Elmer mesh data,
.sif solver files, run scripts, and post-processing from caseDict.
- Development mode: develop SIF templates, mesh-conversion workflows, material libraries, user functions, or external Elmer coupling tools.
When to Use
- The task is heat conduction, structures, fluid-structure/thermo-structural coupling, electromagnetics, Poisson/Helmholtz, incompressible flow, or general FEM multiphysics.
case.sif needs to be generated, or ElmerSolver, ElmerGrid, ElmerGUI, or the Elmer mesh format needs to be used.
- A FEM multiphysics representation more natural than OpenFOAM is needed.
First Decide: Usage Mode or Development Mode
- Current FEM case configuration, mesh conversion, execution, and post-processing: use usage mode.
- SIF generators, material databases, user functions, or coupling interfaces: use development mode.
- If Elmer commands are unavailable or MPI/library issues occur, switch to
vibeflow-toolchain first.
- If geometry or mesh is not ready, switch to the geometry/mesh skill first.
What to Read First
- The domains, materials, equations, boundary loads, initial values, solution controls, and post-processing objectives in
0-caseDict/caseDict.
references/elmer-playbook.md
references/elmer-practical-tips.md: software knowledge base, key concepts, failure interpretation, and adapter design points.
- Gmsh/VTK/Elmer mesh artifacts in
B-mesh/.
- Existing
C-run/elmer/ and Ref/.
Inputs
0-caseDict/caseDict
- Elmer mesh or a mesh convertible by
ElmerGrid
- Material parameters, body/boundary IDs, physical models, and coupling relations
Outputs
C-run/elmer/case-*/case.sif
C-run/elmer/case-*/mesh/
C-run/elmer/case-*/Allrun / Allclean
case.result, VTU, logs, and convergence information
D-post/elmer_postprocess.py or ParaView scenes
Recommended Structure
C-run/elmer/
└── case-1/
├── case.sif
├── mesh/
├── logs/
├── results/
├── Allrun
└── Allclean
Usage Mode Workflow
- Map
caseDict into Elmer Simulation, Constants, Body, Equation, Solver, Material, Boundary Condition, and Initial Condition blocks.
- Check that body/boundary IDs in the mesh correspond to the regions/boundaries in
caseDict.
- Convert the mesh with
ElmerGrid, preserving the conversion log when needed.
- Generate
case.sif, explicitly writing solvers, linear/nonlinear controls, and output formats.
- Run a short case or a relaxed-convergence smoke test.
- Post-process result files and generate key fields, curves, and tables.
- Write run, error, and result status back to
caseDict.
Development Mode Workflow
- Define the development target: SIF templates, mesh-conversion adapters, material libraries, MATC expressions, Fortran/C user functions, or coupling drivers.
- Write the development notes first, recording the Elmer version, interfaces, compilation method, and validation case.
- For user functions, document input variables, units, return values, and loading method.
- For template generators, maintain a body/boundary name-to-ID mapping table.
- Complete at least solver loading or a short-step validation on a small mesh.
Core Rules
- Elmer is sensitive to mesh IDs, so body/boundary mappings must be preserved in the artifacts.
case.sif is the executable artifact; caseDict is the source of truth for the unified physical description.
- Multiphysics coupling must explicitly define solve order, coupling variables, and convergence criteria.
- Do not hide untraceable constants in SIF files; materials and loads should trace back to
caseDict.
Validation
ElmerSolver and ElmerGrid are available.
- Mesh conversion succeeds, and body/boundary counts are reasonable.
case.sif can start and output results.
- Logs have no unresolved errors.
- The post-processing script can read target quantities.
Fallback Rules
- Unclear geometry/mesh IDs: return to the mesh stage.
- Unclear physical coupling relations: return to
vibeflow-case-dict.
- Elmer environment unavailable: return to
vibeflow-toolchain.