Commit 06035853 authored by Dave Moxey's avatar Dave Moxey

Merge branch 'feature/new-precons' into 'master'

Low energy preconditioner for variable p and pyramids

See merge request !920
parents ce5ecd42 192d44ae
......@@ -6,5 +6,5 @@
[submodule "docs/developer-guide"]
branch = master
path = docs/developer-guide
url = git@gitlab.nektar.info:nektar/developer-guide
url = git@gitlab.nektar.info:nektar/developer-guide
ignore = all
......@@ -34,6 +34,10 @@ v5.0.0
- Fix mac OSX on buildbots (!876)
- Fix error from (!826) (!876)
- Fix minor bug in ARPACK thirdparty build cmake (!874)
- Added in sum factorisation version for pyramid expnasions and orthogonal expansion in pyramids (!750)
- Switch MeshGraph to use factory pattern and add HDF5 geometry support (!900,
!904)
- Restructure the low energy preconditioner to handle pyramidic and variable p expansions (!920)
- Remove requirement for modmetis, switch to SCOTCH by default (!899)
- Switch MeshGraph to use factory pattern and add HDF5 geometry support
(!900, !904)
......
......@@ -130,6 +130,9 @@ OperatorKey BwdTrans_StdMat::m_typeArr[] = {
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eHexahedron, eBwdTrans, eStdMat,false),
BwdTrans_StdMat::create, "BwdTrans_StdMat_Hex"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(ePyramid, eBwdTrans, eSumFac, false),
BwdTrans_StdMat::create, "BwdTrans_SumFac_Pyr")
};
......
......@@ -139,6 +139,9 @@ OperatorKey IProductWRTBase_StdMat::m_typeArr[] = {
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eHexahedron, eIProductWRTBase, eStdMat, false),
IProductWRTBase_StdMat::create, "IProductWRTBase_StdMat_Hex"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(ePyramid, eIProductWRTBase, eSumFac, false),
IProductWRTBase_StdMat::create, "IProductWRTBase_SumFac_Pyr")
};
......
......@@ -216,7 +216,10 @@ OperatorKey IProductWRTDerivBase_StdMat::m_typeArr[] = {
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eHexahedron, eIProductWRTDerivBase, eStdMat, false),
IProductWRTDerivBase_StdMat::create,
"IProductWRTDerivBase_StdMat_Hex")
"IProductWRTDerivBase_StdMat_Hex"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(ePyramid, eIProductWRTDerivBase, eSumFac, false),
IProductWRTDerivBase_StdMat::create, "IProductWRTDerivBase_SumFac_Pyr")
};
......
......@@ -201,9 +201,6 @@ OperatorKey PhysDeriv_StdMat::m_typeArr[] =
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eTetrahedron, ePhysDeriv, eStdMat, false),
PhysDeriv_StdMat::create, "PhysDeriv_StdMat_Tet"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eTetrahedron, ePhysDeriv, eStdMat, false),
PhysDeriv_StdMat::create, "PhysDeriv_StdMat_Tet"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eTetrahedron, ePhysDeriv, eStdMat, true),
PhysDeriv_StdMat::create, "PhysDeriv_StdMat_NodalTet"),
......@@ -218,7 +215,10 @@ OperatorKey PhysDeriv_StdMat::m_typeArr[] =
PhysDeriv_StdMat::create, "PhysDeriv_StdMat_NodalPrism"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(eHexahedron, ePhysDeriv, eStdMat, false),
PhysDeriv_StdMat::create, "PhysDeriv_StdMat_Hex")
PhysDeriv_StdMat::create, "PhysDeriv_StdMat_Hex"),
GetOperatorFactory().RegisterCreatorFunction(
OperatorKey(ePyramid, ePhysDeriv, eSumFac, false),
PhysDeriv_StdMat::create, "PhysDeriv_SumFac_Pyr")
};
......@@ -1752,6 +1752,5 @@ OperatorKey PhysDeriv_SumFac_Pyr::m_typeArr[] = {
PhysDeriv_SumFac_Pyr::create, "PhysDeriv_SumFac_Pyr")
};
}
}
......@@ -52,15 +52,22 @@ ADD_NEKTAR_TEST(Helmholtz2D_HDG_P7_Modes)
ADD_NEKTAR_TEST(Helmholtz2D_HDG_P7_Modes_AllBCs)
ADD_NEKTAR_TEST(Helmholtz2D_CG_varP_Modes)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Hex LENGTHY)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Hex_Heterogeneous)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Hex_Heterogeneous_iterLE)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Hex_AllBCs)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Hex_AllBCs_iter_sc_cont)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Tet)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Tet_VarP)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Tet_VarP_iterLE)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Prism)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Prism_VarP)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Prism_VarP_iterLE)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Prism_iter_ml)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Prism_Deformed)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Pyr)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Pyr_VarP)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Pyr_VarP_iterLE)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Pyr_Deformed)
ADD_NEKTAR_TEST(Helmholtz3D_CG_Homo1D)
ADD_NEKTAR_TEST(Helmholtz3D_HDG_Homo1D LENGTHY)
......@@ -90,6 +97,7 @@ IF (NEKTAR_USE_PETSC)
ENDIF (NEKTAR_USE_PETSC)
IF (NEKTAR_USE_MPI)
ADD_NEKTAR_TEST(CubeAllElements LENGTHY)
ADD_NEKTAR_TEST(Helmholtz1D_CG_P8_periodic_par3)
ADD_NEKTAR_TEST(Helmholtz2D_CG_P7_Modes_AllBCs_xxt_full)
ADD_NEKTAR_TEST(Helmholtz2D_CG_P7_Modes_AllBCs_xxt_sc)
......
<?xml version="1.0" encoding="utf-8"?>
<test>
<description> Helmholtz 3D with hybrid element, mixed order and low energy precondition with linear space </description>
<executable>Helmholtz3D</executable>
<parameters>-v -I GlobalSysSoln=IterativeStaticCond -I Preconditioner=FullLinearSpaceWithLowEnergyBlock CubeAllElements.xml</parameters>
<files>
<file description="Session File">CubeAllElements.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-6">0.00108997</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-6">0.024387</value>
</metric>
<metric type="Precon" id="3">
<value tolerance="2">46</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8" ?>
<NEKTAR>
<CONDITIONS>
<PARAMETERS>
<P> Lambda = 1 </P>
<P> IterativeSolverTolerance = 1e-8 </P>
</PARAMETERS>
<VARIABLES>
<V ID="0"> u </V>
</VARIABLES>
<BOUNDARYREGIONS>
<B ID="0"> C[1] </B>
<B ID="1"> C[2] </B>
<B ID="2"> C[3] </B>
<B ID="3"> C[4] </B>
<B ID="4"> C[5] </B>
<B ID="5"> C[6] </B>
</BOUNDARYREGIONS>
<BOUNDARYCONDITIONS>
<REGION REF="0">
<D VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</REGION>
<REGION REF="1">
<D VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</REGION>
<REGION REF="2">
<D VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</REGION>
<REGION REF="3">
<D VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</REGION>
<REGION REF="4">
<D VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</REGION>
<REGION REF="5">
<D VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</REGION>
</BOUNDARYCONDITIONS>
<FUNCTION NAME="Forcing">
<E VAR="u" VALUE="-(Lambda+PI*PI*6)*cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</FUNCTION>
<FUNCTION NAME="ExactSolution">
<E VAR="u" VALUE="cos(PI*x)*cos(PI*z)*cos(2*PI*y)" />
</FUNCTION>
</CONDITIONS>
<EXPANSIONS>
<E COMPOSITE="C[0]" NUMMODES="7" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[7]" NUMMODES="6" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[8]" NUMMODES="5" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[9]" NUMMODES="6" TYPE="MODIFIED" FIELDS="u" />
</EXPANSIONS>
<GEOMETRY DIM="3" SPACE="3">
<VERTEX COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJx9lTlTFFEUhdt9A9cRcQM3BMUVwV2vOyq4gDSiAu6oiEtiomaWEQGRf2ICMquMrfIfQELiaNVLMCExMLN0+syrOfPOe8mr11+fc8+93dOTJMVV8/lPT5pOWnZM6j/+6vpSN2mzkvACny304+0/3ubGv9uc7Dzxqao3Tb8Z9qH/a8rmCn/o59F11EH9+YJDvyDan7OFIt+73D+Hn7Yo2r+zxdF8zpbQdeZVpH/T8CFNU1fqr5ryFU+F0vyWCj36Xyb06G95tL6zFZSf+crgdGZK+VeRnnlO6JF/NeUfnXqfz+enS/3XCH/o10TzOasV/pjP2mh+Z+tobqiA/tYLjnwbynIVKn4fG6P+zuqEHvnrSc/v36agv38+m8mf579F6NHfVqFHvm3R+s4aiPP7t73Mf6Zi/o2CI19TdkYunv8O0vP3Z6fg8G+O5nO2S9THfHZH6zvbQ5y/H3sFR759VL948t+X/VF/Zy1Cj/wHgv3796tVcORrI39+/w5G/Z0dEnrkO1ymL1TkP5LE19Fs5/8XrGPE+b7jdD/zE0KP+Z0kzt8JDsT8lNDD/3Qwl3+PzwSn4vlZURfrHHHu/7zgyHeBONdpFxz6i8F8Pv8l0RfWZeKcv4M45+sM+vs6V7Kdnz9+H1fFfMCvif7Br5M/8y7qF/eNff3d1D82bd08kGyB3xD5wXuEP+aQCn/wXuEPfjPo6/P1CQ79LaqI+UB/m/TM7wg9/PuFHnxAzAX+g2Iu4HeFHvs9ocd+n3Lz83sgOPQPg337+T8SHPrHxHm+Q4JD/yTo7+fzVHDszygP9z8sOM7Pg3P1/Y8IjvMLOnP/LwXH+VXQ3/f/WnDsfwFYCm9Q</VERTEX>
<EDGE COMPRESSED="B64Z-LittleEndian" BITSIZE="64">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</EDGE>
<FACE>
<T COMPRESSED="B64Z-LittleEndian" BITSIZE="64">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</T>
<Q COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJx1mGtsnnMYxt+nHTNaihWdjTqsbDbbqNHNMEwddjQzNptVDTEJc8wiIY1DIlmyOGQRhA/ikPFhIZEQXyYSMea0GRvDaHVrp9gwzOmD6yd5ftH3y5X7vq/7vq7/4e37PF1f+ffzdnBt8J3gu8EN4r1XKX/WBT/WnPeDH6pvo3TgfRT8IPiJfJAfJN1P5Qc95sHfJN31QdaH/82q4xcd/H6mfnjo4P9zzSffGGRdW+QbvU3ifyFd/OIHvS9V36I8fr9SP7xm6W3VfPKTgqzra/lGr1n8b6TPfPq5R53i0TcryL3q0pxO5en7VjqdynO+3dLpEo97tk3zupXnHm1XnbhHPoi3idcb3KgYPz3Kc392aB7xd8HNiqn3Bb+Xjz7xiRcHuT/09SqGx734QfhjcGdwq/LwdgWXBTnfneL/FOxQ3y7x4f0c7FQenQ7xuhQz75fg7mC38uCvwZXS2y2E91twu/LorxSvRzHzfg/uCe5QHvwjuEp6e4TwXgr2KY/+KvG4F38Guc9/BYuiXCfPuv4OVhXlOvlexdUFg8v43+9I4gHSxQeIXrX45PcK7h1syJyB4lMfmvq+iQdpDn1HireP5uwXrFF/rfg10qkLHqC8++DtX5R9HBg8KDi4UvZVo/owreNg6Q0O1mt+jXzWqx9/hyg+VPs4KvqHyRf1MakfnniIdOg7WbwG+R+qdeFjmHzWSqeR8+6nr0G8I5RnX8fK31FFOa5TnnlHy/8xwWODrZk7XPrUp6XOPh2n9dA3Xbwm+Tg+OEI+RsrnCOmwT6P66WsS7wT5AmfEH/s1Wjojlcf3ifLF/VqUeeM4H83h3NrFG6P11Ku/mfsoP3Xqh3eSfJ4SHB9cWCn7Hqt6m/ydWpTj04Itml8vny3qx98E9bEvb0Z3UuLT5Ytzul28ifJVp/6zgmfKV6P64Z2hPOt+TrqTi3LcrDzzztbcc3QPl2buueojvjV11j9FOufpnjG/tZ94itZ/vvLo3qb1XqA5rcrj+0LNvSg4Nfhw5o4Xn/ojqbPv0zRnOt9f5VvEn6GY85mpObOCFweXy99M1R+qlP3O1pxLgnOUbxF/jmL8Xqo5c4OXBZ+J/jjxqT+fOud2uebMC85Xvln8+Yo53ys0Z4H0n47+VPEXau4CrZv6lbqHazJvUfH/+IbW2ya8SveV+e39YJvWe7VwsfRfjz7rv0bYrj7Wf12Q51DeO6uC16Z+Q7Amef6PQN/1qd9YlPsGpl4r3k3BJeLXhcfz2y3JD1E/fTyv3pl4eGL+P8Dz9tLgXUGej5nXVCnzOoqy/gDp8txzb+LR6qeP57cHEk9IzPsp/u7ge6+YeZNDnxhcwd+3SpmPLs8VDybmvYX3ydnBZak/VpTjualzLryXPK59hD8v/Lbgk9qvQn08fzzLOSTmfY33qftSf6Eox9XapyXhv5j4fvHYF363Vye+WTr08bvzsvaP9+B7gpzrq/Qnf3eQ/YH3mvaB/Irw+d1Zkzz7wPvto0HO/63gE/LDeyK8tVof+afSx9/rdfJXpT6ePzYkXi0/7OMryf8DbeJGigAA</Q>
</FACE>
<ELEMENT>
<A COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxd1edfj1EcxvGMZO89M1JRVpQtMysS2RlZGZGdRNmbUPbIXmUnUvaO0F/kyed64Po9eb9e97l+55z73Od8T0DA/79qWB1r2POaGIi1LC+DsDbWsf+p37rWXg/r23gNsCE2wsbWbxNsavlmNt/m9rwFtrT5t8LW1t4G9X5tbdx22B71fh2sv46W13p0wmDsjF1Q69QVu2GI5bWO3TEUwzActb49sKflI1DrGYm9sDf2QX2fvtZfP8vr+0VhfxyA0ajvGmPtA3EQav0H4xAcisNQ3324jTPC8tonsTgSR+Fo1P4Zg2OtfRxq/8TheJyAE1H7bhJOtrzmoX0Uj1NwKiag9us0m5/y6l/7OBGn4wxMQu3XmTgLZ1te+38OzsV5OB91LpJxgeUXos7LIsstxhTU+VmCS3GZ5YNxOa7AVFyJOk+rcDWusbzOZxquxXWYjjq363GD5TeizvUm3IxbcCvq3GdYf8pvQ9WBTNyOWbgDde53Wns25qDqyC7cjXtwL6rO7LNx9lte9ecAHsRDeBhVT47gUWs/hqpbx/EE5uJJVD07hactr3mo3uXZuPn2P9W3M9Z+Fs+h6uV5vIAX8RKqjl7GK3jV8qqvBXgNr+MNVL29ibcsfxtVj+9Y7i7eQ9Xj+/b8ARai6mwRPsRH+BhV559Y+1N8hqr/z7EYX2AJ6n54aeO8srzujVJ8jWVYjrpX3uBba3+Hukfe4wf8iJ9Q99Jn/GJ5zUP31Vcb9xt+R91jP6w/tVdgLP7EX1iJv1H3zR/8i1WW/wfhWnRd</A>
<P COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxdlUlsjVEUx++LRCQkbCwkIiIkJCIiFkREYiFhQyJCQiIRYip9aKsofU8HqsNr6Tyjg+o8oRSlRWmrWlPRkthY2lhYmBb9/SX3vM0v/3Pu/5zz3ffd+wXd5O9AYJIH4SE4hfxh9DF0FHo6+ojxH4XHyY9Bwv/ryzeN+AkYHfD7TiU+w/n1Y9BBzae+cCb5uTBWfcjPQccY/zzicWaeWc6vL99s4ieh9icWxsEFWoeOR2tj4uEp4z+tOMvPoBeiE4z/rHzkJ/Q8pr5881UXnjN9Ne8i59dPQGs/E2EILia/TD4YJn8eJhn/cs0Bk4kvRacY/wriiWb+kKkv3xLWhaD2MxVegGvJX0SH0WnoVehLxp+u+ch/dX5drV9JfA1MghmmjvqvI78aJovkM2EW3Eh+C0yBEfIb0NnGv5l4qplHdbV+PflNej6YQ/4yvAK3kc/Vc6F/wzzi+cZfANNYp/tqO7ow4PuLtM/kv8Gtzp9HfeRPJ18c8Ofc4fy6mieDeAm6FJbBneT3wExYTr4CVhr/PtZlQd1vu9FXjX8v8YiZf5fz51Ef+bPJ/4XXiF+HVbAa5rCuRvczujbg+2/o/yOfZurV6XtB/qbeE/R358+h+vud789F15u+mld1o1iXBxuIN8Im2Kz7jnX5sIW4vk+txq/vRAGMmHptMJq87vFCM7/mUP2g8/1F6HZ0B+yEug9uoYvROo+6H28b/x1YQv4H1PdA95j6yF9KvEv3Hzrk/Lqap4z4XfQ92G3eR+1LOdT50vm5b/za9wozj+4LvbfqI38lce2n+j1AP4Q9OjfkH6Efw16zH306D+g/zq/3xPif6tyx7qeZQ/9jr/FXEX+m+8D586qu5qkmr/2vQfejn+scOT//gvgAHDTP1wBr4ZCp99L4653fR/P3m30YNP464tr/NvQw+hUc0fnXc5j8qN5j8q/NXL9M3SZ0p/P9eu436Hbn91fdLuKNUPvZg36Lfqd9cH7fFpN/r/eO/ABsNvOobjfxPuf7W9D6Ho3BD/AjHGJdK9T/+wmOG/8w6/T/6L6dgJ+Nf5R12r+w6f/F+EdY1wEDZu5x00f+f9N28hAA</P>
<R COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxdlEdOQ0EQBT8552xyjiYHk3M2JmMwycbGZNiw4CCIKyBxESTEgiOxcL3FbzalUvdjPNMz3+8k/pKTEkyBqbCWehq+hafjGTDT5LNggP5sPAfmQo/jXm8bz8PzYYHJa70d+gvxIlgMB6iX4Lt4KV4Gy02+Au7Rr/1Xwiroddzr7ePavwdWm7zWO6C/RucN68zvrccP8Qa8ETaZfDM8MvkWqPPQPFvxoOPOt5nzUL4dHtOveXbAThil3oWf4JpnN+wxeS8M0d+L98F+GHbc653iA/ggHDJ5rXdGv+Y5DEfgH/VR/BzXPMegz+TH4QX92v8EnIS/jnu9S1z7n4LTJu8z+5/BZ6Hm+UZ9Do/g8/iCmafyi/DK5JegzuOV+rKZt/Ir5jyUX4Ux+tfwdbgBP6hr3tf4Ju7XPTZ5zTtOf0DfF3034LtZ/wbf1fvXuzZ5rX9L/4Hep94d/KKued/hQb0fvQuT17zv6Q/pfuu7AT+p67we8DPdV71rk9d5PdJ/ofsHNc8f6mH8CY/ofph5Kh+Fz/THND/dW/hNXef1gsc1D/P/rs15/QM7bzcM</R>
<H COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxdz8diAQAQRVF+TRefr0ZE7wRREp2FYzOzOZu3uJNKvK7MCqussc4G0/wMuya/2OI3M2yHXYdd9thnlgMOOeI4dE+Y4zTsZpyH7gXzXIbdD1ehe80CN/zllrvQvWeRh7D743/oPvKDp7A78xK6ryzx/e+Ndz6YSIJPE3E3WQAA</H>
</ELEMENT>
<COMPOSITE>
<C ID="0"> A[0-65] </C>
<C ID="1"> F[211,217,222,227,232,236,240,245,249] </C>
<C ID="2"> F[4,0,17,13,86,82,93,89,126,122,139,135,212,228,241,266,269,302,305,334,337] </C>
<C ID="3"> F[133,129,146,142,157,153,164,160,177,173,190,186,250,246,242,336,339,346,348,356,358] </C>
<C ID="4"> F[184,180,197,193,106,102,113,109,55,51,68,64,251,238,224,350,353,318,321,284,288] </C>
<C ID="5"> F[62,58,75,71,35,31,42,38,10,7,23,20,225,220,215,286,290,272,276,258,262] </C>
<C ID="6"> F[263,270,277,282,289,294,299,306,311,316,322,326,332,338,344,349,354,359] </C>
<C ID="7"> H[66-75] </C>
<C ID="8"> R[76-111] </C>
<C ID="9"> P[112-180] </C>
</COMPOSITE>
<DOMAIN> C[0,7,8,9] </DOMAIN>
</GEOMETRY>
</NEKTAR>
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>Helmholtz 3D CG for Hexahedron, heterogeneous expansion</description>
<executable>Helmholtz3D</executable>
<parameters>-I GlobalSysSoln=IterativeStaticCond -I Preconditioner=LowEnergyBlock Helmholtz3D_Hex_Heterogeneous.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Hex_Heterogeneous.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">5.23385e-05</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">0.00014837</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Helmholtz 3D CG for Prism with Variable P</description>
<executable>Helmholtz3D</executable>
<parameters>Helmholtz3D_Prism_VarP.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Prism_VarP.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-9">0.000213422</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-9">0.00460463</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Helmholtz 3D CG for Prism</description>
<executable>Helmholtz3D</executable>
<parameters>-I GlobalSysSoln=IterativeStaticCond -I Preconditioner=LowEnergyBlock Helmholtz3D_Prism.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Prism.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-9">0.000742677</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-9">0.0102924</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>Helmholtz 3D CG for Pyramid with Variable P</description>
<executable>Helmholtz3D</executable>
<parameters>Helmholtz3D_Pyr_VarP.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Pyr_VarP.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">7.67439e-05</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">0.000518239</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>Helmholtz 3D CG for Pyramid with LE preconditioner</description>
<executable>Helmholtz3D</executable>
<parameters>-I GlobalSysSoln=IterativeStaticCond -I Preconditioner=LowEnergyBlock Helmholtz3D_Pyr_VarP.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Pyr_VarP.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-12">7.67439e-05</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-12">0.000518239</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Helmholtz 3D CG for Tet with variable P</description>
<executable>Helmholtz3D</executable>
<parameters>Helmholtz3D_Tet_VarP.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Tet_VarP.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-7">0.00426783</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-6">0.0313733</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8"?>
<test>
<description>Helmholtz 3D CG for Tet with variable P</description>
<executable>Helmholtz3D</executable>
<parameters>-I GlobalSysSoln=IterativeStaticCond -I Preconditioner=LowEnergyBlock Helmholtz3D_Tet_VarP.xml</parameters>
<files>
<file description="Session File">Helmholtz3D_Tet_VarP.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value tolerance="1e-7">0.00426783</value>
</metric>
<metric type="Linf" id="2">
<value tolerance="1e-6">0.0313733</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8" ?>
<NEKTAR>
<GEOMETRY DIM="3" SPACE="3">
<VERTEX>
<V ID="0">0.00000000e+00 0.00000000e+00 5.00000000e-01</V>
<V ID="1">5.00000000e-01 0.00000000e+00 5.00000000e-01</V>
<V ID="2">5.00000000e-01 0.00000000e+00 0.00000000e+00</V>
<V ID="3">0.00000000e+00 0.00000000e+00 0.00000000e+00</V>
<V ID="4">5.00000000e-01 5.00000000e-01 5.00000000e-01</V>
<V ID="5">5.00000000e-01 5.00000000e-01 0.00000000e+00</V>
<V ID="6">0.00000000e+00 0.00000000e+00 1.00000000e+00</V>
<V ID="7">5.00000000e-01 0.00000000e+00 1.00000000e+00</V>
<V ID="8">5.00000000e-01 5.00000000e-01 1.00000000e+00</V>
<V ID="9">0.00000000e+00 5.00000000e-01 5.00000000e-01</V>
<V ID="10">0.00000000e+00 5.00000000e-01 0.00000000e+00</V>
<V ID="11">0.00000000e+00 5.00000000e-01 1.00000000e+00</V>
<V ID="12">5.00000000e-01 1.00000000e+00 5.00000000e-01</V>
<V ID="13">5.00000000e-01 1.00000000e+00 0.00000000e+00</V>
<V ID="14">5.00000000e-01 1.00000000e+00 1.00000000e+00</V>
<V ID="15">0.00000000e+00 1.00000000e+00 5.00000000e-01</V>
<V ID="16">0.00000000e+00 1.00000000e+00 0.00000000e+00</V>
<V ID="17">0.00000000e+00 1.00000000e+00 1.00000000e+00</V>
<V ID="18">1.00000000e+00 0.00000000e+00 5.00000000e-01</V>
<V ID="19">1.00000000e+00 0.00000000e+00 0.00000000e+00</V>
<V ID="20">1.00000000e+00 5.00000000e-01 5.00000000e-01</V>
<V ID="21">1.00000000e+00 5.00000000e-01 0.00000000e+00</V>
<V ID="22">1.00000000e+00 0.00000000e+00 1.00000000e+00</V>
<V ID="23">1.00000000e+00 5.00000000e-01 1.00000000e+00</V>
<V ID="24">1.00000000e+00 1.00000000e+00 5.00000000e-01</V>
<V ID="25">1.00000000e+00 1.00000000e+00 0.00000000e+00</V>
<V ID="26">1.00000000e+00 1.00000000e+00 1.00000000e+00</V>
</VERTEX>
<EDGE>
<E ID="0"> 0 1 </E>
<E ID="1"> 0 3 </E>
<E ID="2"> 0 4 </E>
<E ID="3"> 1 2 </E>
<E ID="4"> 1 4 </E>
<E ID="5"> 2 5 </E>
<E ID="6"> 3 2 </E>
<E ID="7"> 3 5 </E>
<E ID="8"> 4 5 </E>
<E ID="9"> 6 7 </E>
<E ID="10"> 6 0 </E>
<E ID="11"> 6 8 </E>
<E ID="12"> 7 1 </E>
<E ID="13"> 7 8 </E>
<E ID="14"> 8 4 </E>
<E ID="15"> 0 9 </E>
<E ID="16"> 4 9 </E>
<E ID="17"> 5 10 </E>
<E ID="18"> 3 10 </E>
<E ID="19"> 9 10 </E>
<E ID="20"> 6 11 </E>
<E ID="21"> 8 11 </E>
<E ID="22"> 11 9 </E>
<E ID="23"> 9 12 </E>
<E ID="24"> 4 12 </E>
<E ID="25"> 5 13 </E>
<E ID="26"> 10 13 </E>
<E ID="27"> 12 13 </E>
<E ID="28"> 11 14 </E>
<E ID="29"> 8 14 </E>
<E ID="30"> 14 12 </E>
<E ID="31"> 9 15 </E>
<E ID="32"> 12 15 </E>
<E ID="33"> 13 16 </E>
<E ID="34"> 10 16 </E>
<E ID="35"> 15 16 </E>
<E ID="36"> 11 17 </E>
<E ID="37"> 14 17 </E>
<E ID="38"> 17 15 </E>
<E ID="39"> 1 18 </E>
<E ID="40"> 1 20 </E>
<E ID="41"> 18 19 </E>
<E ID="42"> 18 20 </E>
<E ID="43"> 19 21 </E>
<E ID="44"> 2 19 </E>
<E ID="45"> 2 21 </E>
<E ID="46"> 20 21 </E>
<E ID="47"> 7 22 </E>
<E ID="48"> 7 23 </E>
<E ID="49"> 22 18 </E>
<E ID="50"> 22 23 </E>
<E ID="51"> 23 20 </E>
<E ID="52"> 20 4 </E>
<E ID="53"> 21 5 </E>
<E ID="54"> 23 8 </E>
<E ID="55"> 4 24 </E>
<E ID="56"> 20 24 </E>
<E ID="57"> 21 25 </E>
<E ID="58"> 5 25 </E>
<E ID="59"> 24 25 </E>
<E ID="60"> 8 26 </E>
<E ID="61"> 23 26 </E>
<E ID="62"> 26 24 </E>
<E ID="63"> 24 12 </E>
<E ID="64"> 25 13 </E>
<E ID="65"> 26 14 </E>
</EDGE>
<FACE>
<Q ID="0"> 0 3 6 1</Q>
<T ID="1"> 0 4 2</T>
<Q ID="2"> 3 5 8 4</Q>
<T ID="3"> 6 5 7</T>
<Q ID="4"> 1 7 8 2</Q>
<Q ID="5"> 9 12 0 10</Q>
<T ID="6"> 9 13 11</T>
<Q ID="7"> 12 4 14 13</Q>
<Q ID="8"> 10 2 14 11</Q>
<Q ID="9"> 15 1 18 19</Q>
<T ID="10"> 15 2 16</T>
<T ID="11"> 18 7 17</T>
<Q ID="12"> 19 17 8 16</Q>
<Q ID="13"> 20 10 15 22</Q>
<T ID="14"> 20 11 21</T>
<Q ID="15"> 22 16 14 21</Q>
<Q ID="16"> 23 19 26 27</Q>
<T ID="17"> 23 16 24</T>
<T ID="18"> 26 17 25</T>
<Q ID="19"> 27 25 8 24</Q>
<Q ID="20"> 28 22 23 30</Q>
<T ID="21"> 28 21 29</T>
<Q ID="22"> 30 24 14 29</Q>
<Q ID="23"> 32 35 33 27</Q>
<T ID="24"> 32 31 23</T>
<Q ID="25"> 35 34 19 31</Q>
<T ID="26"> 33 34 26</T>
<Q ID="27"> 37 38 32 30</Q>
<T ID="28"> 37 36 28</T>
<Q ID="29"> 38 31 22 36</Q>
<Q ID="30"> 39 41 44 3</Q>
<T ID="31"> 39 42 40</T>
<Q ID="32"> 41 43 46 42</Q>
<T ID="33"> 44 43 45</T>
<Q ID="34"> 3 45 46 40</Q>
<Q ID="35"> 47 49 39 12</Q>
<T ID="36"> 47 50 48</T>
<Q ID="37"> 49 42 51 50</Q>
<Q ID="38"> 12 40 51 48</Q>
<T ID="39"> 40 52 4</T>
<Q ID="40"> 46 53 8 52</Q>
<T ID="41"> 45 53 5</T>
<T ID="42"> 48 54 13</T>
<Q ID="43"> 51 52 14 54</Q>
<Q ID="44"> 56 59 57 46</Q>
<T ID="45"> 56 55 52</T>
<Q ID="46"> 59 58 8 55</Q>
<T ID="47"> 57 58 53</T>
<Q ID="48"> 61 62 56 51</Q>
<T ID="49"> 61 60 54</T>
<Q ID="50"> 62 55 14 60</Q>
<Q ID="51"> 63 27 64 59</Q>
<T ID="52"> 63 24 55</T>
<T ID="53"> 64 25 58</T>
<Q ID="54"> 65 30 63 62</Q>
<T ID="55"> 65 29 60</T>
</FACE>
<ELEMENT>
<R ID="0"> 0 1 2 3 4 </R>
<R ID="1"> 5 6 7 1 8 </R>
<R ID="2"> 9 10 4 11 12 </R>
<R ID="3"> 13 14 8 10 15 </R>
<R ID="4"> 16 17 12 18 19 </R>
<R ID="5"> 20 21 15 17 22 </R>
<R ID="6"> 23 24 25 26 16 </R>
<R ID="7"> 27 28 29 24 20 </R>
<R ID="8"> 30 31 32 33 34 </R>
<R ID="9"> 35 36 37 31 38 </R>
<R ID="10"> 34 39 40 41 2 </R>
<R ID="11"> 38 42 43 39 7 </R>
<R ID="12"> 44 45 46 47 40 </R>
<R ID="13"> 48 49 50 45 43 </R>
<R ID="14"> 51 52 19 53 46 </R>
<R ID="15"> 54 55 22 52 50 </R>
</ELEMENT>
<COMPOSITE>
<C ID="10"> R[0-3] </C>
<C ID="11"> R[4-7] </C>
<C ID="12"> R[8-11] </C>
<C ID="13"> R[12-15] </C>
<C ID="1"> F[0,3,5-6,9,11,13-14,18,21,23,25-30,32-33,35-37,41-42,44,47-49,51,53-55] </C>
</COMPOSITE>
<DOMAIN> C[10-13] </DOMAIN>
</GEOMETRY>
<EXPANSIONS>
<E COMPOSITE="C[10]" NUMMODES="4" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[11]" NUMMODES="6" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[12]" NUMMODES="4" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[13]" NUMMODES="5" TYPE="MODIFIED" FIELDS="u" />
</EXPANSIONS>
<CONDITIONS>
<PARAMETERS>
<P> Lambda = 1 </P>
</PARAMETERS>
<VARIABLES>
<V ID="0"> u </V>
</VARIABLES>
<BOUNDARYREGIONS>
<B ID="0"> C[1] </B>
</BOUNDARYREGIONS>
<BOUNDARYCONDITIONS>
<REGION REF="0">
<D VAR="u" VALUE="sin(PI/2*x)*sin(PI/2*y)*sin(PI/2*z)" />
</REGION>
</BOUNDARYCONDITIONS>
<FUNCTION NAME="Forcing">
<E VAR="u" VALUE="-(Lambda+3*PI*PI/4)*sin(PI/2*x)*sin(PI/2*y)*sin(PI/2*z)" />
</FUNCTION>
<FUNCTION NAME="ExactSolution">
<E VAR="u" VALUE="sin(PI/2*x)*sin(PI/2*y)*sin(PI/2*z)" />
</FUNCTION>
</CONDITIONS>
</NEKTAR>
<?xml version="1.0" encoding="utf-8" ?>
<NEKTAR>
<EXPANSIONS>
<E COMPOSITE="C[10]" NUMMODES="7" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[11]" NUMMODES="5" TYPE="MODIFIED" FIELDS="u" />
<E COMPOSITE="C[12]" NUMMODES="6" TYPE="MODIFIED" FIELDS="u" />
</EXPANSIONS>