01

Separate model from implementation

Describe the relationship you intend to model before choosing code. State what the model ignores. A simplified model can be useful when its limits are explicit.

02

Test a known case

Use a case whose expected behaviour you can independently calculate. For motion, that might be a simple trajectory or an unchanged position with no velocity. The right test depends on the assumptions of your model.

03

Vary one setting

Change the time step, initial conditions, or another parameter in a controlled way. Record the effect. A simulation that looks plausible at one setting may behave differently when that setting changes.

04

Explain discrepancies

When results differ from expectations, distinguish a coding error, a numerical effect, and a limitation of the model. Those possibilities need different fixes. Keep the evidence that helped you tell them apart.