Eugen's VectorCalculus Plug-in
Contents:
Overview
The plug-in computes gradients of scalar data as well as gradient, curl and divergence of vectorial
data from three- or four- spacecrafts measurements. This plug-in is an enhancement of the ISSI_ClusterVectorCalc
plug-in, which was written by Stein Haaland, and many of comments to his plug-in apply to this one as well.
Parts of his documentation are marked in italics below. The 4-spacecraft estimation was used from the previous plug-in.
The 3-spacecraft estimation
is an implementation of Joachim Vogt's algorithm. For more information on the 3-spacecraft estimation, please see the article:
Vogt, J., Albert, A. and Marghitu, O. "Analysis of three-spacecraft data using planar reciprocal vectors:
methodological framework and spatial gradient estimation", Annales Geophysicae, Volume 27, Issue 8, 2009, pp. 3249 - 3273.
The vector quantities are based on a linear approximation of the spatial gradients, and should
be used with care if the [...] spacecrafts are located in very different plasma regimes.
Input data
-
4-spacecraft nabla estimation
The required inputs are scalar or vectorial data from 4 satellites, the position of satellites, the time interval of
interest and an
optional normalization factor for computing the curl (see the curlometer section below).
The NumberSatellites
variable must be set to 4. Then the last two parameters are ignored.
-
3-spacecraft nabla estimation
Same input parameters as for the case of 4-spacecrafts are required in this case as well, but NumberSatellites must be set to 3.
Although it is a 3-point method, the 4th data input and the 4th satellite
position vector are required due to limitations of QSAS. The 4th satellite is ignored here. Thus, please enter data from
any of the three satellite into the 4th required.
The method does NOT give the full gradient, but only the planar component, where the plane is defined by the three
spacecrafts. This fact has impact on divergence and curl for the vectorial data. The full gradient can be estimated
using various assumptions. This plug-in supports the three assumptions
described in the paper by Vogt et al. (2009). Type of the assumption is given by the OptionNComponent
parameter. Here are the implemented options:
- 0 means no estimation of normal component is done. Then the next parameter (OptionVector)
is ignored and the output is a pure planar gradient.
- 1 means the gradient is assumed to be parallel to a vector. The vector is specified by OptionVector.
- 2 means the gradient is assumed to be perpendicular to a vector. The vector is specified by OptionVector.
- 3 assumes that the gradient is stationary in the plasma's reference frame.
The vector specified by OptionVector is interpreted as the plasma velocity with respect to the center of
satellites system.
Note that OptionVector can be a single vector or a time series of vectors. In the former case it is assumed that
the vector is stationary in time, while in the latter case a corresponding vector is taken at each time.
The time series inputs above are automatically joined to the timetags of the input vector from Spacecraft C3 .
Note that either all of the input data must be scalar or all of them must be vectorial.
Positions can be relative to Earth, relative to one of satellites or relative to any point of origin. If input data are
vectors
then it is required that the measured vectors are in the same frame as the position vectors of satellites.
Outputs
Estimation of the gradient of the vector field, the gradient of the magnitude of the field intensity,
curl and divergence is given for
vectorial data, while only the estimation of gradient is given for scalar input data. For both types of data
the worklist (WL) will also have the normal component to the plane formed by the first three satellites and
the volume of the tetrahedron formed by the 4 satellites. The former can be used to estimate the quality of the
gradient computation. If only 3 satellites are given, the VolumeTetrahedron variable will actually
be the area of a triangle formed by satellites.
The plug-in will also compute the predicted value of the field at the barycentre and the position of
barycentre itself. These values can be used, for example, in the featherPlot plug-in.
A special application of the PlugIn is to calculate current density according to
the so-called curlometer technique: Current density can be expressed from Ampere's
law as
J = curl (B) / mu_0
If the input vector quantity is a magnetic field, and the CurlNormalize slot contains
mu0 (magnetic permeability = see QSAS constants), the curl output represents a current density
and has A m^-2 as unit.
Minimum Variance analysis of current density
When used as a Curlometer, a minimum variance of the current density is performed.
A set of eigenvalues and eigenvectors from the minimum variance of the curl quantity
as well as a velocity are also printed in the output field of the PlugIn. Under certain
conditions, (e.g. 1D current sheet appproximation) the eigenvector corresponding to the lowest eigenvalue
can be used as an estimate of the current sheet normal. An approximate velocity of the
current sheet motion is also given.
Bugs/Caveats
If you find a bug, please inform me by email: e.sorbalo (at) jacobs-university.de
History
Eugen, 12 January 2012