59 m_shapeNumElements(1,nel)
76 TiXmlDocument& doc = pSession->GetDocument();
84 ASSERTL0(
false,
"Needs setting up for dimension 1");
108 TiXmlHandle docHandle(&doc);
110 = docHandle.FirstChildElement(
"NEKTAR").Element();
111 ASSERTL0(master ,
"Unable to find NEKTAR tag in file.");
113 TiXmlElement* paramList
114 = docHandle.FirstChildElement(
"NEKTAR")
115 .FirstChildElement(
"GLOBALOPTIMIZATIONPARAMETERS")
126 = paramList->FirstChildElement(
"SOURCE");
129 std::string sourceFile = source->Attribute(
"FILE");
130 TiXmlDocument docSource;
131 bool loadOkay = docSource.LoadFile(sourceFile);
132 ASSERTL0(loadOkay, (std::string(
"Unable to load file: ") +
133 sourceFile).c_str());
134 TiXmlHandle docSourceHandle(&docSource);
135 master = docHandle.FirstChildElement(
"NEKTAR").Element();
136 ASSERTL0(master ,
"Unable to find NEKTAR tag in file.");
138 paramList = docHandle.FirstChildElement(
"NEKTAR")
139 .FirstChildElement(
"GLOBALOPTIMIZATIONPARAMETERS")
141 ASSERTL0(paramList, std::string(
"Specified source file '" 142 + sourceFile +
"' is missing an " 143 "GLOBALOPTIMIZATIONPARAMETERS tag.").c_str());
149 TiXmlElement* operationType = paramList->FirstChildElement(
154 TiXmlElement* arrayElement = operationType
155 ->FirstChildElement(
"DO_GLOBAL_MAT_OP");
161 err = arrayElement->QueryIntAttribute(
"VALUE", &value);
163 std::string(
"Unable to read DO_GLOBAL_MAT_OP " 164 "attribute VALUE for ")
173 = operationType->FirstChildElement(
"DO_BLOCK_MAT_OP");
184 err = arrayElement->QueryIntAttribute(
"TRI", &value);
186 std::string(
"Unable to read DO_BLOCK_MAT_OP " 187 "attribute TRI for ")
189 + std::string(
".")));
193 err = arrayElement->QueryIntAttribute(
"QUAD", &value);
195 std::string(
"Unable to read DO_BLOCK_MAT_OP " 196 "attribute QUAD for ")
198 + std::string(
".")));
203 err = arrayElement->QueryIntAttribute(
"TET", &value);
205 std::string(
"Unable to read DO_BLOCK_MAT_OP " 206 "attribute TET for ")
208 + std::string(
".")));
212 err = arrayElement->QueryIntAttribute(
"PYR", &value);
214 std::string(
"Unable to read DO_BLOCK_MAT_OP " 215 "attribute PYR for ")
217 + std::string(
".")));
221 err = arrayElement->QueryIntAttribute(
"PRISM", &value);
223 std::string(
"Unable to read DO_BLOCK_MAT_OP " 224 "attribute PRISM for ")
226 + std::string(
".")));
230 err = arrayElement->QueryIntAttribute(
"HEX", &value);
232 std::string(
"Unable to read DO_BLOCK_MAT_OP " 233 "attribute HEX for ")
235 + 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.
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.
std::shared_ptr< SessionReader > SessionReaderSharedPtr