Object Types
Describes the major object types used in Warp Factory
Last updated
Describes the major object types used in Warp Factory
Last updated
Core to the analysis in Warp Factory is the metric and stress-energy tensors. Both of these tensors are stored as a .struct
which has several fields that contain the data. These structs have certian required fields which are used by the various functions in Warp Factory to ensure that operations are conducted properly when manipulating data. These fields are also helpful references to the user.
The term "Internal use" means that the value is used to determine logic within the analysis functions in Warp Factory. These fields should be overwritten and only modified by appropriate function calls.
The term "Reserved field" means that this struct field has certian values that Warp Factory will understand and use. It also means that changing these values outside of the appropriate functions that also change the tensor data will result in data type mismatches.
The metric tensor is a unitless object which defines the curvature of spacetime. In Warp Factory the metric tensor is a special object stored as a .struct
type, which includes several important fields that are used by several functions across the toolkit.
blue are required fields. These fields interact with different functions inside Warp Factory.
orange are optional fields. These fields act as a helpful reference for the user and are sometimes used by Warp Factory, but are not required for proper data handling.
Field | Values | Format | Type | Comment |
---|---|---|---|---|
The stress-energy tensor is the physical content in the spacetime which is associated with the curvature in the metric tensor. In Warp Factory the stress-energy tensor is a special object stored as a .struct
type, which includes several important fields that are used by several functions across the toolkit.
blue are required fields. These fields interact with different functions inside Warp Factory.
orange are optional fields. These fields act as a helpful reference for the user.
Field | Values | Format | Type | Comment |
---|---|---|---|---|
.type
Object type
1x1 array
string
The string is a reserved field for internal use, only to be "metric".
.tensor
Value of the metric components at each spacetime point
4x4 cells containing 4x4 arrays
double
Tensor is in the standard form stored as a cell:
The index of this tensor can be all types and is specified by the .index
field.
.scaling
Scaling factor used for the dimensions
1x4 array
double
.index
Tensor index
1x1 array
string
Can be either "covariant" or "contravariant". This is a reserved field for internal use and should not be manually changed.
.coords
Name of the used coordinate system
1x1 array
string
Only the Cartesian coordinate system has been implemented in Warp Factory in the current release. Other systems can be used but have not been tested or adapted in the solver and analysis functions
.name
Name of the metric
1x1 array
string
Standard names are used in the metric library but can be overwritten.
.date
Date created
1x1 array
string
In the metric library, the MATLAB internal date
function is used. The format is "dd-MMM-yyyy".
.params
Contains sub-fields depending on the parameters used by the metric to construct it
.struct
fields
double
The metric library functions assign the values passed into them as subfields. For example, this would be the radius and sigma factor for the Alcubierre bubble. Users can adapt this field as they see fit for custom metrics.
.type
Object type
1x1
string
The string is a reserved field for internal use, only to be "stress-energy".
.tensor
Value of the stress-energy components at each spacetime point
4x4 cells containing 4x4 arrays
double
Tensor is in the standard form stored as a cell:
The index of this tensor can be all types and is specified by the .index
field.
.scaling
Scaling factor used for the dimensions
1x4 array
double
.index
Tensor index
1x1 array
string
Can be either "covariant", "contravariant", "mixedupdown", or "mixeddownup". This is a reserved field for internal use and should not be manually changed.
.coords
Name of the used coordinates
1x1 array
string
Only the Cartesian coordinate system has been implemented in Warp Factory in the current release. Other systems can be used but have not been tested or adapted in the solver and analysis functions
.frame
Name of the frame of the tensor
1x1 array
string
The frame is an optional field that is modified by doing frame transformations. Currently, only Eulerian transformations are implemented. This is a reserved field and should not be manually changed, but is not required unless a transformation is done.
.date
Date created
1x1 array
string
The getEnergyTensor
assigns this using the MATLAB internal date
function when generating the stress-energy tensor. Format is "dd-MMM-yyyy".
.name
Name of the tensor
1x1 array
string
Inherents the name from the metric .name
field.
.order
Solver order used
1x1 array
string
This is assigned by the getEnergyTensor
function, where the solver order is specified as either "second" or "fourth". This is a reserved field and should not be manually changed.
Specified in . Smaller values mean higher resolution grids, relative to the gridSize
input. Scaling is used by the solver in the finite element method.
Inherents the value from the metric .scaling
field, specified in . This is a reference field for internal use in the solver and should not be manually changed.