This page documents the structural components that assemble and dispatch a Metafold DTB simulation — authentication, parts, run settings, and the experiment dispatchers. For the material components (MF Neo-Hook Mat, MF Mooney Mat, etc.), see the [[Material Models in Metafold for Grasshopper]] page.
💡 Tip: A minimal simulation needs just five components wired together: MF Auth → a material → MF Deformable (your sample) + MF Rigid (the piston) → MF DTB Experiment. Everything else (MF SimConfig, MF Simulation, MF Multiple Simulation Experiment) adds control or lets you compare several runs at once.
Metafold Auth
The concept: This component manages authentication. It initiates a browser-based login flow and maintains the resulting session, enabling the dispatch components to communicate with Metafold's servers on your behalf.
Inputs:
- Login URL (
URL) — defaults to the production API; only change this if you're pointed at a different environment
Outputs:
- Client (
C) — feed this into MF DTB Experiment or MF Multiple Simulation Experiment - Status (
S) — will show if the session is logged in or no.
Metafold DTB Material Preset
The concept: The fast path to a working material without tuning any parameters yourself — picks one of Metafold's built-in materials.
Inputs:
- Preset (
P) — a built-in material, chosen by name; default isdefault_midsole_nominal(shown as Midsole in the dropdown)
Available presets:
- Defaults (generic, role-based):
default_midsole_nominal,default_outsole,default_upper_foam,default_piston_material,default_support_material
default_midsole_nominal), outputting a ready-to-use Material and Summary.
- Named (specific real materials):
material_abs,material_aluminum,material_basf_epd,material_basf_pp1400_xy,material_basf_pp1400_z,material_basf_rg3280,material_basf_tpu01,material_eos_pa11,material_eos_tpe300,material_epu_41,material_epu_45,material_nylon_6,material_nylon_12,material_pla,material_stainless_steel,material_ti64,material_tpu
Outputs:
- Material (
M) — connects to the Material input on MF Deformable - Summary (
S) — gives a summary of what the preset is actually doing (the material's key properties at a glance)
Good for a first pass or a quick sanity-check run before you invest time in a properly calibrated material from the [[Material Models in Metafold for Grasshopper]] page.
Metafold DTB Deformable (a sample part)
The concept: Turns a mesh plus a material into a part that will actually deform in the simulation — this is what you use for the thing you're testing (the sample), as opposed to the piston or a support.
Inputs:
- Geometry (
G) — a Rhino mesh - Material (
M) - Name (
N) — optional; otherwise derived from the geometry
Outputs:
- Part (
P) — feed into an experiment or MF Simulation
Metafold DTB Rigid (the piston, last, or a rigid support)
The concept: Turns a mesh into a rigid part — either the piston that compresses your sample, or a stationary support underneath it. Unlike MF Deformable, this component doesn't deform no matter what material or forces are applied.
- Type (
T) — selects the part's role: - Mesh (0) — a plain mesh part. Note: this produces an ordinary deformable part, not a rigid one — to get rigid behavior from Type 0, give it a Rigid material, or just use Piston Mesh / Support Mesh instead, which are rigid by construction.
- Piston Mesh (1, default) — the moving piston that compresses the sample
- Support Mesh (2) — a stationary rigid base the sample rests on. Rigid and stationary by default, uses the built-in support material, and (unlike the piston) has friction enabled by default — a coefficient of 0.1 — so samples don't slide freely across it. If you don't model a base at all, the grid's lower Z face already acts as a fixed boundary.
- Velocity Profile (
V) — optional keyframes{t, vx, vy, vz}describing how the part moves over the simulation's time axis. Velocities are in m/s. A negative component moves the part along that axis, so a downward press along Z isvznegative. Omit the profile to use the built-in piston motion (a press-and-release ramp). Thetvalues must increase monotonically (each keyframe strictly later than the last). If you're using Force Limit, the profile should have only one zero-velocity crossing, in the middle (i.e. a single press-then-release shape), and should not start or end on a zero velocity value — otherwise Force Limit won't behave as expected.
vz ramps negative then back to positive.
Metafold DTB Rigid with Force Control
- Name (
N) — optional; otherwise derived from the geometry
- Force Limit (
F) — caps the load: when the measured force on a face reaches the given value, the part jumps to zero velocity and stops pressing, rather than continuing on its velocity profile. Internally it's a face plus a value. This is how you reproduce a load-limited rig instead of a fixed-displacement one — note it's a hard stop at a threshold, not a continuous force controller that tracks a target force curve throughout the run.
Outputs:
- Part (
P) — feed into an experiment or MF Simulation
10000).
Metafold DTB SimConfig (run settings)
The concept: The numerical settings for the run — how long it simulates, how finely it's resolved, and which solver runs it.
Inputs:
- Max Resolution (
Res, default 64) — the sampling density; see the resolution guidance below - Max Time (
T, default 0.04s) — total simulated duration; should be long enough for the piston's velocity profile to finish (compress and release, if it unloads) - Delt Min (
dMin, default 0.0) — smallest allowed timestep; leave at 0.0 on the standard solver (it adapts automatically), but set a real value on the experimental (GPU) solver, which doesn't adapt
- Delt Max (
dMax, default 0.001) — largest allowed timestep; if a stiff material goes numerically unstable (stresses blow up), lowering this is the usual fix - Output Interval (
Out, default 0.002) — how often a full-field frame is written - Mesh Scale (
Scale, default 1.0) — applied when exporting your Rhino meshes; leave at 1.0 if you model in millimetres, or use it to convert (e.g. 10.0 for centimetres) - Use Experimental Solver (
Exp, default false) — required if you're using an experimental material (Orthotropic or Hyperfoam)
Outputs:
- Config (
Cfg), Summary (S)
On resolution: Metafold takes the combined bounding box of every part and samples Max Resolution points along its longest axis; every part is then sampled at a resolution scaled to its own size, so all parts share the same spatial point density. Higher resolution captures geometry more finely but costs much more to run — most simulations need no more than 256, and it's worth aiming for at least 5 sample points across the thinnest feature you actually care about (that's usually what should set your number, not the overall part size). Start low (32–64) to validate your setup, then raise it once everything behaves as expected.
On units: the solver runs in SI internally. Geometry is modeled in millimeters in Rhino and auto-converted to meters via Mesh Scale on MF SimConfig (default 1.0 = millimeters). Material properties (G, K, yield stress, density, etc.) are not converted — you enter them directly in SI yourself (pascals, kg/m³), regardless of Mesh Scale. Time settings are in seconds; piston velocities in mm/s.
Metafold DTB Simulation (one variant, for multi-sim experiments)
The concept: Packages a set of parts, a config, and a name into a single named simulation — the unit you compare against other variants in a multi-simulation experiment.
Inputs:
- Parts (
P) — the sample(s), piston, and any support making up this variant - Config (
Cfg) — optional; the run settings from MF SimConfig for this variant - Name (
N) — optional; identifies this variant among the others being compared
Outputs:
- Simulation (
Sim) — the packaged variant; feed into MF Multiple Simulation Experiment
Metafold DTB DTB Experiment (dispatch a single simulation)
The concept: Sends one simulation to Metafold's servers and gives you back a link to watch it run.
Inputs:
- Client (
C) — the authenticated session from MF Auth - Parts (
P) — the sample(s), piston, and any support to include in this run - Project Name (
N, defaultdtb_experiment) — the name shown for this project in the Digital Test Bench - Config (
Cfg) — optional - Open Project (
Open, default true) — opens the result in your browser once dispatch completes
Outputs:
- Project URL (
URL) — the link to view this run in the Digital Test Bench - Status (
S) — reports whether dispatch succeeded or failed - Manifest (
J) — the actual JSON sent to the server - Log (
L) — the full dispatch sequence, useful for troubleshooting
Metafold DTB Multiple Simulation Experiment (dispatch a comparison)
The concept: Like MF DTB Experiment, but for running several simulation variants side by side — different materials, meshes, or piston speeds — so you can compare them in one dashboard.
Inputs:
- Client (
C) — the authenticated session from MF Auth - Simulations (
Sims) — the packaged variants to compare (from MF Simulation) — the first one is treated as the base case - Project Name (
N) — the name shown for this comparison project in the Digital Test Bench - Open Project (
Open, default true) — opens the result in your browser once dispatch completes
Outputs:
- Project URL (
URL) — the link to view this comparison in the Digital Test Bench - Status (
S) — reports whether dispatch succeeded or failed - Manifest (
J) — the actual JSON sent to the server - Log (
L) — the full dispatch sequence, useful for troubleshooting