calculate_static_friction
Calculate maximum static friction force and determine whether an object will slip under an applied horizontal force.
Instructions
Calculate maximum static friction force: f_s,max = μ_s × N.
Determines whether an object will slip under applied force.
Args:
normal_force: Normal force in Newtons
coefficient_static_friction: Coefficient of static friction μ_s
applied_force: Applied horizontal force in Newtons (optional)
Returns:
Dict containing:
- max_static_friction: Maximum static friction in Newtons
- will_slip: Whether object will slip (if applied_force provided)
- friction_force: Actual friction force (if applied_force provided)
Example - Box on floor:
result = await calculate_static_friction(
normal_force=100,
coefficient_static_friction=0.5,
applied_force=40
)
# will_slip = False (40N < 50N max)
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| normal_force | Yes | ||
| coefficient_static_friction | Yes | ||
| applied_force | No |
Implementation Reference
- MCP tool endpoint: async @tool-decorated function that wraps the core statics handler and exposes it via MCP protocol
@tool # type: ignore[arg-type] async def calculate_static_friction( normal_force: float, coefficient_static_friction: float, applied_force: float | None = None, ) -> dict: """Calculate maximum static friction force: f_s,max = μ_s × N. Determines whether an object will slip under applied force. Args: normal_force: Normal force in Newtons coefficient_static_friction: Coefficient of static friction μ_s applied_force: Applied horizontal force in Newtons (optional) Returns: Dict containing: - max_static_friction: Maximum static friction in Newtons - will_slip: Whether object will slip (if applied_force provided) - friction_force: Actual friction force (if applied_force provided) Example - Box on floor: result = await calculate_static_friction( normal_force=100, coefficient_static_friction=0.5, applied_force=40 ) # will_slip = False (40N < 50N max) """ from ..statics import StaticFrictionRequest from ..statics import calculate_static_friction as calc_friction request = StaticFrictionRequest( normal_force=normal_force, coefficient_static_friction=coefficient_static_friction, applied_force=applied_force, ) response = calc_friction(request) return response.model_dump()