AxiniteArgs and the Body Class

A guide to using two of axtools' fundamental classes.

In this guide, you'll learn about:

  • the AxiniteArgs class and how to use it

  • the Body class and how it differs from axinite's standard Body class

What are AxiniteArgs?

The AxiniteArgs class packages all the data from an Axinite file into one class. It has lots of attributes that can be used to keep track of various simulation parameters.

args.name: str
args.delta: np.float64
args.limit: np.float64
args.action: function
args.t: np.float64
args.bodies: list<axtools.Body>
args.radius_multiplier: float or int
args.rate: float or int
args.retain: int
args.modifier: function
args.backend: function

The class also comes with an unpack function:

*args.unpack()

which can be used to easily supply the args to the ax.load function.

Setting the Limit and Delta

When setting limits and deltas, don't use:

args.delta = delta
args.limit = limit

Instead of setting the delta and limit attributes, use the included methods to change them:

args.set_delta(delta)
args.set_limit(limit)

To avoid errors during loading.

The Body Class

Although axinite comes with a Body class already, axtools contains an expanded one with more attributes, such as:

body.mass: np.float64
body.r(n): np.ndarray
body.v(n): np.ndarray
body.name: str
body.radius: np.float64
body.color: str
body.light: bool
body.retain: int
body.radius_multiplier: int or float
body.rs: np.ndarray
body.vs: np.ndarray

The axtools.Body class can also take the place of an axinite.Body. You can create one with:

body = axtools.Body("name", mass, limit, delta, position=[...], velocity=[..], color="color", light=False, retain=200, radius_multiplier=2)

Last updated