Skip to content
Science templates

Mechanics — force analysis and energy cross-check

Solve a conceptual mechanics problem through both force balance and energy accounting. Define the system and reference frame first; non-conservative work and changing constraints must appear explicitly.

Template previewScience
Rendering…

What this template contains

Source
24 lines

Make it your own.

{
  "nodes": [
    { "id": "sys", "type": "rounded", "label": "System boundary and frame", "x": 40, "y": 200, "width": 150, "height": 104, "fill": "#ede9fe", "stroke": "#6d28d9" },
    { "id": "free", "type": "rounded", "label": "Free-body diagram", "x": 215, "y": 40, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "ener", "type": "rounded", "label": "Energy stores and transfers", "x": 215, "y": 360, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "newt", "type": "rounded", "label": "Equations of motion", "x": 390, "y": 40, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "work", "type": "rounded", "label": "Work and dissipation terms", "x": 390, "y": 360, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "init", "type": "octagon", "label": "Initial / boundary conditions", "x": 390, "y": 520, "width": 150, "height": 104, "fill": "#e0f2fe", "stroke": "#0369a1" },
    { "id": "sol", "type": "rounded", "label": "Motion solution", "x": 565, "y": 200, "width": 150, "height": 104, "fill": "#fef3c7", "stroke": "#b45309" },
    { "id": "check", "type": "octagon", "label": "Dimensional / limiting-case checks", "x": 740, "y": 200, "width": 150, "height": 104, "fill": "#e0f2fe", "stroke": "#0369a1" },
    { "id": "agree", "type": "rounded", "label": "Independent energy cross-check", "x": 915, "y": 200, "width": 150, "height": 104, "fill": "#fce7f3", "stroke": "#be185d" }
  ],
  "edges": [
    { "id": "e0", "source": "sys", "target": "free", "label": "identify forces" },
    { "id": "e1", "source": "sys", "target": "ener", "label": "identify transfers" },
    { "id": "e2", "source": "free", "target": "newt", "label": "apply dynamics" },
    { "id": "e3", "source": "ener", "target": "work", "label": "account energy" },
    { "id": "e4", "source": "newt", "target": "sol", "label": "solve" },
    { "id": "e5", "source": "init", "target": "sol", "label": "constrain" },
    { "id": "e6", "source": "sol", "target": "check", "label": "verify" },
    { "id": "e7", "source": "work", "target": "agree", "label": "energy prediction" },
    { "id": "e8", "source": "check", "target": "agree", "label": "compare routes" }
  ]
}