fea.study — Create or load a typed RunMat FEA study.
fea.study(path) loads a study document, while fea.study(id, geometry, Name, Value, ...) assembles a typed fea.Study.
Syntax
study = fea.study(path)
study = fea.study(id, geometry, Name, Value, ...)Inputs
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
path | StringScalar | Yes | — | Path to a .fea file. |
id | StringScalar | Yes | — | Study id. |
geometry | Any | Yes | — | geometry.Asset returned by geometry.load. |
Name, Value | Any | Variadic | — | Required Profile plus Backend, ModelId, and model setup options. |
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.study works
- The path form requires one
.featext path that resolves to a study rather than a sweep. The constructor form requires a text id andgeometry.Asset. - Constructor options are
RunKindorKind,Profile,Backend,ModelId,Model,Frame,Defaults,Materials,MaterialAssignmentsorAssignments,BoundaryConditionsorBCs,LoadsorLoadCases,Steps,Domains,Interfaces, andRunOptionsorOptions. - Profile defaults to
linear_static_structural, backend defaults tocpu, defaults mode isprofile_scaffold, and model id defaults to the supplied model id or a sanitized<study-id>_model. An explicit run kind must agree with the profile-derived solver. - Direct integer inputs have no role. Nested typed components and run options retain their own exact structural or binary64 physics contracts. Public revision and count properties remain exact typed integers.
- Object identity, option names, profile/run-kind agreement, and component classes are validated before study construction. Existing and STL/synthetic geometry require no native OCCT; loading topology CAD may require the configured importer.
Example
Create a study
study = fea.study("bracket", geom, "Profile", "linear_static_structural", "Backend", "cpu");Using fea.study with coding agents
Open a RunMat example with live inputs, then ask the agent to explain how fea.study changes the result.
Run a small fea.study example, explain the result, then change one input and compare the output.
FAQ
Can numeric values stand in for a profile or backend?⌄
No. Structural identity fields are text or typed objects and are never numerically coerced.
Related Fea functions
fea.boundaryCondition · fea.compare · fea.domain · fea.field · fea.interface · fea.loadCase · fea.material · fea.materialAssignment · fea.model · fea.plan · fea.plot · fea.results · fea.run · fea.runOptions · fea.step · fea.sweep · fea.trends · fea.validate
Open-source implementation
Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how fea.study is executed, line by line, in Rust.
- View the source for fea.study 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.