Project

General

Profile

Actions

MultiDomainMetaData

Multi-Domain Metadata

Users with multi-domain data in their files may now use the following attributes to display their data as a single domain in VisIt.

Jump to

Multi-domain Meshes

A multi-domain mesh is a mesh that is stored in many pieces but should be considered to be a single, large mesh. Each piece of the mesh is declared separately in the data file, as is the usual format for single-domain data. However, a single added VizSchema attribute named vsMD will create links between these meshes. All meshes having a matching value of vsMD will be joined and displayed as a single mesh by the VisIt plugin.

Here is an example of two domain blocks that will be treated as a single multi-domain mesh named "edgeMesh".

Dataset "privMesh" {
  Att vsType = "mesh"                         // Required string
  Att vsKind = "structured"                   // Required string
  Att vsMD = "edgeMesh"                       // Required string if part of a multi-domain mesh
  DATASPACE [n0][n1][n2][n3]                  // Required float array
}
Dataset "solMesh" {
  Att vsType = "mesh"                         // Required string
  Att vsKind = "structured"                   // Required string
  Att vsMD = "edgeMesh"                       // Required string if part of a multi-domain mesh
  DATASPACE [n0][n1][n2][n3]                  // Required float array
}

Note that most of the attributes of the blocks must match in order for a multi-domain mesh to be successful. In this example the values of vsMD and vsKind must match. If present, vsIndexOrder and vsNumSpatialDims would also have to match.

Multi-domain Variables
Multi-domain variables are similar to multi-domain meshes in that they are separate pieces of the same data surface. The same attribute vsMD is used to declare which variables are part of a larger multi-domain variable.

It is important to note that the vsMesh attribute of the md variable must remain pointing at the exact mesh that the variable lives on. Therefore, the vsMesh attribute should never contain the name of a multi-domain mesh. However, in order to properly join the blocks of an md variable, each block must live on a mesh that is part of the same md mesh. In the following example, the two variables psiPriv and psiSol are declared to be an md variable named psi. So, the meshes for each variable must also belong to the same md mesh. In this case, the two meshes privMesh and solMesh have been declared to be blocks of the md mesh "edgeMesh".

Similar to multi-domain meshes, most of the attributes of an md variable must match in order to be successful. These attributes include but are not limited to: vsCentering and vsIndexOrder.

The following is an example of a multi-domain variable that corresponds to the multi-domain mesh above. Please note that each variable is linked to a single domain of the multi-domain mesh - neither variable directly refers to the md mesh named "edgeMesh".

Dataset "psiPriv" {
  Att vsType = "variable"                     // Required string
  Att vsMesh = "privMesh"                     // Required string
  Att vsMD = "psi"                            // Required string if part of a multi-domain variable.
  DATASPACE [201, 301, 105]                   // Required float array
  Att vsCentering = "nodal"                   // Optional string, defaults to "nodal", other allowed value is "zonal"
}
Dataset "psiSol" {
  Att vsType = "variable"                     // Required string
  Att vsMesh = "solMesh"                      // Required string
  Att vsMD = "psi"                            // Required string if part of a multi-domain variable.
  DATASPACE [201, 301, 105]                   // Required float array
  Att vsCentering = "nodal"                   // Optional string, defaults to "nodal", other allowed value is "zonal"
}

Plotting Domains in VisIt
VisIt allows the visualization of the different domains that make up a particular multi-domain mesh or variable. In order to view the domain blocks, create a Subset plot of your mesh. Each domain in the mesh will be a different color in the resulting image. The following image is a subset plot of our facets core-edge-explicit example, which is constructed from three different meshes.

Updated by Ted Sume almost 5 years ago · 4 revisions