60 m_shapeNumElements(1,nel)
77 TiXmlDocument& doc = pSession->GetDocument();
85 ASSERTL0(
false,
"Needs setting up for dimension 1");
109 TiXmlHandle docHandle(&doc);
111 = docHandle.FirstChildElement(
"NEKTAR").Element();
112 ASSERTL0(master ,
"Unable to find NEKTAR tag in file.");
114 TiXmlElement* paramList
115 = docHandle.FirstChildElement(
"NEKTAR")
116 .FirstChildElement(
"GLOBALOPTIMIZATIONPARAMETERS")
127 = paramList->FirstChildElement(
"SOURCE");
130 std::string sourceFile = source->Attribute(
"FILE");
131 TiXmlDocument docSource;
132 bool loadOkay = docSource.LoadFile(sourceFile);
133 ASSERTL0(loadOkay, (std::string(
"Unable to load file: ") +
134 sourceFile).c_str());
135 TiXmlHandle docSourceHandle(&docSource);
136 master = docHandle.FirstChildElement(
"NEKTAR").Element();
137 ASSERTL0(master ,
"Unable to find NEKTAR tag in file.");
139 paramList = docHandle.FirstChildElement(
"NEKTAR")
140 .FirstChildElement(
"GLOBALOPTIMIZATIONPARAMETERS")
142 ASSERTL0(paramList, std::string(
"Specified source file '"
143 + sourceFile +
"' is missing an "
144 "GLOBALOPTIMIZATIONPARAMETERS tag.").c_str());
150 TiXmlElement* operationType = paramList->FirstChildElement(
155 TiXmlElement* arrayElement = operationType
156 ->FirstChildElement(
"DO_GLOBAL_MAT_OP");
162 err = arrayElement->QueryIntAttribute(
"VALUE", &value);
164 std::string(
"Unable to read DO_GLOBAL_MAT_OP "
165 "attribute VALUE for ")
174 = operationType->FirstChildElement(
"DO_BLOCK_MAT_OP");
185 err = arrayElement->QueryIntAttribute(
"TRI", &value);
187 std::string(
"Unable to read DO_BLOCK_MAT_OP "
188 "attribute TRI for ")
190 + std::string(
".")));
194 err = arrayElement->QueryIntAttribute(
"QUAD", &value);
196 std::string(
"Unable to read DO_BLOCK_MAT_OP "
197 "attribute QUAD for ")
199 + std::string(
".")));
204 err = arrayElement->QueryIntAttribute(
"TET", &value);
206 std::string(
"Unable to read DO_BLOCK_MAT_OP "
207 "attribute TET for ")
209 + std::string(
".")));
213 err = arrayElement->QueryIntAttribute(
"PYR", &value);
215 std::string(
"Unable to read DO_BLOCK_MAT_OP "
216 "attribute PYR for ")
218 + std::string(
".")));
222 err = arrayElement->QueryIntAttribute(
"PRISM", &value);
224 std::string(
"Unable to read DO_BLOCK_MAT_OP "
225 "attribute PRISM for ")
227 + std::string(
".")));
231 err = arrayElement->QueryIntAttribute(
"HEX", &value);
233 std::string(
"Unable to read DO_BLOCK_MAT_OP "
234 "attribute HEX for ")
236 + std::string(
".")));
const char *const OptimizationOperationTypeMap[]
Array< OneD, const int > m_shapeNumElements
A list of number of elements contained within each shape type.
#define ASSERTL0(condition, msg)
Array< OneD, Array< OneD, bool > > m_doBlockMatOp
Array of Flags of first dimension of the number of shapes within the space dimension, indicating if different matrices should be evaluated using a block matrix.
boost::shared_ptr< SessionReader > SessionReaderSharedPtr
Array< OneD, bool > m_doGlobalMatOp
Flags indicating if different matrices should be evaluated globally.
Array< OneD, LibUtilities::ShapeType > m_shapeList
A list ExpansionTypes indicating the order in which shapes are listed to call the appropriate key for...
GlobalOptParam()
Default constructor should not be called.