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;
74 Array<OneD, NekDouble> phys =
m_f->m_exp[0]->UpdatePhys();
75 Array<OneD, NekDouble> coeffs =
m_f->m_exp[0]->UpdateCoeffs();
76 Array<OneD, NekDouble> tmp,tmp1;
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);
86 Array<OneD, NekDouble> coeffs1(ncoeffs);
87 Array<OneD, const NekDouble> Jac =
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;