Commit 56c790fe authored by hrchilds's avatar hrchilds

Merge 2.0RC to trunk, picking up AMR SIL fast track changes.


git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@11654 18c085ea-50e0-402c-830e-de6fd14e8384
parent 43d55ef9
......@@ -1211,6 +1211,11 @@ avtMeshMetaData::Print(ostream &out, int indent) const
// Programmer: Hank Childs
// Creation: December 11, 2009
//
// Modifications:
//
// Hank Childs, Mon Jun 14 14:27:16 PDT 2010
// Fix crash for nlevels == 1 && patchs -> patches.
//
// ****************************************************************************
void
......@@ -1227,6 +1232,8 @@ avtMeshMetaData::SetAMRInfo(const std::string &levelName,
numBlocks += patchesPerLevel[i];
this->numBlocks = numBlocks;
this->blockTitle = patchName + "s";
if (patchName == "patch" || patchName == "Patch")
this->blockTitle = patchName + "es";
this->blockPieceName = patchName;
this->numGroups = nlevels;
this->groupTitle = levelName + "s";
......@@ -1284,6 +1291,13 @@ avtMeshMetaData::SetAMRInfo(const std::string &levelName,
sprintf(str, ":n+%d:", origin);
base_string += str;
}
if (nlevels <= 1)
{
// logic above doesn't work for nlevels == 1, just override
sprintf(str, "@%s%d,%s%%d@n+%d:", levelName.c_str(), origin,
patchName.c_str(), origin);
base_string = str;
}
NameschemeAttributes atts;
atts.SetNamescheme(base_string);
......
......@@ -1520,6 +1520,10 @@ avtBoxlibFileFormat::GetVisMF(int index)
// Hank Childs, Wed Jan 11 09:40:17 PST 2006
// Change mesh type to AMR.
//
// Hank Childs, Mon Jun 14 14:28:15 PDT 2010
// Use new AMR infrastructure if there are no materials. (It doesn't work
// with materials yet.)
//
// ****************************************************************************
void
......@@ -1536,6 +1540,8 @@ avtBoxlibFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
// Prevent VisIt from sorting the variables.
md->SetMustAlphabetizeVariables(false);
bool useFastTrack = (nMaterials <= 0);
char mesh_name[32] = "Mesh";
avtMeshMetaData *mesh = new avtMeshMetaData;
mesh->name = mesh_name;
......@@ -1545,23 +1551,32 @@ avtBoxlibFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
mesh->spatialDimension = dimension;
mesh->topologicalDimension = dimension;
mesh->hasSpatialExtents = false;
mesh->blockTitle = "patches";
mesh->blockPieceName = "patch";
mesh->numGroups = nLevels;
mesh->groupTitle = "levels";
mesh->groupPieceName = "level";
vector<int> groupIds(totalPatches);
vector<string> blockPieceNames(totalPatches);
for (int i = 0 ; i < totalPatches ; i++)
vector<int> groupIds;
vector<string> blockPieceNames;
if (useFastTrack)
mesh->SetAMRInfo("level", "patch", 1, patchesPerLevel);
else
{
char tmpName[128];
int level, local_patch;
GetLevelAndLocalPatchNumber(i, level, local_patch);
groupIds[i] = level;
sprintf(tmpName, "level%d,patch%d", level, local_patch);
blockPieceNames[i] = tmpName;
groupIds.resize(totalPatches);
blockPieceNames.resize(totalPatches);
mesh->blockTitle = "patches";
mesh->blockPieceName = "patch";
mesh->numGroups = nLevels;
mesh->groupTitle = "levels";
mesh->groupPieceName = "level";
for (int i = 0 ; i < totalPatches ; i++)
{
char tmpName[128];
int level, local_patch;
GetLevelAndLocalPatchNumber(i, level, local_patch);
groupIds[i] = level;
sprintf(tmpName, "level%d,patch%d", level, local_patch);
blockPieceNames[i] = tmpName;
}
mesh->blockNames = blockPieceNames;
}
mesh->blockNames = blockPieceNames;
#if BL_SPACEDIM==2
// coordSys == 0 <- XYZ
// coordSys == 1 <- ZR
......@@ -1579,7 +1594,8 @@ avtBoxlibFileFormat::PopulateDatabaseMetaData(avtDatabaseMetaData *md)
}
#endif
md->Add(mesh);
md->AddGroupInformation(nLevels, totalPatches, groupIds);
if (! useFastTrack)
md->AddGroupInformation(nLevels, totalPatches, groupIds);
int v;
for (v = 0; v < nVars; ++v)
......
......@@ -22,6 +22,7 @@
<li>Large, time-varying PlainText files can now be processed with a constant memory footprint.</li>
<li>Symbols needed by "import visit" in a Python interpreter have been exposed so they are not hidden by default when building with visibility=hidden.</li>
<li>The visit.so and visitmodule.so Python modules now are installed with $ORIGIN rpath so their dependent shared libraries can be found when Python imports the modules.</li>
<li>Certain AMR meshes with only one refinement level were crashing VisIt. This has been fixed.</li>
<li>A couple of bugs were corrected with the reading of unstructured meshes with polyhedral elements in the Silo database reader.</li>
<li>The visit.so Python module used by "import visit" now contains additional initialization to prevent crashes when executing user-defined callback functions.</li>
<li>A parallel bug with the Elliptical Compactness query was fixed. The bug resulted in incorrect ellipse axis fitting for multi-domain problems.</li>
......@@ -30,7 +31,7 @@
</ul>
<p><b><font size="4">Enhancements in version 2.0.1</font></b></p>
<ul>
<li>None.</li>
<li>The Boxlib reader now represents the AMR nesting structure in a more efficient manner. Adding plots, changing time slices, etc, should be noticably faster for simulations with large numbers of patch.</li>
</ul>
<p>Click the following link to view the release notes for the previous version of VisIt: <a href="relnotes2.0.0.html">VisIt 2.0 Release Notes</a>.</p>
</body>
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment