50 ModuleKey ProcessJacobianEnergy::className =
53 ProcessJacobianEnergy::create,
54 "Show high frequency energy of Jacobian.");
60 "how many top modes to keep ");
71 cout <<
"ProcessJacobianEnergy: Process Jacobian fld" << endl;
78 for(
int i =0; i <
m_f->m_exp[0]->GetExpSize(); ++i)
83 int ncoeffs = Elmt->GetNcoeffs();
84 int nquad = Elmt->GetTotPoints();
85 int coeffoffset =
m_f->m_exp[0]->GetCoeff_Offset(i);
88 Elmt->GetMetricInfo()->GetJac(Elmt->GetPointsKeys());
103 NekDouble jacmeasure = jacmax/jacmin -1.0;
111 Elmt->FwdTrans(phys,tmp = coeffs + coeffoffset);
114 std::vector<LibUtilities::FieldDefinitionsSharedPtr> FieldDef
115 =
m_f->m_exp[0]->GetFieldDefinitions();
116 std::vector<std::vector<NekDouble> > FieldData(FieldDef.size());
118 for (
int i = 0; i < FieldDef.size(); ++i)
120 FieldDef[i]->m_fields.push_back(
"JacobianEnergy");
121 m_f->m_exp[0]->AppendFieldData(FieldDef[i], FieldData[i]);
124 m_f->m_fielddef = FieldDef;
125 m_f->m_data = FieldData;
pair< ModuleType, string > ModuleKey
T Vmax(int n, const T *x, const int incx)
Return the maximum element in x – called vmax to avoid conflict with max.
T Vmin(int n, const T *x, const int incx)
Return the minimum element in x - called vmin to avoid conflict with min.
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value.
map< string, ConfigOption > m_config
List of configuration values.
FieldSharedPtr m_f
Field object.
boost::shared_ptr< Field > FieldSharedPtr
Represents a command-line configuration option.
virtual ~ProcessJacobianEnergy()
Geometry is straight-sided with constant geometric factors.
boost::shared_ptr< StdExpansion > StdExpansionSharedPtr
void Vcopy(int n, const T *x, const int incx, T *y, const int incy)
Geometry is curved or has non-constant factors.
ModuleFactory & GetModuleFactory()
Abstract base class for processing modules.
tKey RegisterCreatorFunction(tKey idKey, CreatorFunction classCreator, tDescription pDesc="")
Register a class with the factory.