53 ProcessScaleInFld::create,
"rescale input field by a constant factor.");
57 if((f->m_inputfiles.count(
"fld") == 0) &&
58 (f->m_inputfiles.count(
"rst") == 0) &&
59 (f->m_inputfiles.count(
"chk") == 0))
61 cout <<
"A fld, chk or rst input file must be specified for the "
62 "scaleinputfld module" << endl;
68 "scaleinputfld: Need to specify a sacle factor");
77 ASSERTL0(
m_f->m_data.size() != 0,
"No input data defined");
79 string scalestr =
m_config[
"scale"].as<
string>();
84 if(
m_f->m_comm->GetRank() == 0)
86 cout <<
"ProcessScaleInFld: Rescaling input fld by factor"
87 << scale <<
"..." << endl;
91 for(
int i = 0; i <
m_f->m_data.size(); ++i)
93 int datalen =
m_f->m_data[i].size();
96 &(
m_f->m_data[i][0]), 1);
101 int nfields =
m_f->m_fielddef[0]->m_fields.size();
104 for (
int j = 0; j < nfields; ++j)
106 for (
int i = 0; i <
m_f->m_data.size(); ++i)
108 m_f->m_exp[j]->ExtractDataToCoeffs(
111 m_f->m_fielddef[i]->m_fields[j],
112 m_f->m_exp[j]->UpdateCoeffs());
#define ASSERTL0(condition, msg)
pair< ModuleType, string > ModuleKey
map< string, ConfigOption > m_config
List of configuration values.
FieldSharedPtr m_f
Field object.
void Smul(int n, const T alpha, const T *x, const int incx, T *y, const int incy)
Scalar multiply y = alpha*y.
virtual ~ProcessScaleInFld()
boost::shared_ptr< Field > FieldSharedPtr
Represents a command-line configuration option.
ModuleFactory & GetModuleFactory()
Abstract base class for processing modules.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.