fem.ThermalStudy
fem.ThermalStudy(
name,
resolution=None,
*,
conductivity=FROM_MATERIAL,
bcs=list(),
source=0.0,
bounds=None,
size=None,
mesh=None,
domain=None,
)
Declarative steady-state heat conduction study.
Attributes
| name |
str |
Study identifier (unique within a scene program). |
| resolution |
Any |
Meshing resolution (cells per axis, int or triplet); leave None when mesh is given. |
| conductivity |
Any |
Thermal conductivity k in W/(m*K), keyword-only. A number applies to the whole domain; the default :data:~cadjoint.fem.properties.FROM_MATERIAL sentinel samples the scene’s material field per element instead. |
| bcs |
list[Dirichlet | HeatFlux] |
:class:Dirichlet / :class:HeatFlux boundary conditions (at least one Dirichlet is required to solve). |
| source |
float |
Volumetric heat source q. |
| bounds |
Any |
Lower corner of the meshing domain (None: default volume). |
| size |
Any |
Extent of the meshing domain (None: default volume). |
| mesh |
SimMesh | str | None |
A declared :class:~cadjoint.fem.simmesh.SimMesh (or its name) to solve on; when given, resolution/bounds/size/domain live on the mesh and must be left unset here. |
| domain |
Any |
Optional SDF restricting which part of the scene is meshed (implicit-mesh studies only). |
| last_result |
Any |
The :class:~cadjoint.fem.result.SimulationResult of the most recent solve (None before the first). |
Methods
| describe |
JSON-ready payload: everything the viewer needs to display it. |
| solve |
Mesh the field (through the study’s SimMesh) and run the solve. |
describe
fem.ThermalStudy.describe()
JSON-ready payload: everything the viewer needs to display it.
solve
fem.ThermalStudy.solve(sdf=None, *, backend=None, mesh=None, points=None)
Mesh the field (through the study’s SimMesh) and run the solve.
Parameters
| sdf |
|
Scene SDF object or plain callable field; optional when the study’s mesh declares a domain. |
None |
| backend |
|
Optional solver backend override (see :func:cadjoint.fem.simulate.thermal_solve). |
None |
| mesh |
HexMesh | TetMesh | CutMesh | SimMesh | str | None |
Optional mesh override — a pre-extracted :class:~cadjoint.fem.hexmesh.HexMesh or :class:~cadjoint.fem.tetmesh.TetMesh, a SimMesh, or a declared mesh name. |
None |
| points |
|
The placement — what the mesh’s moved returned for a traced design (node positions for a mesh, the field for cut cells) — for differentiable frozen-topology solves; BC selections still resolve on the nominal mesh. |
None |
Returns
| A |
|
class:~cadjoint.fem.result.SimulationResult (also stored |
|
|
as last_result). |