Annotations
The methods and properties of the `WVTransform’ are divided into 5 categories, depending on their functionality. These properties or methods are then annotated appropriately.
- Dimension are independent coordinate axes, such as \(x\), \(t\), or \(k\) and are annotated with
WVDimensionAnnotation
. - Properties are fixed attributes of the
WVTransform
that are never time-dependent. TheWVPropertyAnnotation
class is used to annotate properties. - Variables depend on the current state of flow and always depend on the wave-vortex coefficients \((A_+, A_-, A_0)\). Variables are annotated with
WVVariableAnnotation
.
Each dimension, property, or variable can be individually access from a WVTransform
instance, e.g., wvt.u
will return the u
variable. However, there are also methods which can return multiple dimensions, properties, or variables, e.g., [u,v,w] = wvt.velocityField
is a method that returns three variables.
We need to distinguish between variables that have direct method (or even property) calls, and those which need to be computed, and thus might be stored in the cache.
- Methods are everything else, and use
WVAnnotation
to annotate their functionality.
If you are building a subclass the WVTransform
, it is important to know that there are two types of variables: those that are directly computed by the class, and those that result from a WVOperation
.