50 ModuleKey ProcessConcatenateFld::className =
53 ProcessConcatenateFld::create,
54 "Concatenate field file into single file");
60 if((f->m_inputfiles.count(
"xml") == 0) &&
61 (f->m_inputfiles.count(
"xml.gz") == 0))
63 cout <<
"An xml or xml.gz input file must be specified for the "
64 "concatenate module" << endl;
68 if((f->m_inputfiles.count(
"fld") == 0) &&
69 (f->m_inputfiles.count(
"chk") == 0) &&
70 (f->m_inputfiles.count(
"rst") == 0))
72 cout <<
"A fld or chk or rst input file must be specified for the "
73 "concatenate module" << endl;
88 if(
m_f->m_comm->GetRank() == 0)
90 cout <<
"ProcessConcatenateFld: Concatenating field file..."
95 std::vector<LibUtilities::FieldDefinitionsSharedPtr> FieldDef
96 =
m_f->m_exp[0]->GetFieldDefinitions();
97 std::vector<std::vector<NekDouble> > FieldData(FieldDef.size());
100 for(
int j = 0; j <
m_f->m_exp.size(); ++j)
102 for(
int i = 0; i < FieldDef.size(); ++i)
105 FieldDef[i]->m_fields.push_back(
m_f->m_fielddef[0]->m_fields[j]);
106 m_f->m_exp[0]->AppendFieldData(FieldDef[i], FieldData[i],
107 m_f->m_exp[j]->UpdateCoeffs());
111 m_f->m_fielddef = FieldDef;
112 m_f->m_data = FieldData;
pair< ModuleType, string > ModuleKey
virtual ~ProcessConcatenateFld()
FieldSharedPtr m_f
Field object.
boost::shared_ptr< Field > FieldSharedPtr
ModuleFactory & GetModuleFactory()
Abstract base class for processing modules.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.