User Defined Functions: Modular Programming & Force Law Abstraction
1. Core Principles & Theoretical Framework
2. Mathematical Formulation & Algorithmic Pipeline
Force law function mapping state coordinates to physical acceleration:
3. Numerical Mechanics & Implementation Logic
- Signature Design: Specify explicit physical arguments (e.g.
def lennard_jones(r, eps=1.0, sigma=1.0):). - Docstrings & Units: State physical units (SI, atomic units, normalized) clearly in function docstrings.
- Multiple Returns: Return composite quantities (energy, force, status) as clean tuples.
4. Relevant Computational Practice Exercises
- Hans Petter Langtangen, "A Primer on Scientific Programming with Python", Springer (2016).