Elmer FEMA Student Beginner Guide
Elmer is an open-source finite element package for solving partial differential equations — built for multiphysics simulations. This guide takes you from your first install to running coupled physics, one step at a time.
What is Elmer
Open-source finite elements for partial differential equations
Elmer is a finite element software package for the solution of partial differential equations. It can deal with a great number of different equations, which may be coupled in a generic manner — making Elmer a versatile tool for multiphysical simulations. As an open source software, Elmer also gives users the means to modify existing solution procedures and to develop new solvers for equations of interest to them.
A brief history
Development of Elmer was started in 1995 as part of a national CFD technology program funded by the Finnish funding agency for technology and innovation, Tekes. The original development consortium included partners from CSC – IT Center for Science (formerly CSC – Scientific Computing), Helsinki University of Technology (HUT), VTT Technical Research Centre of Finland, the University of Jyväskylä, and Okmetic Ltd. CSC is a governmental non-profit company fully owned by the Ministry of Education. After the five-year initial project ended, development has been continued by CSC across different application fields. In September 2005 Elmer was released under the GNU General Public License (GPL), widening the international user community considerably.
Verifiable & Modifiable
Because Elmer is open source, you can verify and modify the solution procedures. Nothing is hidden inside a black box — every solver is readable Fortran.
Modern Programmable GUI
ElmerGUI offers a programmable graphical user interface with menu structures you can extend. The solver also runs headless from a plain text command file.
Flexible Equation Coupling
Field equations can be coupled in a generic manner and new field variables introduced easily. This is the heart of Elmer as a multiphysics tool.
Free Material Functions
All material parameters may depend on the field variables and other parameters in a free manner — no lookup tables or hardcoded curves required.
Active Community
A steadily growing user community, with Elmer already used in hundreds of scientific papers and an active discussion forum at elmerforum.org.
Extensive Documentation
Seven core manuals cover the GUI, the solver, the physical models, tutorials, ElmerGrid, the MATC language, and an overview of the whole suite.
Key Features
A wide range of methods and physical models
Elmer offers a versatile palette of techniques for the computational modeling of physical phenomena described by partial differential equations. Below is a summary of the most essential capabilities in both specialized physical fields and numerical methods.
Physical Models
Heat Transfer
Models for conduction, radiation, and phase change. Steady-state and transient analysis of temperature fields with temperature-dependent material properties and contact resistances.
Fluid Flow
Navier-Stokes, Stokes, and Reynolds equations with the k-ε turbulence model. Both incompressible and compressible flows, including non-Newtonian fluids.
Species Transport
Generic convection-diffusion equation for transport of chemical species, with reactions and coupling to flow and heat transfer problems.
Elasticity
General elasticity equations plus dimensionally reduced models for plates and shells. Linear and nonlinear material models, large deformation.
Acoustics
The Helmholtz equation, linearized Navier-Stokes equations in the frequency domain, and large-amplitude wave motion of an ideal gas.
Electromagnetism
Electrostatics, magnetostatics, the A-V formulation, magnetic induction, and the vectorial Helmholtz equation for full-wave analysis.
Microfluidics
Slip boundary conditions for rarefied flows and the Poisson-Boltzmann equation for electrokinetic phenomena in microchannels.
Levelset Method
Eulerian free-boundary problems: track interfaces between immiscible fluids without explicit mesh deformation.
Quantum Mechanics
Density functional theory via the Kohn-Sham equations, enabling quantum-mechanical simulations on the finite element framework.
Numerical Methods
Rich FEM Library
All basic Lagrange elements up to degree 3 in 1D/2D and degree 2 in 3D, plus higher-degree p-elements and curl-conforming edge elements.
Edge & Face Elements
Curl-conforming (edge) finite elements up to degree 2 and div-conforming (face) elements on triangles, quads, tets and hexahedra.
Time Integration
Stable time-stepping schemes for both first-order and second-order transient equations, including implicit and explicit methods.
Eigenvalue Solvers
Dedicated solution methods for eigenvalue problems arising from modal analysis, stability analysis, and quantum mechanics.
Linear System Solvers
Direct solvers (Lapack, Umfpack) plus iterative Krylov-subspace solvers with ILU preconditioning for large sparse systems.
Multigrid Methods
Geometric (GMG) and algebraic (AMG) multigrid solvers for some basic equations, giving near-optimal scaling to large problems.
Parallel Computing
Parallelization of assembly and iterative solution with MPI. Good scaling has been demonstrated up to thousands of processors.
DG & Stabilization
Discontinuous Galerkin method plus stabilized formulations including residual-free bubbles and SUPG for advection-dominated problems.
Free as in freedom — and dual-licensable
Released under the GPL in September 2005. As the sole copyright holder, CSC may also distribute Elmer under other licensing terms — contact the Elmer team if GPL does not suit your purposes.
The Elmer Suite
Four executables that work together — or alone
Like most finite element packages, Elmer is divided into a number of separate executables that may also be used independently. The main parts are the preprocessor, the solver, and the postprocessor, plus a mesh utility. Each plays a distinct role in the simulation pipeline.
ElmerGUI
C++ / Qt
The graphical user interface for Elmer, built on the Qt cross-platform framework. ElmerGUI bundles ElmerGrid and optionally tetlib and nglib as built-in mesh generators, and can include OpenCASCADE as a CAD import tool. It features programmable menu structures that make problem setup straightforward, controls the execution of ElmerSolver, and includes a real-time convergence monitor.
- Qt-based cross-platform GUI
- Built-in mesh generators (tetlib, nglib)
- Optional OpenCASCADE CAD import
- Real-time convergence monitor
- Programmable menu structures
ElmerSolver
Fortran 90
ElmerSolver is the heart of the Elmer software and where most development effort is directed. It contains a large finite element library that lets users write new equation solvers economically. Specific equation solvers are distributed as dynamic libraries with standard interfaces, linked to the main program on request. This modular design means new physics can be added without recompiling the whole solver.
- Core finite element library
- Dynamic loading of solver modules
- Parallel MPI execution
- Custom user functions in Fortran
- Hundreds of built-in solvers
ElmerGrid
C
ElmerGrid generates simple structured meshes and performs mesh manipulation and transformation tasks. It can partition meshes for parallel runs, import meshes written by other mesh generators (such as Gmsh, GiD, Comsol, and Ideas universal format), and convert between formats. Its command file is written using a plain text editor, making it scriptable and reproducible.
- Structured mesh generation
- Mesh partitioning for MPI runs
- Multi-format import (.msh, .mphtxt, .unv)
- Command-line and file driven
- Includes the Metis library
ElmerPost
C / Tcl-Tk
An old and versatile postprocessor built on Mesa and TCL/TK graphics libraries. It provides a straightforward GUI that is easy to learn and is sufficient for most routine postprocessing needs. Although no longer actively developed, it remains available for backward compatibility. For modern workflows, ParaView is now the recommended visualization tool.
- Built-in visualization
- Exports raster images and animations
- Uses Mesa + TCL/TK libraries
- Legacy but still functional
- ParaView recommended for new work
Installation
Get Elmer running on your machine
Elmer is distributed through the Internet. The actual distribution site may vary, but the pointer to the location may always be found at the CSC Elmer pages. Precompiled binaries are provided for Windows and macOS; on Linux the recommended path is to compile from source for full control.
Elmer FEM Releases
github.com/ElmerCSC/elmerfemSource code is hosted at GitHub. Clone the repository for the version that is always up to date, or download a tagged release with precompiled Windows and macOS binaries.
Windows — Precompiled Installer
- 1
Go to the Elmer GitHub releases page and download the latest Windows installer (ElmerInstaller-x.x.x-win64.exe).
Releases are published at github.com/ElmerCSC/elmerfem/releases. Pick the asset whose filename ends in -win64.exe for 64-bit Windows.
- 2
Run the installer with default options. This installs ElmerGUI, ElmerSolver, ElmerGrid, and ElmerPost together.
No additional dependencies are required. The installer bundles Qt, the math libraries, and the mesh generators in a single package.
- 3
Launch ElmerGUI from the Start menu to verify the installation.
If the main window opens with the Model, Sif, Run, and View menus, Elmer is ready. You can also open a terminal and type ElmerSolver --version to confirm the command-line tools are on your PATH.
Verify the install
ElmerSolver --versionVerification: after installation, open ElmerGUI and run the first tutorial from the Elmer Tutorials manual. If the solver runs and produces a result file, your setup is complete.
The Simulation Workflow
From geometry to results in four stages
Every Elmer simulation follows the same canonical pipeline. Once you understand these four stages you can tackle any problem, from a single-field heat conduction case to a coupled fluid-structure-electromagnetics simulation.
Preprocess
Mesh + Model
Create or import a mesh with ElmerGUI or ElmerGrid, then define the physical model, materials, and boundary conditions through the GUI or directly in the .sif file.
Files:
mesh.nodesmesh.elementsmesh.boundarymesh.headerTool: ElmerGUI · ElmerGrid
Define
Command File
ElmerSolver reads the Solver Input File (.sif) which fully describes the problem: equations, materials, body forces, boundary conditions, and solver settings. The file is human-readable and editable.
Files:
case.sifTool: Text editor or ElmerGUI
Solve
ElmerSolver
ElmerSolver assembles the finite element matrices, applies boundary conditions, and solves the linear system — serially or in parallel with MPI. Convergence is reported live in the GUI or terminal.
Files:
case.resultELMERSOLVER_STARTINFOTool: ElmerSolver · mpirun
Postprocess
Visualize
Visualize results with ParaView (recommended for modern workflows), ElmerPost (legacy), or extract line data with SaveScalars / SaveLine for plotting in gnuplot, Matlab, or Python.
Files:
case.epcase.vtucase.datTool: ParaView · ElmerPost
Hands-on Tutorial
Your first simulation: heat conduction in a plate
This walkthrough takes you through the complete Elmer workflow on a classic steady-state heat conduction problem. After finishing it you will understand the GUI, the .sif file structure, and how to inspect results — the foundation for every other Elmer simulation.
Define the geometry
Open ElmerGUI. Use the built-in ElmerGrid to create a simple 2D square plate. Set the size to 1 × 1 (units are arbitrary in Elmer unless a coordinate scaling is set). This will be our heated plate.
For a first case, keep the geometry simple. The square is a classic benchmark you can verify against an analytical solution.
Generate the mesh
In ElmerGUI, use Mesh → Define and choose a structured quadrilateral mesh with 20 × 20 divisions. Click Generate to produce the mesh. You should see the grid drawn in the viewport.
Structured meshes are easy to reason about and perfect for tutorials. For real geometries you would import a mesh from Gmsh, GiD, or Comsol.
Choose the physics
Go to Model → Equation → Add. Select the Heat Equation solver, give it a name (e.g. "heat"), and accept the defaults. Then go to Model → Material → Add, name it "copper", and set Heat Conductivity = 401 (the value for pure copper in W/(m·K)).
The Heat Equation solver is a steady-state conduction solver. For transient problems you would also set Heat Capacity and Density and choose a transient time-stepping strategy.
Set boundary conditions
Go to Model → Boundary Condition → Add. Create two conditions: (1) "hot" with Temperature = 373 K on the left edge, and (2) "cold" with Temperature = 273 K on the right edge. Assign "hot" to boundary 1 and "cold" to boundary 2.
The remaining top and bottom edges are left as natural (insulated) boundary conditions, meaning zero heat flux. This gives a clean 1D temperature gradient across the plate.
Solve
Save the project with File → Save. Then go to Run → Start solver. The convergence monitor opens and you should see the linear system converge in a few iterations. When the solver finishes, the result is written to the mesh directory.
For steady-state heat conduction this is essentially a single linear solve, so it completes in milliseconds. Larger multiphysics cases can take hours or days.
Visualize
Run → Start postprocessor opens ElmerPost (or you can export to ParaView via ResultOutputSolve). You should see a smooth color gradient from red (hot, 373 K) on the left to blue (cold, 273 K) on the right, with parallel isotherms — confirming a correct 1D conduction solution.
For a more modern workflow, add the ResultOutputSolve solver to write VTU files, then open them in ParaView for publication-quality figures.
case.sifElmerGUI writes this file automatically when you save the project. Once you understand its structure, you can modify any simulation by editing it directly.
! Example: Steady-state heat conduction in a square plate
! Generated by ElmerGUI — hand-editable for full control
Simulation
Max Output Level = 5
Coordinate System = "Cartesian 2D"
Simulation Type = "Steady state"
Output Intervals(1) = 1
Post File = "case.ep"
End
Constants
Stefan Boltzmann = 5.670374e-08
End
Body 1
Target Bodies(1) = 1
Equation = 1
Material = 1
End
Solver 1
Equation = "Heat Equation"
Procedure = "HeatSolve" "HeatSolver"
Stabilize = True
Linear System Solver = "Iterative"
Linear System Iterative Method = "BiCGStab"
Linear System Max Iterations = 500
Linear System Preconditioning = "ILU1"
Linear System Convergence Tolerance = 1.0e-10
Steady State Convergence Tolerance = 1.0e-5
End
Equation 1
Active Solvers(1) = 1
End
Material 1
Name = "Copper"
Heat Conductivity = 401.0
Density = 8960.0
Heat Capacity = 385.0
End
Boundary Condition 1
Target Boundaries(1) = 1
Name = "hot edge"
Temperature = 373.0
End
Boundary Condition 2
Target Boundaries(1) = 2
Name = "cold edge"
Temperature = 273.0
EndThe .sif file is divided into blocks — Simulation, Constants, Body, Material, Equation, Solver, and Boundary Condition. Each block has a number and a list of keyword = value pairs. The full keyword list lives in SOLVER.KEYWORDS in the solver's library directory.
The SIF Command File
One file, fully reproducible simulations
The file with the .sif suffix is the command file read by ElmerSolver. It contains the user-prepared input data that controls the selection of physical models, boundary conditions, and so on. For simple setups it can be written automatically by ElmerGUI; for complex setups it is edited with a text editor. The documentation includes many example files that serve as starting points.
Each block has a number and a list of keyword = value pairs. Indentation is optional — only the keywords matter to the parser.
| Block | Purpose | Example keyword |
|---|---|---|
Simulation | Global settings: coordinate system (Cartesian, cylindrical, etc.), simulation type (steady / transient), output level, and the post file path. | Coordinate System = "Cartesian 2D" |
Constants | Physical constants shared across the whole simulation, such as the Stefan-Boltzmann constant for radiation models. | Stefan Boltzmann = 5.670374e-08 |
Body | Associates a mesh body (region of elements) with an equation set, a material, and optional body forces and initial conditions. | Equation = 1 Material = 1 |
Solver | Defines each numerical solver: the equation it solves, the Fortran procedure to call, the linear system method, preconditioner, and convergence tolerance. | Linear System Iterative Method = "BiCGStab" |
Equation | An equation set groups one or more active solvers so they can be assigned to bodies as a unit. Useful for multiphysics. | Active Solvers(2) = 1 2 |
Material | Material properties — conductivity, density, viscosity, etc. — referenced by bodies. Values can be constants or MATC expressions depending on fields. | Heat Conductivity = Variable Temperature; ... |
Boundary Condition | Dirichlet, Neumann, or Robin conditions on each boundary. Referenced by Body Force or Boundary Condition blocks and applied to target boundaries. | Temperature = 373.0 |
Body Force | Optional volumetric source terms such as internal heat generation, gravity for fluid flow, or Lorentz forces in electromagnetics. | Heat Source = 1.0e6 |
SimulationGlobal settings: coordinate system (Cartesian, cylindrical, etc.), simulation type (steady / transient), output level, and the post file path.
Coordinate System = "Cartesian 2D"ConstantsPhysical constants shared across the whole simulation, such as the Stefan-Boltzmann constant for radiation models.
Stefan Boltzmann = 5.670374e-08BodyAssociates a mesh body (region of elements) with an equation set, a material, and optional body forces and initial conditions.
Equation = 1 Material = 1SolverDefines each numerical solver: the equation it solves, the Fortran procedure to call, the linear system method, preconditioner, and convergence tolerance.
Linear System Iterative Method = "BiCGStab"EquationAn equation set groups one or more active solvers so they can be assigned to bodies as a unit. Useful for multiphysics.
Active Solvers(2) = 1 2MaterialMaterial properties — conductivity, density, viscosity, etc. — referenced by bodies. Values can be constants or MATC expressions depending on fields.
Heat Conductivity = Variable Temperature; ...Boundary ConditionDirichlet, Neumann, or Robin conditions on each boundary. Referenced by Body Force or Boundary Condition blocks and applied to target boundaries.
Temperature = 373.0Body ForceOptional volumetric source terms such as internal heat generation, gravity for fluid flow, or Lorentz forces in electromagnetics.
Heat Source = 1.0e6The Elmer file system
*.sifSolver Command File
The Solver Input File read by ElmerSolver. Contains user-prepared input data controlling selection of physical models, material properties, and boundary conditions. May be written automatically by ElmerGUI or hand-edited for complex setups.
mesh.*Solver Mesh Files
Four files (mesh.nodes, mesh.elements, mesh.boundary, mesh.header) in a single mesh directory. Created by ElmerGUI, ElmerGrid, or enhanced versions of Netgen and GiD.
*.resultSolver Result File
Written by ElmerSolver, used for simulation restart from a previous state. Default location is the mesh directory. Format is compatible only with ElmerSolver.
*.epElmerPost File
Written by ElmerSolver and read by ElmerPost. Mostly for visualization; legacy format provided for backward compatibility with custom user workflows.
*.grdElmerGrid Mesh Definition
Defines 1D, 2D, or 3D structured meshes. Read only by ElmerGrid. The structured format favors box-like geometries and parameterized academic test cases.
*.egElmerGrid Command File
Used to perform mesh manipulation operations with ElmerGrid. The same functionality can also be achieved through command-line arguments.
ELMERSOLVER_STARTINFOStart Info File
A simple file containing the name of the command (.sif) file. The alternative is to pass the command file name as a command-line parameter.
SOLVER.KEYWORDSKeyword Registry
Lists the keywords usable in the ElmerSolver command file. Located in the shared library directory. New keywords may be added via a local file for non-strict checking.
Running ElmerSolver from the command line
Once your case.sif and mesh.* files are ready, you can run a simulation entirely from the terminal — no GUI needed. This is the recommended workflow for batch jobs and HPC clusters.
# Run a serial simulation
ElmerSolver case.sif
# Run in parallel with MPI (4 processes)
ElmerGrid 2 2 mesh # partition mesh into 4 parts
mpirun -np 4 ElmerSolver case.sif
# Convert mesh from Gmsh format
ElmerGrid 14 2 my_mesh.msh -autoclean
# Export results to ParaView
# (add ResultOutputSolve in the SIF, or:)
ElmerGrid 2 2 mesh -partdual -metisrecDocumentation Library
Seven manuals that cover the whole suite
The Elmer documentation is constantly under development and can be downloaded from the CSC FTP server. The current set of manuals is listed below. Each manual focuses on a different part of the suite, so you usually only need one or two at a time.
.pdfElmerGUI Manual
ElmerGUIManual.pdfDetailed description of the graphical user interface. Complemented by walkthrough tutorials that guide you click-by-click through typical problems.
Open PDF.pdfElmerSolver Manual
ElmerSolverManual.pdfOverview of the general capabilities of the solver, focused on utilities useful across multiple physical models. The best reference for SIF keyword syntax.
Open PDF.pdfElmer Models Manual
ElmerModelsManual.pdfDescribes the physical models the solver can handle, with the specific options for controlling each equation solver. Also covers derived-quantity computation.
Open PDF.pdfElmer Tutorials
ElmerTutorials.pdfTwo tutorial styles: GUI walkthroughs that show the right menus and values, plus command-file examples with documentation. Files in ElmerTutorialFiles.tar.gz.
Open PDF.pdfElmerGrid Manual
ElmerGridManual.pdfManual of the ElmerGrid mesh utility. Examples are provided in ElmerGridExamples.tar.gz, found alongside the other manuals.
Open PDF.pdfMATC Manual
MATCManual.pdfManual of the MATC expression language built into ElmerSolver and ElmerPost for evaluating mathematical expressions on fields and parameters.
Open PDF.pdfElmer Overview
ElmerOverview.pdfThis overview document. A concise introduction to what Elmer is, its modules, its documentation, and the strategies for using the suite.
Open PDF.pdfOld Elmer User Guide
OldElmerUserGuide.pdfThe original user guide from 1999. Some appendices defining file formats may still be useful for understanding the native Elmer formats.
Open PDFAn Honest Assessment
Pros and cons of Elmer
Potential users may find a balanced list of the possible pros and cons of the Elmer package useful. The following summary is naturally open to subjective judgment and not complete either — but it reflects the official Elmer Overview document and real classroom experience.
Strengths
- Open source — verify and modify solution procedures at will
- Modern programmable graphical user interface (ElmerGUI)
- Flexible coupling of field equations; new field variables introduced easily
- Material parameters may depend on field variables in a free manner
- A large selection of modern numerical methods
- Supports the most common finite element types (Lagrange, edge, face, p-elements)
- Both assembly and iterative solution can be done in parallel
- Graphical preprocessing interface for simple problem setups
- Easily compiled on Unix; precompiled binaries for Windows and macOS
- Steadily growing user community; used in hundreds of scientific papers
Limitations
- Solver, interface, and documentation are not always at the same development phase
- Documentation is sometimes not fully up to date with the solver features
- The GUI lacks some of the more esoteric physical models provided by the solver
- Getting acquainted with such a large package takes time
- Previous experience with FEM packages is helpful before starting
- No built-in geometry or mesh generation for complicated problems (mesh import only)
- As a multiphysics solver it may lack features standard in established single-field codes
- Some users may find the capabilities inadequate for very specialized needs
- Solver keywords are not exhaustively listed in SOLVER.KEYWORDS — new ones appear
- Default error messages can be cryptic for a beginner
Verdict for students
Elmer is an excellent teaching tool because it exposes the full FEM pipeline — mesh, equations, materials, boundary conditions, linear solve, post-processing — without licensing fees or closed boxes. The learning curve is real, but a focused first week with the tutorials will pay back for every subsequent simulation you run, in Elmer or in any other FEM code.
Learning Path
A recommended six-step progression
The modularity of Elmer enables several strategies for using the package. The path below is the gentlest route we have found for complete beginners, taking you from your first install to running parallel multiphysics simulations on a cluster.
Install ElmerGUI
Download the precompiled binary for your operating system from the GitHub releases page and run the installer. On Windows this is a one-click .exe; on macOS a .dmg; on Linux you can use a package manager or compile from source.
Verify the installation by opening ElmerGUI from your applications menu. If it launches and you see the main window with mesh and solver menus, you are ready to proceed.
Run the Built-in Tutorials
Open ElmerGUI and follow Tutorial 1 from the Elmer Tutorials manual — typically a steady heat conduction problem on a simple geometry. This will give you the feel of the full preprocess → solve → postprocess workflow in under thirty minutes.
The tutorial files ship inside ElmerTutorialFiles.tar.gz. Extract them and open the .grd or mesh directly in ElmerGUI, then step through model setup, boundary conditions, and solver execution.
Read the SIF Command File
After solving a tutorial case, open the generated case.sif file in a text editor. Study its structure: Simulation, Constants, Body, Material, Equation, Boundary Condition, and Solver blocks. This is the key that unlocks Elmer for serious work.
The SIF format is keyword-driven and human-readable. Once you understand the block structure, you will be able to modify any simulation by editing the file directly, without touching the GUI.
Modify and Re-run
Change a material property, a boundary condition, or a solver parameter in the .sif file, then re-run ElmerSolver from the command line with: ElmerSolver case.sif. Compare the new results to the baseline run to build intuition for how each parameter affects the solution.
Working from the command line is faster than the GUI for repetitive studies. It also makes your simulations fully reproducible, because the .sif file plus the mesh directory completely define the problem.
Move to Multiphysics
Combine two or more equation types — for example heat transfer plus fluid flow, or elasticity plus electromagnetism. Elmer is designed for coupled problems: simply add multiple Solver blocks and assign equations to bodies. The solver sequencing is handled automatically.
This is where Elmer truly shines compared with single-field codes. Read the Elmer Models Manual to understand which solvers can be coupled and what coupling strategy (monolithic vs. segregated) is recommended for your application.
Explore Parallel Computing
Use ElmerGrid to partition your mesh and run ElmerSolver in parallel with mpirun. This lets you tackle larger problems and is essential for production simulations. Start with 2–4 partitions on your laptop before scaling up to a cluster.
Parallel execution is command-line driven: ElmerGrid 2 2 mesh partitioned_mesh (for 2×2 = 4 partitions), then mpirun -np 4 ElmerSolver. Verify that results match the serial run to within solver tolerance before trusting the parallel setup.
Four preprocessing strategies — pick the one that fits your problem
ElmerGrid + editor: easiest for academic structured meshes (box-like shapes). ElmerGUI + its mesher: great starting point for simple geometries. External mesh + ElmerGUI: import from Gmsh, Comsol, or Ideas for complex shapes. External mesh + .sif editor: the power-user workflow — fastest for repetitive studies and the most reproducible.
Resources & Community
Where to go next
Elmer is distributed only through the Internet. The actual distribution site may vary but the pointer to the location may always be found at the CSC Elmer pages. Below are the essential bookmarks every student should keep close.