esys.speckley Package¶
A domain meshed with uniform rectangles or quadrilaterals
Classes¶
-
class
esys.speckley.AbstractAssembler¶ Bases:
Boost.Python.instance-
__init__()¶ Raises an exception This class cannot be instantiated from Python
-
-
class
esys.speckley.SpeckleyBrick¶ Bases:
esys.speckley.speckleycpp.SpeckleyDomain-
__init__()¶ Raises an exception This class cannot be instantiated from Python
-
MPIBarrier((SpeckleyDomain)arg1) → None :¶ Wait until all processes have reached this point
-
addPDEToRHS((ContinuousDomain)arg1, (Data)rhs, (Data)X, (Data)Y, (Data)y, (Data)y_contact, (Data)y_dirac) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs
Parameters: - rhs (
Data) – - X (
Data) – - Y (
Data) – - y (
Data) – - y_contact (
Data) – - y_dirac (
Data) –
- rhs (
-
addPDEToSystem((ContinuousDomain)arg1, (Operator)mat, (Data)rhs, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact, (Data)d_dirac, (Data)y_dirac) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs
Parameters: - mat (
OperatorAdapter) – - rhs (
Data) – - A (
Data) – - B (
Data) – - C (
Data) – - D (
Data) – - X (
Data) – - Y (
Data) – - d (
Data) – - d_contact (
Data) – - y_contact (
Data) – - d_dirac (
Data) – - y_dirac (
Data) –
- mat (
-
addPDEToTransportProblem((ContinuousDomain)arg1, (TransportProblem)tp, (Data)source, (Data)M, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact, (Data)d_dirac, (Data)y_dirac) → None :¶ Parameters: - tp (
TransportProblemAdapter) – - source (
Data) – - M (
Data) – - A (
Data) – - B (
Data) – - C (
Data) – - D (
Data) – - X (
Data) – - Y (
Data) – - d (
Data) – - y (
Data) – - d_contact (
Data) – - y_contact (
Data) – - d_dirac (
Data) – - y_dirac (
Data) –
- tp (
-
addToRHS((SpeckleyDomain)arg1, (Data)arg2, (list)rhs, (AbstractAssembler)data) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs, results depends on domain
Parameters: - rhs (
Data) – - data (
list) –
- rhs (
-
addToSystem((SpeckleyDomain)arg1, (Operator)arg2, (Data)mat, (list)rhs, (AbstractAssembler)data) → None :¶ adds a PDE to the system, results depend on domain
Parameters: - mat (
OperatorAdapter) – - rhs (
Data) – - data (
list) –
- mat (
-
createAssembler((SpeckleyDomain)arg1, (str)typename, (list)options) → AbstractAssembler :¶ request from the domain an assembler of the specified type, if supported, using the supplied options (if provided):param typename: :type typename:
string:param options: :type options:list
-
dump((SpeckleyDomain)arg1, (str)filename) → None :¶ Dumps the mesh to a file with the given name.
-
getDataShape((SpeckleyDomain)arg1, (int)functionSpaceCode) → object :¶ Returns: a pair (dps, ns) where dps is the number of data points per sample, and ns isthe number of samples Return type: tuple
-
getDescription((SpeckleyDomain)arg1) → str :¶ Returns: a description for this domain Return type: string
-
getDim((SpeckleyDomain)arg1) → int :¶ Return type: int
-
getGridParameters((SpeckleyDomain)arg1) → tuple :¶ Returns the tuple (origin, spacing, elements) where the entries are tuples:
originthe coordinates of the domain’s global origin,spacingthe element size (=node spacing) of the domain,elementsthe global number of elements in all dimensionsReturn type: tuple
-
getMPIRank((SpeckleyDomain)arg1) → int :¶ Returns: the rank of this process Return type: int
-
getMPISize((SpeckleyDomain)arg1) → int :¶ Returns: the number of processes used for this DomainReturn type: int
-
getNormal((SpeckleyDomain)arg1) → Data :¶ Returns: boundary normals at the quadrature point on the face elements Return type: Data
-
getNumDataPointsGlobal((SpeckleyDomain)arg1) → int :¶ Returns: the number of data points summed across all MPI processes Return type: int
-
getOrder((SpeckleyDomain)arg1) → int :¶ Returns: the order of the domain Return type: int
-
getSize((SpeckleyDomain)arg1) → Data :¶ Returns: the element size Return type: Data
-
getStatus((Domain)arg1) → int :¶ The status of a domain changes whenever the domain is modified
Return type: int
-
getSystemMatrixTypeId((SpeckleyDomain)arg1, (object)options) → int :¶ Returns: the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, preconditioner, and symmetric matrix is used.
Return type: intParameters: - solver (
int) – - preconditioner (
int) – - package (
int) – - symmetry (
int) –
- solver (
-
getTag((SpeckleyDomain)arg1, (str)name) → int :¶ Returns: tag id for nameReturn type: string
-
getTransportTypeId((ContinuousDomain)arg1, (int)solver, (int)preconditioner, (int)package, (bool)symmetry) → int¶
-
getX((SpeckleyDomain)arg1) → Data :¶ Returns: locations in the FEM nodes Return type: Data
-
isValidTagName((SpeckleyDomain)arg1, (str)name) → bool :¶ Returns: True if namecorresponds to a tag, otherwise FalseReturn type: bool
-
newOperator((SpeckleyDomain)arg1, (int)row_blocksize, (FunctionSpace)row_functionspace, (int)column_blocksize, (FunctionSpace)column_functionspace, (int)type) → Operator :¶ creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros
Parameters: - row_blocksize (
int) – - row_functionspace (
FunctionSpace) – - column_blocksize (
int) – - column_functionspace (
FunctionSpace) – - type (
int) –
- row_blocksize (
-
newTransportProblem((ContinuousDomain)theta, (int)blocksize, (FunctionSpace)functionspace, (int)type) → TransportProblem :¶ creates a TransportProblemAdapter
Parameters: - theta (
float) – - blocksize (
int) – - functionspace (
FunctionSpace) – - type (
int) –
- theta (
-
onMasterProcessor((SpeckleyDomain)arg1) → bool :¶ Returns: True if this code is executing on the master process Return type: bool
-
print_mesh_info((SpeckleyDomain)arg1[, (bool)full=False]) → None :¶ Prints out a summary about the mesh. :param full: whether to output additional data :type full:
bool
-
setTagMap((SpeckleyDomain)arg1, (str)name, (int)tag) → None :¶ Give a tag number a name.
Parameters: - name (
string) – Name for the tag - tag (
int) – numeric id
Note: Tag names must be unique within a domain
- name (
-
setX((ContinuousDomain)arg1, (Data)arg) → None :¶ assigns new location to the domain
Parameters: arg ( Data) –
-
showTagNames((SpeckleyDomain)arg1) → str :¶ Returns: A space separated list of tag names Return type: string
-
supportsContactElements((Domain)arg1) → bool :¶ Does this domain support contact elements.
-
writeBinaryGrid((SpeckleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) → None¶ writeBinaryGrid( (SpeckleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) -> None
-
-
class
esys.speckley.SpeckleyDomain¶ Bases:
esys.escriptcore.escriptcpp.ContinuousDomain-
__init__()¶ Raises an exception This class cannot be instantiated from Python
-
MPIBarrier((SpeckleyDomain)arg1) → None :¶ Wait until all processes have reached this point
-
addPDEToRHS((ContinuousDomain)arg1, (Data)rhs, (Data)X, (Data)Y, (Data)y, (Data)y_contact, (Data)y_dirac) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs
Parameters: - rhs (
Data) – - X (
Data) – - Y (
Data) – - y (
Data) – - y_contact (
Data) – - y_dirac (
Data) –
- rhs (
-
addPDEToSystem((ContinuousDomain)arg1, (Operator)mat, (Data)rhs, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact, (Data)d_dirac, (Data)y_dirac) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs
Parameters: - mat (
OperatorAdapter) – - rhs (
Data) – - A (
Data) – - B (
Data) – - C (
Data) – - D (
Data) – - X (
Data) – - Y (
Data) – - d (
Data) – - d_contact (
Data) – - y_contact (
Data) – - d_dirac (
Data) – - y_dirac (
Data) –
- mat (
-
addPDEToTransportProblem((ContinuousDomain)arg1, (TransportProblem)tp, (Data)source, (Data)M, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact, (Data)d_dirac, (Data)y_dirac) → None :¶ Parameters: - tp (
TransportProblemAdapter) – - source (
Data) – - M (
Data) – - A (
Data) – - B (
Data) – - C (
Data) – - D (
Data) – - X (
Data) – - Y (
Data) – - d (
Data) – - y (
Data) – - d_contact (
Data) – - y_contact (
Data) – - d_dirac (
Data) – - y_dirac (
Data) –
- tp (
-
addToRHS((SpeckleyDomain)arg1, (Data)arg2, (list)rhs, (AbstractAssembler)data) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs, results depends on domain
Parameters: - rhs (
Data) – - data (
list) –
- rhs (
-
addToSystem((SpeckleyDomain)arg1, (Operator)arg2, (Data)mat, (list)rhs, (AbstractAssembler)data) → None :¶ adds a PDE to the system, results depend on domain
Parameters: - mat (
OperatorAdapter) – - rhs (
Data) – - data (
list) –
- mat (
-
createAssembler((SpeckleyDomain)arg1, (str)typename, (list)options) → AbstractAssembler :¶ request from the domain an assembler of the specified type, if supported, using the supplied options (if provided):param typename: :type typename:
string:param options: :type options:list
-
dump((SpeckleyDomain)arg1, (str)filename) → None :¶ Dumps the mesh to a file with the given name.
-
getDataShape((SpeckleyDomain)arg1, (int)functionSpaceCode) → object :¶ Returns: a pair (dps, ns) where dps is the number of data points per sample, and ns isthe number of samples Return type: tuple
-
getDescription((SpeckleyDomain)arg1) → str :¶ Returns: a description for this domain Return type: string
-
getDim((SpeckleyDomain)arg1) → int :¶ Return type: int
-
getGridParameters((SpeckleyDomain)arg1) → tuple :¶ Returns the tuple (origin, spacing, elements) where the entries are tuples:
originthe coordinates of the domain’s global origin,spacingthe element size (=node spacing) of the domain,elementsthe global number of elements in all dimensionsReturn type: tuple
-
getMPIRank((SpeckleyDomain)arg1) → int :¶ Returns: the rank of this process Return type: int
-
getMPISize((SpeckleyDomain)arg1) → int :¶ Returns: the number of processes used for this DomainReturn type: int
-
getNormal((SpeckleyDomain)arg1) → Data :¶ Returns: boundary normals at the quadrature point on the face elements Return type: Data
-
getNumDataPointsGlobal((SpeckleyDomain)arg1) → int :¶ Returns: the number of data points summed across all MPI processes Return type: int
-
getOrder((SpeckleyDomain)arg1) → int :¶ Returns: the order of the domain Return type: int
-
getSize((SpeckleyDomain)arg1) → Data :¶ Returns: the element size Return type: Data
-
getStatus((Domain)arg1) → int :¶ The status of a domain changes whenever the domain is modified
Return type: int
-
getSystemMatrixTypeId((SpeckleyDomain)arg1, (object)options) → int :¶ Returns: the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, preconditioner, and symmetric matrix is used.
Return type: intParameters: - solver (
int) – - preconditioner (
int) – - package (
int) – - symmetry (
int) –
- solver (
-
getTag((SpeckleyDomain)arg1, (str)name) → int :¶ Returns: tag id for nameReturn type: string
-
getTransportTypeId((ContinuousDomain)arg1, (int)solver, (int)preconditioner, (int)package, (bool)symmetry) → int¶
-
getX((SpeckleyDomain)arg1) → Data :¶ Returns: locations in the FEM nodes Return type: Data
-
isValidTagName((SpeckleyDomain)arg1, (str)name) → bool :¶ Returns: True if namecorresponds to a tag, otherwise FalseReturn type: bool
-
newOperator((SpeckleyDomain)arg1, (int)row_blocksize, (FunctionSpace)row_functionspace, (int)column_blocksize, (FunctionSpace)column_functionspace, (int)type) → Operator :¶ creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros
Parameters: - row_blocksize (
int) – - row_functionspace (
FunctionSpace) – - column_blocksize (
int) – - column_functionspace (
FunctionSpace) – - type (
int) –
- row_blocksize (
-
newTransportProblem((ContinuousDomain)theta, (int)blocksize, (FunctionSpace)functionspace, (int)type) → TransportProblem :¶ creates a TransportProblemAdapter
Parameters: - theta (
float) – - blocksize (
int) – - functionspace (
FunctionSpace) – - type (
int) –
- theta (
-
onMasterProcessor((SpeckleyDomain)arg1) → bool :¶ Returns: True if this code is executing on the master process Return type: bool
-
print_mesh_info((SpeckleyDomain)arg1[, (bool)full=False]) → None :¶ Prints out a summary about the mesh. :param full: whether to output additional data :type full:
bool
-
setTagMap((SpeckleyDomain)arg1, (str)name, (int)tag) → None :¶ Give a tag number a name.
Parameters: - name (
string) – Name for the tag - tag (
int) – numeric id
Note: Tag names must be unique within a domain
- name (
-
setX((ContinuousDomain)arg1, (Data)arg) → None :¶ assigns new location to the domain
Parameters: arg ( Data) –
-
showTagNames((SpeckleyDomain)arg1) → str :¶ Returns: A space separated list of tag names Return type: string
-
supportsContactElements((Domain)arg1) → bool :¶ Does this domain support contact elements.
-
writeBinaryGrid((SpeckleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) → None¶ writeBinaryGrid( (SpeckleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) -> None
-
-
class
esys.speckley.SpeckleyRectangle¶ Bases:
esys.speckley.speckleycpp.SpeckleyDomain-
__init__()¶ Raises an exception This class cannot be instantiated from Python
-
MPIBarrier((SpeckleyDomain)arg1) → None :¶ Wait until all processes have reached this point
-
addPDEToRHS((ContinuousDomain)arg1, (Data)rhs, (Data)X, (Data)Y, (Data)y, (Data)y_contact, (Data)y_dirac) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs
Parameters: - rhs (
Data) – - X (
Data) – - Y (
Data) – - y (
Data) – - y_contact (
Data) – - y_dirac (
Data) –
- rhs (
-
addPDEToSystem((ContinuousDomain)arg1, (Operator)mat, (Data)rhs, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact, (Data)d_dirac, (Data)y_dirac) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs
Parameters: - mat (
OperatorAdapter) – - rhs (
Data) – - A (
Data) – - B (
Data) – - C (
Data) – - D (
Data) – - X (
Data) – - Y (
Data) – - d (
Data) – - d_contact (
Data) – - y_contact (
Data) – - d_dirac (
Data) – - y_dirac (
Data) –
- mat (
-
addPDEToTransportProblem((ContinuousDomain)arg1, (TransportProblem)tp, (Data)source, (Data)M, (Data)A, (Data)B, (Data)C, (Data)D, (Data)X, (Data)Y, (Data)d, (Data)y, (Data)d_contact, (Data)y_contact, (Data)d_dirac, (Data)y_dirac) → None :¶ Parameters: - tp (
TransportProblemAdapter) – - source (
Data) – - M (
Data) – - A (
Data) – - B (
Data) – - C (
Data) – - D (
Data) – - X (
Data) – - Y (
Data) – - d (
Data) – - y (
Data) – - d_contact (
Data) – - y_contact (
Data) – - d_dirac (
Data) – - y_dirac (
Data) –
- tp (
-
addToRHS((SpeckleyDomain)arg1, (Data)arg2, (list)rhs, (AbstractAssembler)data) → None :¶ adds a PDE onto the stiffness matrix mat and a rhs, results depends on domain
Parameters: - rhs (
Data) – - data (
list) –
- rhs (
-
addToSystem((SpeckleyDomain)arg1, (Operator)arg2, (Data)mat, (list)rhs, (AbstractAssembler)data) → None :¶ adds a PDE to the system, results depend on domain
Parameters: - mat (
OperatorAdapter) – - rhs (
Data) – - data (
list) –
- mat (
-
createAssembler((SpeckleyDomain)arg1, (str)typename, (list)options) → AbstractAssembler :¶ request from the domain an assembler of the specified type, if supported, using the supplied options (if provided):param typename: :type typename:
string:param options: :type options:list
-
dump((SpeckleyDomain)arg1, (str)filename) → None :¶ Dumps the mesh to a file with the given name.
-
getDataShape((SpeckleyDomain)arg1, (int)functionSpaceCode) → object :¶ Returns: a pair (dps, ns) where dps is the number of data points per sample, and ns isthe number of samples Return type: tuple
-
getDescription((SpeckleyDomain)arg1) → str :¶ Returns: a description for this domain Return type: string
-
getDim((SpeckleyDomain)arg1) → int :¶ Return type: int
-
getGridParameters((SpeckleyDomain)arg1) → tuple :¶ Returns the tuple (origin, spacing, elements) where the entries are tuples:
originthe coordinates of the domain’s global origin,spacingthe element size (=node spacing) of the domain,elementsthe global number of elements in all dimensionsReturn type: tuple
-
getMPIRank((SpeckleyDomain)arg1) → int :¶ Returns: the rank of this process Return type: int
-
getMPISize((SpeckleyDomain)arg1) → int :¶ Returns: the number of processes used for this DomainReturn type: int
-
getNormal((SpeckleyDomain)arg1) → Data :¶ Returns: boundary normals at the quadrature point on the face elements Return type: Data
-
getNumDataPointsGlobal((SpeckleyDomain)arg1) → int :¶ Returns: the number of data points summed across all MPI processes Return type: int
-
getOrder((SpeckleyDomain)arg1) → int :¶ Returns: the order of the domain Return type: int
-
getSize((SpeckleyDomain)arg1) → Data :¶ Returns: the element size Return type: Data
-
getStatus((Domain)arg1) → int :¶ The status of a domain changes whenever the domain is modified
Return type: int
-
getSystemMatrixTypeId((SpeckleyDomain)arg1, (object)options) → int :¶ Returns: the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, package, preconditioner, and symmetric matrix is used.
Return type: intParameters: - solver (
int) – - preconditioner (
int) – - package (
int) – - symmetry (
int) –
- solver (
-
getTag((SpeckleyDomain)arg1, (str)name) → int :¶ Returns: tag id for nameReturn type: string
-
getTransportTypeId((ContinuousDomain)arg1, (int)solver, (int)preconditioner, (int)package, (bool)symmetry) → int¶
-
getX((SpeckleyDomain)arg1) → Data :¶ Returns: locations in the FEM nodes Return type: Data
-
isValidTagName((SpeckleyDomain)arg1, (str)name) → bool :¶ Returns: True if namecorresponds to a tag, otherwise FalseReturn type: bool
-
newOperator((SpeckleyDomain)arg1, (int)row_blocksize, (FunctionSpace)row_functionspace, (int)column_blocksize, (FunctionSpace)column_functionspace, (int)type) → Operator :¶ creates a SystemMatrixAdapter stiffness matrix and initializes it with zeros
Parameters: - row_blocksize (
int) – - row_functionspace (
FunctionSpace) – - column_blocksize (
int) – - column_functionspace (
FunctionSpace) – - type (
int) –
- row_blocksize (
-
newTransportProblem((ContinuousDomain)theta, (int)blocksize, (FunctionSpace)functionspace, (int)type) → TransportProblem :¶ creates a TransportProblemAdapter
Parameters: - theta (
float) – - blocksize (
int) – - functionspace (
FunctionSpace) – - type (
int) –
- theta (
-
onMasterProcessor((SpeckleyDomain)arg1) → bool :¶ Returns: True if this code is executing on the master process Return type: bool
-
print_mesh_info((SpeckleyDomain)arg1[, (bool)full=False]) → None :¶ Prints out a summary about the mesh. :param full: whether to output additional data :type full:
bool
-
setTagMap((SpeckleyDomain)arg1, (str)name, (int)tag) → None :¶ Give a tag number a name.
Parameters: - name (
string) – Name for the tag - tag (
int) – numeric id
Note: Tag names must be unique within a domain
- name (
-
setX((ContinuousDomain)arg1, (Data)arg) → None :¶ assigns new location to the domain
Parameters: arg ( Data) –
-
showTagNames((SpeckleyDomain)arg1) → str :¶ Returns: A space separated list of tag names Return type: string
-
supportsContactElements((Domain)arg1) → bool :¶ Does this domain support contact elements.
-
writeBinaryGrid((SpeckleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) → None¶ writeBinaryGrid( (SpeckleyDomain)arg1, (Data)arg2, (str)arg3, (int)arg4, (int)arg5) -> None
-
Functions¶
-
esys.speckley.Brick((int)order, (float)n0, (float)n1, (float)n2[, (object)l0=1.0[, (object)l1=1.0[, (object)l2=1.0[, (int)d0=-1[, (int)d1=-1[, (int)d2=-1[, (object)diracPoints=[][, (object)diracTags=[][, (SubWorld)escriptworld=None]]]]]]]]]) → Domain :¶ Creates a hexagonal mesh with n0 x n1 x n2 elements over the brick [0,l0] x [0,l1] x [0,l2].
Parameters: - order – the number of quadrature points to have in each dimension
- n0 (
int) – number of elements in direction 0 - n1 (
int) – number of elements in direction 1 - n2 (
int) – number of elements in direction 2 - l0 (
floatortuple) – length of side 0 or coordinate range of side 0 - l1 (
floatortuple) – length of side 1 or coordinate range of side 1 - l2 (
floatortuple) – length of side 2 or coordinate range of side 2 - d0 (
int) – number of subdivisions in direction 0 - d1 (
int) – number of subdivisions in direction 1 - d2 (
int) – number of subdivisions in direction 2
-
esys.speckley.Rectangle((int)order, (float)n0, (float)n1[, (object)l0=1.0[, (object)l1=1.0[, (int)d0=-1[, (int)d1=-1[, (object)diracPoints=[][, (object)diracTags=[][, (SubWorld)escriptworld=None]]]]]]]) → Domain :¶ Creates a rectangular mesh with n0 x n1 elements over the rectangle [0,l0] x [0,l1].
Parameters: - n0 (
int) – number of elements in direction 0 - n1 (
int) – number of elements in direction 1 - l0 (
floatortuple) – length of side 0 or coordinate range of side 0 - l1 (
floatortuple) – length of side 1 or coordinate range of side 1 - d0 (
int) – number of subdivisions in direction 0 - d1 (
int) – number of subdivisions in direction 1
- n0 (
-
esys.speckley.readBinaryGrid((str)filename, (FunctionSpace)functionspace, (object)shape, (float)fill=0.0, (int)byteOrder, (int)dataType, (object)first, (object)numValues, (object)multiplier, (object)reverse) → Data :¶ Reads a binary Grid
Others¶
- BYTEORDER_BIG_ENDIAN
- BYTEORDER_LITTLE_ENDIAN
- BYTEORDER_NATIVE
- DATATYPE_FLOAT32
- DATATYPE_FLOAT64
- DATATYPE_INT32