Skip to main content
Glama
using76
by using76

bulc_create_mesh

Define a computational domain for fire simulation by creating an FDS mesh with specified dimensions and cell counts.

Instructions

Create a new FDS computational mesh with specified dimensions and cell count. The mesh defines the computational domain for fire simulation.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
meshIdNoMesh identifier. Default: MESH_1, MESH_2, etc.
xMinYesMinimum X coordinate in meters
xMaxYesMaximum X coordinate in meters
yMinYesMinimum Y coordinate in meters
yMaxYesMaximum Y coordinate in meters
zMinNoMinimum Z coordinate in meters. Default: 0
zMaxYesMaximum Z coordinate in meters
iCellsNoNumber of cells in X direction
jCellsNoNumber of cells in Y direction
kCellsNoNumber of cells in Z direction
cellSizeNoUniform cell size in meters (alternative to specifying cell counts). If provided, cell counts will be calculated automatically.

Implementation Reference

  • The handler logic for the 'bulc_create_mesh' tool. Validates input parameters using CreateMeshSchema and sends a 'create_mesh' command to the BULC client via getBulcClient().
    case "bulc_create_mesh": {
      const validated = CreateMeshSchema.parse(args);
      result = await client.sendCommand({
        action: "create_mesh",
        params: validated,
      });
      break;
    }
  • Zod schema used for runtime validation of input arguments to the bulc_create_mesh tool handler.
    const CreateMeshSchema = z.object({
      meshId: z.string().optional(),
      xMin: z.number(),
      xMax: z.number(),
      yMin: z.number(),
      yMax: z.number(),
      zMin: z.number().optional(),
      zMax: z.number(),
      iCells: z.number().int().positive().optional(),
      jCells: z.number().int().positive().optional(),
      kCells: z.number().int().positive().optional(),
      cellSize: z.number().positive().optional(),
    });
  • The tool definition object for 'bulc_create_mesh' exported in meshTools array, which is included in the global allTools list and registered with the MCP server via ListToolsRequestHandler.
    {
      name: "bulc_create_mesh",
      description:
        "Create a new FDS computational mesh with specified dimensions and cell count. " +
        "The mesh defines the computational domain for fire simulation.",
      inputSchema: {
        type: "object" as const,
        properties: {
          meshId: {
            type: "string",
            description: "Mesh identifier. Default: MESH_1, MESH_2, etc.",
          },
          xMin: {
            type: "number",
            description: "Minimum X coordinate in meters",
          },
          xMax: {
            type: "number",
            description: "Maximum X coordinate in meters",
          },
          yMin: {
            type: "number",
            description: "Minimum Y coordinate in meters",
          },
          yMax: {
            type: "number",
            description: "Maximum Y coordinate in meters",
          },
          zMin: {
            type: "number",
            description: "Minimum Z coordinate in meters. Default: 0",
          },
          zMax: {
            type: "number",
            description: "Maximum Z coordinate in meters",
          },
          iCells: {
            type: "integer",
            description: "Number of cells in X direction",
          },
          jCells: {
            type: "integer",
            description: "Number of cells in Y direction",
          },
          kCells: {
            type: "integer",
            description: "Number of cells in Z direction",
          },
          cellSize: {
            type: "number",
            description: "Uniform cell size in meters (alternative to specifying cell counts). " +
              "If provided, cell counts will be calculated automatically.",
          },
        },
        required: ["xMin", "xMax", "yMin", "yMax", "zMax"],
      },
      annotations: {
        readOnlyHint: false,
        destructiveHint: true,
      },
    },
  • Routing logic in the main MCP CallToolRequestHandler that dispatches 'bulc_*_mesh' tools to the handleMeshTool function.
    if (name.startsWith("bulc_") && name.includes("mesh")) {
      return await handleMeshTool(name, safeArgs);

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/using76/BULC_MCP'

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