39 #include <boost/core/ignore_unused.hpp> 40 #include <boost/format.hpp> 54 "Writes a Fld file."),
57 "Writes a Fld file."),
63 false,
"Xml",
"Output format of field file");
72 boost::ignore_unused(vm);
74 "OutputFld can't write using Pts information.");
79 boost::ignore_unused(vm);
81 "OutputFld: need input data.")
84 string filename =
m_config[
"outfile"].as<string>();
92 int nfields =
m_f->m_variables.size();
94 m_f->m_session->LoadParameter(
"Strip_Z", nstrips, 1);
96 if(
m_f->m_exp[0]->GetNumElmts() != 0)
98 std::vector<LibUtilities::FieldDefinitionsSharedPtr> FieldDef =
99 m_f->m_exp[0]->GetFieldDefinitions();
100 std::vector<std::vector<NekDouble> > FieldData(FieldDef.size());
101 for (s = 0; s < nstrips; ++s)
103 for (j = 0; j < nfields; ++j)
105 for (i = 0; i < FieldDef.size() / nstrips; ++i)
107 int n = s * FieldDef.size() / nstrips + i;
109 FieldDef[n]->m_fields.push_back(
m_f->m_variables[j]);
110 m_f->m_exp[s * nfields + j]->AppendFieldData(
111 FieldDef[n], FieldData[n]);
115 fld->Write(filename, FieldDef, FieldData,
m_f->m_fieldMetaDataMap,
120 std::vector<LibUtilities::FieldDefinitionsSharedPtr> FieldDef =
121 std::vector<LibUtilities::FieldDefinitionsSharedPtr>();
122 std::vector<std::vector<NekDouble> > FieldData =
123 std::vector<std::vector<NekDouble> >();
124 fld->Write(filename, FieldDef, FieldData,
m_f->m_fieldMetaDataMap);
130 boost::ignore_unused(vm);
133 string filename =
m_config[
"outfile"].as<
string>();
139 fld->Write(filename,
m_f->m_fielddef,
m_f->m_data,
140 m_f->m_fieldMetaDataMap);
144 po::variables_map &vm)
146 boost::ignore_unused(vm);
147 return fs::path(filename);
151 po::variables_map &vm)
153 boost::ignore_unused(vm);
155 int nprocs =
m_f->m_comm->GetSize();
156 fs::path specPath(filename), fulloutname;
159 fulloutname = specPath;
165 pad %
m_f->m_comm->GetRank() %
"fld";
168 fs::path poutfile(pad.str());
169 fulloutname = specPath / poutfile;
176 std::string iofmt(
"Xml");
179 if (
m_f->m_session->DefinesSolverInfo(
"IOFormat"))
181 iofmt =
m_f->m_session->GetSolverInfo(
"IOFormat");
183 if (
m_f->m_session->DefinesCmdLineArgument(
"io-format"))
186 m_f->m_session->GetCmdLineArgument<std::string>(
"io-format");
191 iofmt =
m_config[
"format"].as<
string>();
#define ASSERTL0(condition, msg)
#define NEKERROR(type, msg)
Assert Level 0 – Fundamental assert which is used whether in FULLDEBUG, DEBUG or OPT compilation mod...
std::map< std::string, ConfigOption > m_config
List of configuration values.
Represents a command-line configuration option.
virtual void OutputFromPts(po::variables_map &vm)
Write from pts to output file.
Converter from fld to vtk.
virtual fs::path GetFullOutName(std::string &filename, po::variables_map &vm)
virtual void OutputFromExp(po::variables_map &vm)
Write from m_exp to output file.
std::shared_ptr< Field > FieldSharedPtr
FieldIOFactory & GetFieldIOFactory()
Returns the FieldIO factory.
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
std::pair< ModuleType, std::string > ModuleKey
std::string GetIOFormat()
virtual void OutputFromData(po::variables_map &vm)
Write from data to output file.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, std::string pDesc="")
Register a class with the factory.
virtual fs::path GetPath(std::string &filename, po::variables_map &vm)
std::shared_ptr< FieldIO > FieldIOSharedPtr
ModuleFactory & GetModuleFactory()
FieldSharedPtr m_f
Field object.