fea.interface — Create a typed RunMat FEA interface.
fea.interface(id, primaryRegion, secondaryRegion, Name, Value, ...) creates contact, fluid-structure, or conjugate heat-transfer interface data.
Syntax
interface = fea.interface(id, primaryRegion, secondaryRegion, Name, Value, ...)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
id | StringScalar | Yes | — | Interface id. |
primaryRegion | StringScalar | Yes | — | Primary geometry region selector. |
secondaryRegion | StringScalar | Yes | — | Secondary geometry region selector. |
Name, Value | Any | Variadic | — | Interface kind and numeric fields. |
Returns
| Name | Type | Description |
|---|---|---|
result | Any | FEA object or operation result. |
Errors
| Identifier | When | Message |
|---|---|---|
RunMat:fea:LoadFailed | A .fea document cannot be read, parsed, or resolved. | fea: failed to load FEA document |
RunMat:fea:InvalidInput | A builtin receives an unsupported argument pattern or object type. | fea: invalid input |
RunMat:fea:OperationFailed | A validation, planning, run, result-query, comparison, or trend operation fails. | fea: operation failed |
RunMat:fea:Internal | An FEA object or operation result cannot be converted to a RunMat value. | fea: internal error |
How fea.interface works
- Interface id and both region selectors are exact text values;
Kinddefaults to contact. - Finite real numeric fields accept all eight built-in integer classes and cross one host-only binary64 model-storage boundary after field and shape validation.
- Contact fields are penalty stiffness scale, maximum penetration ratio, and friction coefficient; FSI fields are normal stiffness, damping ratio, and relaxation factor; CHT fields are thermal conductance, contact resistance, and relaxation factor.
- Unknown fields, nonfinite values, nonscalar values, and resident numeric fields are rejected before object construction.
Example
Create a contact interface
contact = fea.interface("joint", "face:a", "face:b", "Kind", "contact", "FrictionCoefficient", uint8(0));Using fea.interface with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how fea.interface changes the result.
Run a small fea.interface example, explain the result, then change one input and compare the output.
FAQ
Does interface construction use the GPU?⌄
No. It creates host model data; backend execution occurs only in a later solve.
Related Fea functions
fea.boundaryCondition · fea.compare · fea.domain · fea.field · fea.loadCase · fea.material · fea.materialAssignment · fea.model · fea.plan · fea.plot · fea.results · fea.run · fea.runOptions · fea.step · fea.study · fea.sweep · fea.trends · fea.validate
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how fea.interface is executed, line by line, in Rust.
- View the source for fea.interface in Rust on GitHub
- Learn how the RunMat runtime works
- Found a bug? Open an issue with a minimal reproduction.
About RunMat
RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.
- RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
- Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.