Skip to main content
Glama

bulc_set_evac_model

Configure evacuation simulation models for building safety analysis. Set parameters for CollisionFreeSpeed, SocialForce, or GeneralizedCentrifugal models to simulate pedestrian movement during emergencies.

Instructions

Set the evacuation simulation model type and parameters. Supports CollisionFreeSpeed, SocialForce, and GeneralizedCentrifugal models.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
modelNoModel type: 'CollisionFreeSpeed', 'SocialForce', 'GeneralizedCentrifugal'. Default: CollisionFreeSpeed
simulationTimeNoMaximum simulation time in seconds. Default: 300
timeStepNoSimulation time step in seconds. Default: 0.1
strengthNeighborRepulsionNoNeighbor repulsion strength (CollisionFreeSpeed). Default: 8.0
rangeNeighborRepulsionNoNeighbor repulsion range in meters (CollisionFreeSpeed). Default: 0.1
bodyForceNoBody force constant (SocialForce). Default: 120000
frictionNoFriction coefficient (SocialForce). Default: 240000

Implementation Reference

  • Tool registration in evacTools array, defining name, description, input schema, and annotations for the bulc_set_evac_model tool.
    { name: "bulc_set_evac_model", description: "Set the evacuation simulation model type and parameters. " + "Supports CollisionFreeSpeed, SocialForce, and GeneralizedCentrifugal models.", inputSchema: { type: "object" as const, properties: { model: { type: "string", description: "Model type: 'CollisionFreeSpeed', 'SocialForce', 'GeneralizedCentrifugal'. Default: CollisionFreeSpeed", enum: ["CollisionFreeSpeed", "SocialForce", "GeneralizedCentrifugal"], }, simulationTime: { type: "number", description: "Maximum simulation time in seconds. Default: 300", }, timeStep: { type: "number", description: "Simulation time step in seconds. Default: 0.1", }, // CollisionFreeSpeed params strengthNeighborRepulsion: { type: "number", description: "Neighbor repulsion strength (CollisionFreeSpeed). Default: 8.0", }, rangeNeighborRepulsion: { type: "number", description: "Neighbor repulsion range in meters (CollisionFreeSpeed). Default: 0.1", }, // SocialForce params bodyForce: { type: "number", description: "Body force constant (SocialForce). Default: 120000", }, friction: { type: "number", description: "Friction coefficient (SocialForce). Default: 240000", }, }, }, annotations: { readOnlyHint: false, destructiveHint: true, }, },
  • Zod validation schema (SetEvacModelSchema) used in the handler to parse and validate input arguments for bulc_set_evac_model.
    const SetEvacModelSchema = z.object({ model: z.enum(["CollisionFreeSpeed", "SocialForce", "GeneralizedCentrifugal"]).optional(), simulationTime: z.number().positive().optional(), timeStep: z.number().positive().optional(), strengthNeighborRepulsion: z.number().optional(), rangeNeighborRepulsion: z.number().optional(), bodyForce: z.number().optional(), friction: z.number().optional(), });
  • Handler logic within handleEvacTool switch statement: validates input using SetEvacModelSchema and forwards 'set_evac_model' action to BulcClient.
    case "bulc_set_evac_model": { const validated = SetEvacModelSchema.parse(args); result = await client.sendCommand({ action: "set_evac_model", params: validated, }); break;

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