Commit 0fef21dc authored by Martin Vymazal's avatar Martin Vymazal Committed by Dave Moxey

Fix in LinSysDirectFull. Added a Helmholtz test with Neumann BC only.

(cherry picked from commit b08f575c)
parent 5cd8e9a5
......@@ -65,7 +65,7 @@ namespace Nektar
const Array<OneD,const NekDouble> &pInput,
Array<OneD, NekDouble> &pOutput,
const AssemblyMapSharedPtr &locToGloMap,
const int pNumDir = 0);
const int pNumDir);
};
}
}
......
......@@ -146,7 +146,7 @@ namespace Nektar
}
else
{
SolveLinearSystem(nDirDofs, pInput, pOutput, pLocToGloMap);
SolveLinearSystem(nGlobDofs, pInput, pOutput, pLocToGloMap, nDirDofs);
}
}
......
......@@ -158,6 +158,7 @@ IF( NEKTAR_SOLVER_ADR )
ADD_NEKTAR_TEST(Helmholtz2D_modal_DG)
ADD_NEKTAR_TEST(Helmholtz2D_modal)
ADD_NEKTAR_TEST(Helmholtz2D_nodal)
ADD_NEKTAR_TEST(Helmholtz2D_DirectFull)
ADD_NEKTAR_TEST(Helmholtz3D_nodal_HexDeformed)
ADD_NEKTAR_TEST(Helmholtz_3DHomo1D_MVM)
ADD_NEKTAR_TEST(Helmholtz_3DHomo2D_MVM)
......
<?xml version="1.0" encoding="utf-8" ?>
<test>
<description>2D Helmholtz/Steady Diffusion With Direct Full Solve P=7</description>
<executable>ADRSolver</executable>
<parameters>Helmholtz2D_DirectFull.xml</parameters>
<files>
<file description="Session File">Helmholtz2D_DirectFull.xml</file>
</files>
<metrics>
<metric type="L2" id="1">
<value variable="u" tolerance="1e-12">1.58061e-05</value>
</metric>
<metric type="Linf" id="2">
<value variable="u" tolerance="1e-12">1.80329e-05</value>
</metric>
</metrics>
</test>
<?xml version="1.0" encoding="utf-8" ?>
<NEKTAR>
<GEOMETRY DIM="2" SPACE="2">
<VERTEX COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxjYEAGH/aj0gwMjKjy9ujyTNjl7WEizNjNh8sDAOT2C38A</VERTEX>
<EDGE COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxjYEAFjDhoJhw0Mw4aBgADMAAT</EDGE>
<ELEMENT>
<Q COMPRESSED="B64Z-LittleEndian" BITSIZE="64">eJxjYEAFjFCaCUozQ2kAAHgABwAA</Q>
</ELEMENT>
<COMPOSITE>
<C ID="0"> Q[0] </C>
<C ID="1"> E[0] </C>
<C ID="2"> E[1] </C>
<C ID="3"> E[2] </C>
<C ID="4"> E[3] </C>
</COMPOSITE>
<DOMAIN> C[0] </DOMAIN>
</GEOMETRY>
<EXPANSIONS>
<E COMPOSITE="C[0]" NUMMODES="8" TYPE="MODIFIED" FIELDS="u" />
</EXPANSIONS>
<CONDITIONS>
<PARAMETERS>
<P> wavefreq = PI </P>
<P> Lambda = 1.0 </P>
</PARAMETERS>
<SOLVERINFO>
<I PROPERTY="EQTYPE" VALUE="Helmholtz" />
<I PROPERTY="Projection" VALUE="Continuous" />
<I PROPERTY="DiffusionAdvancement" VALUE="Implicit" />
<I PROPERTY="GlobalSysSoln" VALUE="DirectFull" />
<!--
<I PROPERTY="GlobalSysSoln" VALUE="DirectStaticCond" />
-->
</SOLVERINFO>
<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>
</BOUNDARYREGIONS>
<BOUNDARYCONDITIONS>
<REGION REF="0">
<N VAR="u" VALUE="-wavefreq * sin(wavefreq*x) * cos(wavefreq*y)" />
</REGION>
<REGION REF="1">
<N VAR="u" VALUE="wavefreq * cos(wavefreq*x) * sin(wavefreq*y)" />
</REGION>
<REGION REF="2">
<N VAR="u" VALUE="wavefreq * sin(wavefreq*x) * cos(wavefreq * y)" />
</REGION>
<REGION REF="3">
<N VAR="u" VALUE="-wavefreq * cos(wavefreq*x) * sin(wavefreq*y)" />
</REGION>
</BOUNDARYCONDITIONS>
<FUNCTION NAME="ExactSolution">
<E VAR="u"
VALUE="sin(wavefreq*x)*sin(wavefreq*y)" />
</FUNCTION>
<FUNCTION NAME="Forcing">
<E VAR="u" VALUE="- (2 * wavefreq * wavefreq + Lambda) * sin(wavefreq*x)*sin(wavefreq*y)" />
</FUNCTION>
</CONDITIONS>
</NEKTAR>
Markdown is supported
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