Physical phenomena

Relevant module: edelweissfe.config.phenomena

This module contains the central definition of the known physics, i.e.,

  • the available physical fields

  • their tensorial order

  • their default residual tolerances

If a new physical field should be added to EdelweissFE, then this should happen (only) here.

edelweissfe.config.phenomena.carriesKineticEnergy(field)[source]

Whether a field’s 0.5 * inertia * rate**2 is a mechanical energy, i.e. whether the field may enter the energy balance and be summed with the other fields in it.

Work done at a prescribed degree of freedom of such a field – a force through a displacement, a moment through a rotation – is an energy by the same token, which is why the external work is accumulated over exactly these fields as well.

Parameters:

field (str) – The name of the physical field.

Returns:

True for a field whose inertia is a mass or a rotational inertia.

Return type:

bool

edelweissfe.config.phenomena.carriesLinearMomentum(field)[source]

Whether a field’s inertia times its rate is a linear momentum, i.e. whether the field may enter a linear-momentum balance and be summed with the other fields in it.

Parameters:

field (str) – The name of the physical field.

Returns:

True only for a field whose inertia is a mass.

Return type:

bool

edelweissfe.config.phenomena.getInertiaKind(field)[source]

The kind of inertia a field carries; see inertiaKind.

Parameters:

field (str) – The name of the physical field.

Returns:

One of "mass", "rotational inertia", "non-mechanical".

Return type:

str

Raises:

NotImplementedError – If the field is not registered here.