Skip to main content
Glama

scaffold_case

Set up a runnable OpenFOAM case with specified solver, mesh dimensions, and turbulence fields. Generates system, constant, and 0 directories for immediate blockMesh and solver execution.

Instructions

Create a runnable OpenFOAM case skeleton at case_dir for the chosen solver (simpleFoam / pimpleFoam / icoFoam). Writes system/, constant/ and 0/ with a single-block box mesh (patches: inlet, outlet, walls, frontAndBack) and consistent turbulence fields.

openfoam_flavor selects the case style:

  • 'classic' (default): application ; + transportProperties. Validated on ESI v1912; works on ESI v2006+ and Foundation v8-v10.

  • 'foundation-v12': application foamRun; solver incompressibleFluid; + physicalProperties. Targets OpenFOAM Foundation v11/v12. Run blockMesh, then <solver> (classic) or foamRun (foundation-v12).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
solverNosimpleFoam
cells_xNo
cells_yNo
cells_zNo
case_dirYes
domain_xNo
domain_yNo
domain_zNo
end_timeNo
velocityNo
openfoam_flavorNoclassic
kinematic_viscosityNo
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses that it writes system/, constant/, and 0/ directories, creates a single-block box mesh with specified patches, and sets up consistent turbulence fields. It also explains flavor-specific file differences (transportProperties vs physicalProperties) and version compatibility. However, it does not disclose what happens if case_dir already exists (overwrite vs error), prerequisites (e.g., blockMesh availability), or the return value. These gaps are notable but the core behavior is well described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is around 150 words, structured with a leading purpose statement followed by a clear explanation of openfoam_flavor and execution steps. It is information-dense without unnecessary filler. The only minor inefficiency is the repeated mention of 'chosen solver' when the sibling list already includes solver options, but overall it's well-organized and front-loaded with the primary purpose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 12 parameters, no output schema, and no annotations, the description is incomplete. It defines the core behavior and flavor options, but leaves many parameters underspecified (e.g., cells, domain, end_time, velocity, kinematic_viscosity). It also doesn't mention what the tool returns or any post-creation checks. While the description can still be used for a basic scaffold, the lack of parameter guidance for most fields makes it insufficient for confident usage without additional lookups.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, so the description must explain parameters. It only details openfoam_flavor (with classic and foundation-v12 options). Other parameters like cells_x, cells_y, cells_z, domain_x, domain_y, domain_z, end_time, velocity, kinematic_viscosity are left unexplained beyond being present in the schema. The description mentions 'single-block box mesh' which hints at cells/domain, but there is no explicit mapping of these parameters to their meaning or defaults. This forces the agent to infer from names, which is insufficient for a 12-parameter tool.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's function: 'Create a runnable OpenFOAM case skeleton at case_dir' with a specific verb, resource, and output structure (system/, constant/, 0/). It distinguishes itself from siblings like generate_blockmesh (which only creates mesh) and run_openfoam_command by positioning itself as the scaffold creator that creates files and defines the solver and flavor.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear guidance on when to use each openfoam_flavor (classic vs foundation-v12) with version-specific recommendations, and gives execution steps ('Run blockMesh, then <solver> ...'). It does not explicitly name alternative tools like generate_blockmesh for mesh-only needs, but the context of creating a complete case skeleton is evident. Lacks explicit 'use this instead of X' phrasing but provides enough context to select the tool appropriately.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kimlnw/openfoam-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server