The Principia Machina/TPC-PY/examples/spring track draft.json: Difference between revisions
Appearance
TPC-PY source examples/spring_track_draft.json (-), SHA-256 8115ff88e3adf806; conformed TPS 0.3.0; PROPOSED, not declared (CO-8) |
m 1 revision imported |
||
(No difference)
| |||
Latest revision as of 04:32, 28 September 2026
{
"TPK": {
"DOF": [
{"NAME": "t", "DIMENSION": "T1"},
{"NAME": "x", "DIMENSION": "L1"},
{"NAME": "v", "DIMENSION": "L1 T-1"},
{"NAME": "z", "DIMENSION": "L1"},
{"NAME": "F_n", "DIMENSION": "M1 L1 T-2"}
],
"CONSTANT": [
{"NAME": "m", "DIMENSION": "M1"},
{"NAME": "k_s", "DIMENSION": "M1 T-2"},
{
"NAME": "x_max",
"DIMENSION": "L1",
"VALUE": "0.05",
"UNIT": "m",
"UNCERTAINTY": "0.001"
},
{
"NAME": "g_n",
"DIMENSION": "L1 T-2",
"VALUE": "9.80665",
"UNIT": "m s-2"
}
],
"LAW": [
{
"NAME": "EOM_X",
"STATEMENT": "m dv/dt = -k_s x",
"REFS": ["m", "v", "k_s", "x", "t"],
"ROLE": "EOM(v)",
"EQUATION": "m * D(v, t) = -k_s * x"
},
{
"NAME": "KIN",
"STATEMENT": "dx/dt = v",
"REFS": ["x", "v", "t"],
"ROLE": "EOM(x)",
"EQUATION": "D(x, t) = v"
},
{
"NAME": "EOM_Z",
"STATEMENT": "m d2z/dt2 = F_n - m g_n",
"REFS": ["m", "z", "t", "F_n", "g_n"],
"ROLE": "CONSTRAINT",
"EQUATION": "m * D(z, t, 2) = F_n - m * g_n"
}
],
"ASSUMPTION": [
{
"NAME": "A_kpos",
"PROPOSITION": "k_s is positive",
"REFS": ["k_s"]
},
{
"NAME": "A_mpos",
"PROPOSITION": "m is positive",
"REFS": ["m"]
}
],
"CONSTRAINT": [
{
"NAME": "C_NOZ",
"TARGET": "z",
"ACTION": "FIX",
"VALUE": "0",
"UNIT": "m",
"STATEMENT": "only motion on the spring axis is described: z = 0"
}
],
"BOUNDARY": [
{
"NAME": "B_small",
"PREDICATE": "|x| < x_max",
"REFS": ["x", "x_max"],
"CONDITION": "abs(x) < x_max"
}
]
},
"TrM": {
"HEADER": {
"ENVIRONMENT_INVENTORY": [
{"ENVIRONMENT_QUANTITY": "time", "DIMENSION": "T1"},
{"ENVIRONMENT_QUANTITY": "position", "DIMENSION": "L1"},
{"ENVIRONMENT_QUANTITY": "velocity", "DIMENSION": "L1 T-1"},
{"ENVIRONMENT_QUANTITY": "height", "DIMENSION": "L1"},
{"ENVIRONMENT_QUANTITY": "support_force", "DIMENSION": "M1 L1 T-2"}
],
"SIGNATURE": [
{
"NAME": "time_derivative",
"OVER": ["x", "v", "t"],
"IMAGE": "d/dt maps position to velocity",
"FORM": "D(x, t) = v",
"IMAGE_FORM": "D(position, time) = velocity"
}
],
"TRANSFORMATIONS": [
{"NAME": "time_translation", "STATEMENT": "t -> t + t0"}
]
},
"ENTRIES": [
{
"NAME": "E_t",
"DOF": "t",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "time",
"IDENTIFICATION": "t is the reading of a laboratory clock from an arbitrary origin",
"FALSIFIER": "a second clock whose readings differ from t by more than a constant offset beyond the stated uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": [],
"DIMENSION": "T1"
},
{
"NAME": "E_x",
"DOF": "x",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "position",
"IDENTIFICATION": "x is the displacement of the mass along the spring axis from the point where the spring exerts no force",
"FALSIFIER": "a measured spring force not proportional to x inside the domain",
"FALSIFIER_CLASS": "F3",
"BEARS": ["EOM_X", "KIN"],
"DIMENSION": "L1"
},
{
"NAME": "E_v",
"DOF": "v",
"DOMAIN": "|x| < x_max",
"ENVIRONMENT_QUANTITY": "velocity",
"IDENTIFICATION": "v is the rate of change of x with t",
"FALSIFIER": "a measured velocity that differs from the rate of change of the measured x beyond uncertainty",
"FALSIFIER_CLASS": "F2",
"BEARS": ["KIN"],
"DIMENSION": "L1 T-1"
},
{
"NAME": "E_z",
"DOF": "z",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "height",
"IDENTIFICATION": "z is the height of the mass above the spring axis, measured upward along the vertical",
"FALSIFIER": "a measured z different from 0 beyond its uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": ["EOM_Z", "C_NOZ"],
"DIMENSION": "L1"
},
{
"NAME": "E_Fn",
"DOF": "F_n",
"DOMAIN": "always",
"ENVIRONMENT_QUANTITY": "support_force",
"IDENTIFICATION": "F_n is the upward force the track exerts on the mass",
"FALSIFIER": "a measured support force different from m g_n beyond uncertainty",
"FALSIFIER_CLASS": "F3",
"BEARS": ["EOM_Z"],
"DIMENSION": "M1 L1 T-2"
}
]
},
"TMS": {
"PARAMETERS": {
"STEP_CONVENTION": "one application of an inference rule or algebraic identity is one step",
"K": "2",
"N_X": 2,
"S_MAX": 10
},
"CONSTANTS": [
{"NAME": "w_a", "VALUE": "1"},
{"NAME": "w_s", "VALUE": "0.5"}
],
"YARDSTICKS": [
{
"NAME": "combined_distance",
"KEY": ["SR1", "WSUM:w_a*A;w_s*S", "S"],
"LIMITING": []
}
]
}
}