Commit a03207ba authored by Spencer Sherwin's avatar Spencer Sherwin
Browse files

Version which now passes all the library regression tests locally

parent 4b7010f8
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
</files> </files>
<metrics> <metrics>
<metric type="L2" id="1"> <metric type="L2" id="1">
<value tolerance="1e-12">5.36868e-07</value> <value tolerance="1e-12">5.22808e-07</value>
</metric> </metric>
<metric type="Linf" id="2"> <metric type="Linf" id="2">
<value tolerance="1e-12">3.78881e-06</value> <value tolerance="1e-12">4.16465e-06</value>
</metric> </metric>
</metrics> </metrics>
</test> </test>
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
</files> </files>
<metrics> <metrics>
<metric type="L2" id="1"> <metric type="L2" id="1">
<value tolerance="1e-12">4.61818e-05</value> <value tolerance="1e-12">4.1907e-05</value>
</metric> </metric>
<metric type="Linf" id="2"> <metric type="Linf" id="2">
<value tolerance="1e-12">0.000329233</value> <value tolerance="1e-12">0.000329233</value>
......
...@@ -619,7 +619,11 @@ namespace Nektar ...@@ -619,7 +619,11 @@ namespace Nektar
// face 0 // face 0
for(i = 0; i < numPoints; ++i) for(i = 0; i < numPoints; ++i)
{ {
mode[i] = pow(m_bdata[i],p+q); // [(1-z)/2]^{p+q} // [(1-z)/2]^{p+q-2} Note in book it
// seems to suggest p+q-1 but that
// does not seem to give complete
// polynomial space for pyramids
mode[i] = pow(m_bdata[i],p+q-2);
} }
one_m_z_pow = mode; one_m_z_pow = mode;
...@@ -628,7 +632,7 @@ namespace Nektar ...@@ -628,7 +632,7 @@ namespace Nektar
// interior // interior
for(int r = 1; r < numModes-max(p,q); ++r) for(int r = 1; r < numModes-max(p,q); ++r)
{ {
Polylib::jacobfd(numPoints,z.data(),mode,NULL,r-1,2*p+2*q-1,1.0); Polylib::jacobfd(numPoints,z.data(),mode,NULL,r-1,2*p+2*q-3,1.0);
for(i = 0; i < numPoints; ++i) for(i = 0; i < numPoints; ++i)
{ {
......
...@@ -3306,7 +3306,7 @@ namespace Nektar ...@@ -3306,7 +3306,7 @@ namespace Nektar
returnval.push_back(bkey); returnval.push_back(bkey);
const LibUtilities::PointsKey pkey1(nummodes+quadoffset-1, LibUtilities::eGaussRadauMAlpha2Beta0); const LibUtilities::PointsKey pkey1(nummodes+quadoffset-1, LibUtilities::eGaussRadauMAlpha2Beta0);
LibUtilities::BasisKey bkey1(LibUtilities::eModified_C, nummodes, pkey1); LibUtilities::BasisKey bkey1(LibUtilities::eModifiedPyr_C, nummodes, pkey1);
returnval.push_back(bkey1); returnval.push_back(bkey1);
} }
break; break;
......
...@@ -600,7 +600,7 @@ namespace Nektar ...@@ -600,7 +600,7 @@ namespace Nektar
if (fabs(elementAaxis_length*faceBaxis_length if (fabs(elementAaxis_length*faceBaxis_length
- fabs(dotproduct1)) > NekConstants::kNekZeroTol) - fabs(dotproduct1)) > NekConstants::kNekZeroTol)
{ {
cout << "Warning: Prism axes not parallel" << endl; cout << "Warning: Pyramid axes not parallel" << endl;
} }
// if the result is negative, both axis point in reverse // if the result is negative, both axis point in reverse
...@@ -621,7 +621,7 @@ namespace Nektar ...@@ -621,7 +621,7 @@ namespace Nektar
if (fabs(elementBaxis_length*faceAaxis_length if (fabs(elementBaxis_length*faceAaxis_length
- fabs(dotproduct2)) > NekConstants::kNekZeroTol) - fabs(dotproduct2)) > NekConstants::kNekZeroTol)
{ {
cout << "Warning: Prism axes not parallel" << endl; cout << "Warning: Pyramid axes not parallel" << endl;
} }
if( dotproduct2 < 0.0 ) if( dotproduct2 < 0.0 )
...@@ -710,7 +710,7 @@ namespace Nektar ...@@ -710,7 +710,7 @@ namespace Nektar
LibUtilities::PointsKey( LibUtilities::PointsKey(
order1+1, LibUtilities::eGaussLobattoLegendre)); order1+1, LibUtilities::eGaussLobattoLegendre));
const LibUtilities::BasisKey C( const LibUtilities::BasisKey C(
LibUtilities::eModified_C, order2, LibUtilities::eModifiedPyr_C, order2,
LibUtilities::PointsKey( LibUtilities::PointsKey(
order2, LibUtilities::eGaussRadauMAlpha2Beta0)); order2, LibUtilities::eGaussRadauMAlpha2Beta0));
......
...@@ -422,6 +422,7 @@ namespace Nektar ...@@ -422,6 +422,7 @@ namespace Nektar
} }
case LibUtilities::eModified_B: case LibUtilities::eModified_B:
case LibUtilities::eModified_C: case LibUtilities::eModified_C:
case LibUtilities::eModifiedPyr_C:
{ {
switch (facedir) switch (facedir)
{ {
...@@ -484,6 +485,7 @@ namespace Nektar ...@@ -484,6 +485,7 @@ namespace Nektar
case LibUtilities::eOrtho_A: case LibUtilities::eOrtho_A:
case LibUtilities::eOrtho_B: case LibUtilities::eOrtho_B:
case LibUtilities::eOrtho_C: case LibUtilities::eOrtho_C:
case LibUtilities::eOrthoPyr_C:
{ {
switch (facedir) switch (facedir)
{ {
......
This diff is collapsed.
...@@ -98,8 +98,6 @@ namespace Nektar ...@@ -98,8 +98,6 @@ namespace Nektar
STD_REGIONS_EXPORT ~StdPyrExp(); STD_REGIONS_EXPORT ~StdPyrExp();
STD_REGIONS_EXPORT int GetTetMode(int I, int J, int K);
protected: protected:
//--------------------------------------- //---------------------------------------
// Differentiation/integration Methods // Differentiation/integration Methods
...@@ -257,8 +255,7 @@ namespace Nektar ...@@ -257,8 +255,7 @@ namespace Nektar
//--------------------------------------- //---------------------------------------
// Private helper functions // Private helper functions
//--------------------------------------- //---------------------------------------
std::map<Mode, unsigned int, cmpop> m_map; STD_REGIONS_EXPORT int GetMode(int I, int J, int K);
std::map<int, std::map<int, std::map<int, std::pair<int, int> > > > m_idxMap;
}; };
typedef boost::shared_ptr<StdPyrExp> StdPyrExpSharedPtr; typedef boost::shared_ptr<StdPyrExp> StdPyrExpSharedPtr;
} //end of namespace } //end of namespace
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment