Commit b9560248 authored by hrchilds's avatar hrchilds
Browse files

Update from November 10, 2005

git-svn-id: http://visit.ilight.com/svn/visit/trunk/src@567 18c085ea-50e0-402c-830e-de6fd14e8384
parent dd29d835
......@@ -774,6 +774,7 @@ mkdir $VISITDIR/boxlib/$VISITARCH
mkdir $VISITDIR/boxlib/$VISITARCH/{include,lib}
mkdir $VISITDIR/boxlib/$VISITARCH/include/{2D,3D}
cp libbox3d*.a $VISITDIR/boxlib/$VISITARCH/lib/libbox3D.a
tar cf Boxlib3D.h.tar *.H
#
# Now build the 2d version.
......@@ -790,6 +791,7 @@ gmake -f GNUmakefile
# Install the 2d version in the visit directory under the boxlib directory.
#
cp libbox2d*.a $VISITDIR/boxlib/$VISITARCH/lib/libbox2D.a
tar cf Boxlib2D.h.tar *.H
#
# Install the header files.
......
......@@ -107,6 +107,9 @@ $0 = shift @ARGV;
# Brad Whitlock, Fri Oct 28 11:17:28 PDT 2005
# Added AWE fix for -newconsole under AIX.
#
# Kathlene Bonnell, Wed Nov 9 16:23:19 PST 2005
# Added qsub launch command.
#
###############################################################################
......@@ -1148,6 +1151,49 @@ if ($procs_set or ($parallel and $parlaunch_set))
@printcmd = @parcmd;
chomp($printcmd[0] = `basename $printcmd[0]`);
}
# qsub
elsif (substr($launch,0,4) eq "qsub")
{
chomp($tdate = `date | cut -c 12-19`);
chomp($tuser = `whoami`);
$tfilename = "/tmp/visit.$tuser.$tdate";
$tfile_opened = 1;
open(TFILE, ">$tfilename") or $tfile_opened = 0;
if ($tfile_opened)
{
if ($security_key_set) { push @visitcmd, "-key", $security_key; }
$libcmd = "setenv LIBPATH $ENV{LIBPATH}\n";
$ldlibcmd = "setenv LD_LIBRARY_PATH $ENV{LD_LIBRARY_PATH}\n";
$plugincmd = "setenv VISITPLUGINDIR $ENV{VISITPLUGINDIR}\n";
$mpicmd = "mpiexec -np $procs -pernode @visitcmd\n";
print TFILE "#!/bin/tcsh\n";
print TFILE $libcmd;
print TFILE $ldlibcmd;
print TFILE $plugincmd;
print TFILE $mpicmd;
close(TFILE);
@parcmd = ("qsub");
push @parcmd, @launchargs if $launchargs_set;
push @parcmd, "-l nodes=$procs:ppn=2:vis" if $procs_set;
if ($time_set)
{
$wtime = $time*60;
push @parcmd, "-l walltime=$wtime";
}
push @parcmd, "-q", $part if $part_set;
@printcmd = @parcmd;
push @parcmd, $tfilename;
push @printcmd, $libcmd;
push @printcmd, $ldlibcmd;
push @printcmd, $plugincmd;
push @printcmd, $mpicmd;
push @printcmd, ("\"".(pop @printcmd)."\"");
}
}
else
{
print STDERR "Attempted an unsupported launch method (\"$launch\").\n";
......
......@@ -118,6 +118,41 @@
<Field name="arguments" type="stringVector">-pl prun -dir /usr/projects/llnl_b/visit </Field>
<Field name="parallel" type="bool">true</Field>
</Object>
<Object name="HostProfile">
<Field name="profileName" type="string">serial</Field>
<Field name="host" type="string">redrose1.sandia.gov redrose2.sandia.gov</Field>
<Field name="hostAliases" type="string">redrose1 redrose2<\Field>
<Field name="timeout" type="int">480</Field>
<Field name="numProcessors" type="int">1</Field>
<Field name="numNodesSet" type="bool">false</Field>
<Field name="numNodes" type="int">0</Field>
<Field name="partitionSet" type="bool">false</Field>
<Field name="partition" type="string"></Field>
<Field name="bankSet" type="bool">false</Field>
<Field name="bank" type="string"></Field>
<Field name="timeLimitSet" type="bool">false</Field>
<Field name="timeLimit" type="string"></Field>
<Field name="launchMethodSet" type="bool">false</Field>
<Field name="launchMethod" type="string"></Field>
<Field name="forceStatic" type="bool">true</Field>
<Field name="forceDynamic" type="bool">false</Field>
<Field name="active" type="bool">true</Field>
<Field name="parallel" type="bool">false</Field>
<Field name="arguments" type="stringVector">-dir /projects/llnl/visit </Field>
</Object>
<Object name="HostProfile">
<Field name="profileName" type="string">parallel batch</Field>
<Field name="host" type="string">redrose1.sandia.gov redrose2.sandia.gov</Field>
<Field name="hostAliases" type="string">redrose1 redrose2<\Field>
<Field name="numProcessors" type="int">2</Field>
<Field name="timeLimitSet" type="bool">true</Field>
<Field name="timeLimit" type="string">7200</Field>
<Field name="launchMethodSet" type="bool">true</Field>
<Field name="launchMethod" type="string">qsub</Field>
<Field name="active" type="bool">false</Field>
<Field name="parallel" type="bool">true</Field>
<Field name="arguments" type="stringVector">-dir /projects/llnl/visit </Field>
</Object>
<Object name="HostProfile">
<Field name="profileName" type="string">serial</Field>
<Field name="host" type="string">gviz.llnl.gov</Field>
......
......@@ -125,13 +125,13 @@ QueryAttributes::DataType_FromString(const std::string &s, QueryAttributes::Data
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
// ****************************************************************************
QueryAttributes::QueryAttributes() : AttributeSubject("ss*sFiid*iii*iib")
QueryAttributes::QueryAttributes() : AttributeSubject("ss*sFiid*iii*iibss")
{
variables.push_back("default");
worldPoint[0] = 0;
......@@ -156,13 +156,13 @@ QueryAttributes::QueryAttributes() : AttributeSubject("ss*sFiid*iii*iib")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
// ****************************************************************************
QueryAttributes::QueryAttributes(const QueryAttributes &obj) : AttributeSubject("ss*sFiid*iii*iib")
QueryAttributes::QueryAttributes(const QueryAttributes &obj) : AttributeSubject("ss*sFiid*iii*iibss")
{
name = obj.name;
variables = obj.variables;
......@@ -180,6 +180,8 @@ QueryAttributes::QueryAttributes(const QueryAttributes &obj) : AttributeSubject(
dataType = obj.dataType;
pipeIndex = obj.pipeIndex;
useGlobalId = obj.useGlobalId;
xUnits = obj.xUnits;
yUnits = obj.yUnits;
SelectAll();
}
......@@ -193,7 +195,7 @@ QueryAttributes::QueryAttributes(const QueryAttributes &obj) : AttributeSubject(
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -213,7 +215,7 @@ QueryAttributes::~QueryAttributes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -239,6 +241,8 @@ QueryAttributes::operator = (const QueryAttributes &obj)
dataType = obj.dataType;
pipeIndex = obj.pipeIndex;
useGlobalId = obj.useGlobalId;
xUnits = obj.xUnits;
yUnits = obj.yUnits;
SelectAll();
return *this;
......@@ -253,7 +257,7 @@ QueryAttributes::operator = (const QueryAttributes &obj)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -282,7 +286,9 @@ QueryAttributes::operator == (const QueryAttributes &obj) const
(varTypes == obj.varTypes) &&
(dataType == obj.dataType) &&
(pipeIndex == obj.pipeIndex) &&
(useGlobalId == obj.useGlobalId));
(useGlobalId == obj.useGlobalId) &&
(xUnits == obj.xUnits) &&
(yUnits == obj.yUnits));
}
// ****************************************************************************
......@@ -294,7 +300,7 @@ QueryAttributes::operator == (const QueryAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -315,7 +321,7 @@ QueryAttributes::operator != (const QueryAttributes &obj) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -336,7 +342,7 @@ QueryAttributes::TypeName() const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -364,7 +370,7 @@ QueryAttributes::CopyAttributes(const AttributeGroup *atts)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -390,7 +396,7 @@ QueryAttributes::CreateCompatible(const std::string &tname) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -417,7 +423,7 @@ QueryAttributes::NewInstance(bool copy) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -439,6 +445,8 @@ QueryAttributes::SelectAll()
Select(10, (void *)&dataType);
Select(11, (void *)&pipeIndex);
Select(12, (void *)&useGlobalId);
Select(13, (void *)&xUnits);
Select(14, (void *)&yUnits);
}
///////////////////////////////////////////////////////////////////////////////
......@@ -454,7 +462,7 @@ QueryAttributes::SelectAll()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -549,6 +557,18 @@ QueryAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool forceA
node->AddNode(new DataNode("useGlobalId", useGlobalId));
}
if(completeSave || !FieldsEqual(13, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("xUnits", xUnits));
}
if(completeSave || !FieldsEqual(14, &defaultObject))
{
addToParent = true;
node->AddNode(new DataNode("yUnits", yUnits));
}
// Add the node to the parent node.
if(addToParent || forceAdd)
......@@ -568,7 +588,7 @@ QueryAttributes::CreateNode(DataNode *parentNode, bool completeSave, bool forceA
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -640,6 +660,10 @@ QueryAttributes::SetFromNode(DataNode *parentNode)
SetPipeIndex(node->AsInt());
if((node = searchNode->GetNode("useGlobalId")) != 0)
SetUseGlobalId(node->AsBool());
if((node = searchNode->GetNode("xUnits")) != 0)
SetXUnits(node->AsString());
if((node = searchNode->GetNode("yUnits")) != 0)
SetYUnits(node->AsString());
}
///////////////////////////////////////////////////////////////////////////////
......@@ -739,6 +763,20 @@ QueryAttributes::SetUseGlobalId(bool useGlobalId_)
Select(12, (void *)&useGlobalId);
}
void
QueryAttributes::SetXUnits(const std::string &xUnits_)
{
xUnits = xUnits_;
Select(13, (void *)&xUnits);
}
void
QueryAttributes::SetYUnits(const std::string &yUnits_)
{
yUnits = yUnits_;
Select(14, (void *)&yUnits);
}
///////////////////////////////////////////////////////////////////////////////
// Get property methods
///////////////////////////////////////////////////////////////////////////////
......@@ -857,6 +895,30 @@ QueryAttributes::GetUseGlobalId() const
return useGlobalId;
}
const std::string &
QueryAttributes::GetXUnits() const
{
return xUnits;
}
std::string &
QueryAttributes::GetXUnits()
{
return xUnits;
}
const std::string &
QueryAttributes::GetYUnits() const
{
return yUnits;
}
std::string &
QueryAttributes::GetYUnits()
{
return yUnits;
}
///////////////////////////////////////////////////////////////////////////////
// Select property methods
///////////////////////////////////////////////////////////////////////////////
......@@ -897,6 +959,18 @@ QueryAttributes::SelectVarTypes()
Select(9, (void *)&varTypes);
}
void
QueryAttributes::SelectXUnits()
{
Select(13, (void *)&xUnits);
}
void
QueryAttributes::SelectYUnits()
{
Select(14, (void *)&yUnits);
}
///////////////////////////////////////////////////////////////////////////////
// Keyframing methods
///////////////////////////////////////////////////////////////////////////////
......@@ -910,7 +984,7 @@ QueryAttributes::SelectVarTypes()
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -934,6 +1008,8 @@ QueryAttributes::GetFieldName(int index) const
case 10: return "dataType";
case 11: return "pipeIndex";
case 12: return "useGlobalId";
case 13: return "xUnits";
case 14: return "yUnits";
default: return "invalid index";
}
}
......@@ -947,7 +1023,7 @@ QueryAttributes::GetFieldName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -971,6 +1047,8 @@ QueryAttributes::GetFieldType(int index) const
case 10: return FieldType_enum;
case 11: return FieldType_int;
case 12: return FieldType_bool;
case 13: return FieldType_string;
case 14: return FieldType_string;
default: return FieldType_unknown;
}
}
......@@ -984,7 +1062,7 @@ QueryAttributes::GetFieldType(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -1008,6 +1086,8 @@ QueryAttributes::GetFieldTypeName(int index) const
case 10: return "enum";
case 11: return "int";
case 12: return "bool";
case 13: return "string";
case 14: return "string";
default: return "invalid index";
}
}
......@@ -1021,7 +1101,7 @@ QueryAttributes::GetFieldTypeName(int index) const
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -1106,6 +1186,16 @@ QueryAttributes::FieldsEqual(int index_, const AttributeGroup *rhs) const
retval = (useGlobalId == obj.useGlobalId);
}
break;
case 13:
{ // new scope
retval = (xUnits == obj.xUnits);
}
break;
case 14:
{ // new scope
retval = (yUnits == obj.yUnits);
}
break;
default: retval = false;
}
......@@ -1121,6 +1211,8 @@ QueryAttributes::Reset()
{
name = " ";
resultsMessage = " ";
xUnits = "";
yUnits = "";
if (!variables.empty())
{
variables.clear();
......@@ -1130,7 +1222,9 @@ QueryAttributes::Reset()
{
varTypes.clear();
}
worldPoint[0] = worldPoint[1] = worldPoint[2] = 0.;
worldPoint[0] = 0.;
worldPoint[1] = 0.;
worldPoint[2] = 0.;
domain = -1;
element = -1;
elementType = Zone;
......
......@@ -6,6 +6,8 @@ QueryAttributes::Reset()
{
name = " ";
resultsMessage = " ";
xUnits = "";
yUnits = "";
if (!variables.empty())
{
variables.clear();
......@@ -15,7 +17,9 @@ QueryAttributes::Reset()
{
varTypes.clear();
}
worldPoint[0] = worldPoint[1] = worldPoint[2] = 0.;
worldPoint[0] = 0.;
worldPoint[1] = 0.;
worldPoint[2] = 0.;
domain = -1;
element = -1;
elementType = Zone;
......
......@@ -14,7 +14,7 @@
// Notes: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Mon Jul 25 09:15:02 PDT 2005
// Creation: Tue Nov 8 10:38:45 PDT 2005
//
// Modifications:
//
......@@ -69,6 +69,8 @@ public:
void SelectWorldPoint();
void SelectResultsValue();
void SelectVarTypes();
void SelectXUnits();
void SelectYUnits();
// Property setting methods
void SetName(const std::string &name_);
......@@ -84,6 +86,8 @@ public:
void SetDataType(DataType dataType_);
void SetPipeIndex(int pipeIndex_);
void SetUseGlobalId(bool useGlobalId_);
void SetXUnits(const std::string &xUnits_);
void SetYUnits(const std::string &yUnits_);
// Property getting methods
const std::string &GetName() const;
......@@ -105,6 +109,10 @@ public:
DataType GetDataType() const;
int GetPipeIndex() const;
bool GetUseGlobalId() const;
const std::string &GetXUnits() const;
std::string &GetXUnits();
const std::string &GetYUnits() const;
std::string &GetYUnits();
// Persistence methods
virtual bool CreateNode(DataNode *node, bool completeSave, bool forceAdd);
......@@ -152,6 +160,8 @@ private:
int dataType;
int pipeIndex;
bool useGlobalId;
std::string xUnits;
std::string yUnits;
};
#endif
......@@ -59,6 +59,10 @@
<Field name="useGlobalId" label="useGlobalId" type="bool">
false
</Field>
<Field name="xUnits" label="xUnits" type="string">
</Field>
<Field name="yUnits" label="yUnits" type="string">
</Field>
<Function name="Reset" user="true" member="true">
</Function>
<Function name="PrintSelf" user="true" member="true">
......
......@@ -117,6 +117,44 @@ QueryList::Groups_FromString(const std::string &s, QueryList::Groups &val)
return false;
}
//
// Enum conversion methods for QueryList::QueryMode
//
static const char *QueryMode_strings[] = {
"QueryOnly", "QueryAndTime", "TimeOnly"
};
std::string
QueryList::QueryMode_ToString(QueryList::QueryMode t)
{
int index = int(t);
if(index < 0 || index >= 3) index = 0;
return QueryMode_strings[index];
}
std::string
QueryList::QueryMode_ToString(int t)
{
int index = (t < 0 || t >= 3) ? 0 : t;
return QueryMode_strings[index];
}
bool
QueryList::QueryMode_FromString(const std::string &s, QueryList::QueryMode &val)
{
val = QueryList::QueryOnly;
for(int i = 0; i < 3; ++i)
{
if(s == QueryMode_strings[i])
{
val = (QueryMode)i;
return true;
}
}
return false;
}
// ****************************************************************************
// Method: QueryList::QueryList
//
......@@ -126,13 +164,13 @@ QueryList::Groups_FromString(const std::string &s, QueryList::Groups &val)
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Tue Mar 15 17:06:58 PST 2005
// Creation: Wed Nov 9 09:18:11 PDT 2005
//
// Modifications:
//
// ****************************************************************************
QueryList::QueryList() : AttributeSubject("s*i*i*i*i*i*i*")
QueryList::QueryList() : AttributeSubject("s*i*i*i*i*i*i*i*")
{
}
......@@ -145,13 +183,13 @@ QueryList::QueryList() : AttributeSubject("s*i*i*i*i*i*i*")
// Note: Autogenerated by xml2atts.
//
// Programmer: xml2atts
// Creation: Tue Mar 15 17:06:58 PST 2005
// Creation: Wed Nov 9 09:18:11 PDT 2005
//
// Modifications:
//
// ****************************************************************************
QueryList::QueryList(const QueryList &obj) : AttributeSubject("s*i*i*i*i*i*i*")
QueryList::QueryList(const QueryList &obj) : AttributeSubject("s*i*i*i*i*i*i*i*")
{
names = obj.names;
types = obj.types;
......@@ -159,7 +197,8 @@ QueryList::QueryList(const QueryList &obj) : AttributeSubject("s*i*i*i*i*i*i*")
numInputs = obj.numInputs;