Node Reference¶
Nodes are the fundamental building blocks of Hermes workflows. Each node performs a specific task and can receive inputs from and provide outputs to other nodes.
Node JSON Structure¶
Every node in a workflow has this basic structure:
{
"NodeName": {
"Execution": {
"input_parameters": {
"param1": "value1",
"param2": "value2"
}
},
"type": "category.NodeType",
"requires": ["OtherNode"]
}
}
| Field | Description |
|---|---|
Execution.input_parameters |
Parameters that configure the node's behavior |
type |
Node type identifier (e.g., general.CopyDirectory) |
requires |
Optional explicit dependencies on other nodes |
GUI |
Optional FreeCAD GUI configuration |
Dependencies¶
Dependencies between nodes are resolved in two ways:
- Implicit — via parameter references like
{NodeName.output.Field} - Explicit — via the
requiresfield
Node Categories¶
General Nodes¶
Basic file operations, code execution, and template processing.
| Node | Type | Description |
|---|---|---|
| CopyDirectory | general.CopyDirectory |
Copy entire directory trees |
| CopyFile | general.CopyFile |
Copy individual files |
| RunOsCommand | general.RunOsCommand |
Execute shell commands |
| RunPythonCode | general.RunPythonCode |
Execute Python code |
| JinjaTransform | general.JinjaTransform |
Process Jinja2 templates |
| FilesWriter | general.FilesWriter |
Write files with generated content |
| Parameters | general.Parameters |
Define simulation parameters |
OpenFOAM Nodes¶
Specialized nodes for OpenFOAM CFD simulation setup.
| Category | Nodes | Description |
|---|---|---|
| Mesh | BlockMesh, SnappyHexMesh, GeometryDefiner, RefineMesh | Mesh generation |
| System | ControlDict, FvSchemes, FvSolution, ChangeDictionary, CreatePatch, DecomposePar, FvConstraints, MeshQualityDict, SetFields, SurfaceFeatures, TopoSetDict | Solver and case configuration |
| Constant | TransportProperties, TurbulenceProperties, PhysicalProperties, MomentumTransport, ThermophysicalProperties, Gravity, WindLogProfile, BuildAllrun | Physical properties and execution |
| Dispersion | KinematicCloudProperties, MakeFlowDispersion, Stable2018Dict, Neutral2018Dict, Convective2018Dict, IndoorDict | Particle and atmospheric dispersion |
| BC | Boundary Conditions | Field boundary conditions |