SpatialOps

The following table enumerates the field types defined in SpatialOps associated with each mesh.
  Scalar Mesh  XMesh  YMesh  ZMesh 

Volume  SVolField  XVolField  YVolField  ZVolField 
XSurface  SSurfXField  XSurfXField  YSurfXField  ZSurfXField 
YSurface  SSurfYField  XSurfYField  YSurfYField  ZSurfYField 
ZSurface  SSurfZField  XSurfZField  YSurfZField  ZSurfZField 
The following image illustrates a scalar mesh in 2D with the associated field locations. Filled circles indicate volume centroids for cells within the domain while empty circles indicate ghost volume locations.
(nx,ny,nz)
with (+) boundaries in each direction,SVolField
is dimension (nx,ny,nz)
SSurfXField
is dimension (nx+1,ny,nz)
SSurfYField
is dimension (nx,ny+1,nz)
SSurfZField
is dimension (nx,ny,nz+1)
The following image illustrates a scalar mesh in 2D with the associated field locations. Filled squares indicate xvolume centroids located within while the domain while empty squares indicate ghost values.
XVolField
is colocated with the SSurfXField
(nx,ny,nz)
XVolField
is dimension (nx,ny,nz)
XSurfXField
is dimension (nx+1,ny,nz)
XSurfYField
is dimension (nx,ny+1,nz)
XSurfZField
is dimension (nx,ny,nz+1)
XVolField
is colocated with SSurfXField
, its storage behavior is different with respect to (+) side boundaries.The following image illustrates a scalar mesh in 2D with the associated field locations. Filled triangles indicate yvolume cell centroids located within the domain while empty triangles indicate values in ghost cells.
YVolField
is colocated with the SSurfYField
(nx,ny,nz)
YVolField
is dimension (nx,ny,nz)
YSurfXField
is dimension (nx+1,ny,nz)
YSurfYField
is dimension (nx,ny+1,nz)
YSurfZField
is dimension (nx,ny,nz+1)
YVolField
is colocated with SSurfYField
, its storage behavior is different with respect to (+) side boundaries.The zstaggered volume behaves in an analogous way to the The XStaggered Volume and The YStaggered Volume discussions above.
There are two key tools to aid in type inference: