added: flag the primary solution vector with type="restart"
this allows ignoring it during the conversion to VTF. i used type "restart" since this vector will only be of interest when doing restarted runs git-svn-id: http://svn.sintef.no/trondheim/IFEM/trunk@1026 e10b68d5-8a6e-419e-a041-bce267b0401d
This commit is contained in:
parent
992208fc38
commit
3e9662bfae
@ -73,6 +73,7 @@ void XMLWriter::readInfo()
|
|||||||
entry.description = elem->Attribute("description");
|
entry.description = elem->Attribute("description");
|
||||||
entry.patches = atoi(elem->Attribute("patches"));
|
entry.patches = atoi(elem->Attribute("patches"));
|
||||||
entry.components = atoi(elem->Attribute("components"));
|
entry.components = atoi(elem->Attribute("components"));
|
||||||
|
entry.type = elem->Attribute("type");
|
||||||
if (elem->Attribute("basis"))
|
if (elem->Attribute("basis"))
|
||||||
entry.basis = elem->Attribute("basis");
|
entry.basis = elem->Attribute("basis");
|
||||||
m_entry.push_back(entry);
|
m_entry.push_back(entry);
|
||||||
@ -118,39 +119,40 @@ void XMLWriter::writeSIM (int level, const DataEntry& entry)
|
|||||||
if (prob->mixedFormulation())
|
if (prob->mixedFormulation())
|
||||||
{
|
{
|
||||||
// primary solution vector
|
// primary solution vector
|
||||||
addField(entry.first,entry.second.description,sim->getName()+"-0",
|
addField(entry.first,entry.second.description,sim->getName()+"-1",
|
||||||
prob->getNoFields(1),sim->getNoPatches());
|
prob->getNoFields(1),sim->getNoPatches(),"restart");
|
||||||
|
|
||||||
// Assuming that basis2 is used for secondary variables
|
// Assuming that basis2 is used for secondary variables
|
||||||
// primary solution fields
|
// primary solution fields
|
||||||
addField(prob->getField1Name(11),"primary",sim->getName()+"-0",
|
addField(prob->getField1Name(11),"primary",sim->getName()+"-1",
|
||||||
sim->getNoFields(1),sim->getNoPatches());
|
sim->getNoFields(1),sim->getNoPatches());
|
||||||
addField(prob->getField1Name(12),"primary",sim->getName()+"-1",
|
addField(prob->getField1Name(12),"primary",sim->getName()+"-2",
|
||||||
sim->getNoFields(2),sim->getNoPatches());
|
sim->getNoFields(2),sim->getNoPatches());
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// primary solution
|
// primary solution
|
||||||
addField(prob->getField1Name(11),entry.second.description,sim->getName()+"-0",
|
addField(prob->getField1Name(11),entry.second.description,sim->getName()+"-1",
|
||||||
prob->getNoFields(1),sim->getNoPatches());
|
prob->getNoFields(1),sim->getNoPatches());
|
||||||
}
|
}
|
||||||
|
|
||||||
// secondary solution fields
|
// secondary solution fields
|
||||||
if (entry.second.size == -1)
|
if (entry.second.size == -1)
|
||||||
for (size_t j = 0; j < prob->getNoFields(2); j++)
|
for (size_t j = 0; j < prob->getNoFields(2); j++)
|
||||||
addField(prob->getField2Name(j),"secondary",sim->getName()+"-1",1,sim->getNoPatches());
|
addField(prob->getField2Name(j),"secondary",sim->getName()+(prob->mixedFormulation()?"-2":"-1"),1,sim->getNoPatches());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void XMLWriter::addField (const std::string& name,
|
void XMLWriter::addField (const std::string& name,
|
||||||
const std::string& description,
|
const std::string& description,
|
||||||
const std::string& basis,
|
const std::string& basis,
|
||||||
int components, int patches)
|
int components, int patches,
|
||||||
|
const std::string& type)
|
||||||
{
|
{
|
||||||
TiXmlElement element("entry");
|
TiXmlElement element("entry");
|
||||||
element.SetAttribute("name",name.c_str());
|
element.SetAttribute("name",name.c_str());
|
||||||
element.SetAttribute("description",description.c_str());
|
element.SetAttribute("description",description.c_str());
|
||||||
element.SetAttribute("type","field");
|
element.SetAttribute("type",type);
|
||||||
if (!basis.empty())
|
if (!basis.empty())
|
||||||
element.SetAttribute("basis",basis.c_str());
|
element.SetAttribute("basis",basis.c_str());
|
||||||
element.SetAttribute("patches",patches);
|
element.SetAttribute("patches",patches);
|
||||||
|
@ -17,6 +17,7 @@ public:
|
|||||||
std::string basis;
|
std::string basis;
|
||||||
int patches;
|
int patches;
|
||||||
int components;
|
int components;
|
||||||
|
std::string type;
|
||||||
};
|
};
|
||||||
|
|
||||||
XMLWriter(const std::string& name);
|
XMLWriter(const std::string& name);
|
||||||
@ -37,7 +38,8 @@ public:
|
|||||||
|
|
||||||
protected:
|
protected:
|
||||||
void addField(const std::string& name, const std::string& description,
|
void addField(const std::string& name, const std::string& description,
|
||||||
const std::string& geometry, int components, int patches);
|
const std::string& geometry, int components, int patches,
|
||||||
|
const std::string& type="field");
|
||||||
|
|
||||||
std::vector<Entry> m_entry;
|
std::vector<Entry> m_entry;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user