Commit 98c1ea5a authored by Spencer Sherwin's avatar Spencer Sherwin
Browse files

Merge branch 'master' into fix/GetFacePhys

parents 4712a95c a342adfc
......@@ -2,7 +2,7 @@ FIND_LIBRARY(WIN32_BLAS NAMES libblas PATHS ${TPSRC})
FIND_LIBRARY(WIN32_LAPACK NAMES liblapack PATHS ${TPSRC})
IF (NOT WIN32_BLAS OR NOT WIN32_LAPACK)
IF (CMAKE_CL64)
IF (CMAKE_CL_64)
SET(WIN_ZIP_FILE "win64-blas-lapack.zip")
SET(WIN_ZIP_MD5_VALUE "b5ad4f7335ca964bbdafab129e44a046")
SET(WIN_ZIP_SHA1_VALUE "adb331fa195db264e95e46b902887f12971dbf48")
......@@ -58,4 +58,4 @@ GET_FILENAME_COMPONENT(LAPACK_DIR ${WIN32_LAPACK} PATH CACHE)
LINK_DIRECTORIES(${LAPACK_DIR})
MESSAGE(STATUS "Found Win32 BLAS: ${WIN32_BLAS}")
MESSAGE(STATUS "Found Win32 Lapack: ${WIN32_LAPACK}")
\ No newline at end of file
MESSAGE(STATUS "Found Win32 Lapack: ${WIN32_LAPACK}")
......@@ -52,6 +52,7 @@ IF( NEKTAR_USE_MPI )
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND
${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_BUILD_TYPE:STRING=Debug
......
......@@ -15,6 +15,7 @@ IF (THIRDPARTY_BUILD_METIS)
TMP_DIR ${TPBUILD}/modmetis-5.1.0-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
......
......@@ -19,6 +19,7 @@ IF (THIRDPARTY_BUILD_TINYXML)
TMP_DIR ${TPBUILD}/tinyxml-2.4.3-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
......
......@@ -21,7 +21,12 @@ IF( NEKTAR_USE_VTK )
BINARY_DIR ${TPBUILD}/vtk-5.10.1
TMP_DIR ${TPBUILD}/vtk-5.10.1-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX:PATH=${TPDIST} -DBUILD_SHARED_LIBS:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=Release ${TPSRC}/vtk-5.10.1
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
-DBUILD_SHARED_LIBS:BOOL=ON
-DCMAKE_BUILD_TYPE:STRING=Release
${TPSRC}/vtk-5.10.1
)
SET(VTK_DIR ${TPDIST}/lib/vtk-5.10)
SET(VTK_FOUND 1)
......
......@@ -40,6 +40,7 @@ IF (THIRDPARTY_BUILD_ZLIB)
TMP_DIR ${TPBUILD}/zlib-1.2.7-tmp
INSTALL_DIR ${TPDIST}
CONFIGURE_COMMAND ${CMAKE_COMMAND}
-G ${CMAKE_GENERATOR}
-DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
-DCMAKE_INSTALL_PREFIX:PATH=${TPDIST}
-DCMAKE_C_FLAGS:STRING=-fPIC
......@@ -47,7 +48,7 @@ IF (THIRDPARTY_BUILD_ZLIB)
)
IF (WIN32)
SET(ZLIB_LIBRARY zlib)
SET(ZLIB_LIBRARY_DEBUG zlib)
SET(ZLIB_LIBRARY_DEBUG zlibd)
SET(ZLIB_LIBRARY_RELEASE zlib)
ELSE (WIN32)
SET(ZLIB_LIBRARY z)
......
......@@ -29,7 +29,7 @@ There are two ways to obtain the source code for \nekpp:
\item Using authenticated access. This will allow you to directly contribute
back into the code.
\begin{lstlisting}[style=BashInputStyle]
git clone git@gitlab.nektar.info:nektar.git nektar++
git clone git@gitlab.nektar.info:nektar/nektar.git nektar++
\end{lstlisting}
\begin{tipbox}
You can easily switch to using the authenticated access from anonymous
......
......@@ -158,13 +158,10 @@ every 10 timesteps, we use the syntax:
\subsection {Threshold value}
The threshold value filter writes a field output containing a variable $m$,
defined by the time at which the solution first exceeds a specified threshold
value.
\begin{notebox}
This filter assumes that the solution field to be examined is the first
specified in the session file.
\end{notebox}
defined by the time at which the selected variable first exceeds a specified
threshold value. The default name of the output file is the name of the session
with the suffix \inlsh{\_max.fld}. Thresholding is applied based on the first
variable listed in the session by default.
The following parameters are supported:
......@@ -174,8 +171,10 @@ The following parameters are supported:
\textbf{Option name} & \textbf{Required} & \textbf{Default} &
\textbf{Description} \\
\midrule
\inltt{OutputFile} & \cmark & - &
Prefix of the output filename to which the checkpoints are written.\\
\inltt{OutputFile} & & \emph{session}\_max.fld &
Output filename to which the threshold times are written.\\
\inltt{ThresholdVar} & & \emph{first variable name} &
Specifies the variable on which the threshold will be applied.\\
\inltt{ThresholdValue} & \cmark & - &
Specifies the threshold value.\\
\inltt{InitialValue} & \cmark & - &
......@@ -188,13 +187,14 @@ An example is given below:
\begin{lstlisting}[style=XMLStyle]
<FILTER TYPE="ThresholdMax">
<PARAM NAME="OutputFile"> threshold_max.fld </PARAM>
<PARAM NAME="ThresholdVar"> u </PARAM>
<PARAM NAME="ThresholdValue"> 0.1 </PARAM>
<PARAM NAME="InitialValue"> 0.4 </PARAM>
<PARAM NAME="OutputFile"> ThresholdFile </PARAM>
</FILTER>
\end{lstlisting}
which produces a field file \inltt{ThresholdFile.fld}.
which produces a field file \inltt{threshold\_max.fld}.
\subsection{Modal energy}
......
......@@ -838,6 +838,7 @@ namespace Vmath
}
template LIB_UTILITIES_EXPORT int Imin( int n, const Nektar::NekDouble *x, const int incx);
template LIB_UTILITIES_EXPORT int Imin( int n, const int *x, const int incx);
/// \brief Return the minimum element in x - called vmin to avoid
/// conflict with min
......
......@@ -384,7 +384,7 @@ TARGET_LINK_LIBRARIES(LibUtilities LINK_PUBLIC
${Boost_PROGRAM_OPTIONS_LIBRARY}
${Boost_FILESYSTEM_LIBRARY}
${Boost_SYSTEM_LIBRARY}
${ZLIB_LIBRARY}
debug ${ZLIB_LIBRARY_DEBUG} optimized ${ZLIB_LIBRARY_RELEASE}
)
# TinyXML
......
......@@ -99,6 +99,44 @@ namespace Nektar
return v_BuildVertexMatrix(r_bnd);
}
void Expansion::AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fx,
const Array<OneD, const NekDouble> &Fy,
Array<OneD, NekDouble> &outarray)
{
v_AddEdgeNormBoundaryInt(edge, EdgeExp, Fx, Fy, outarray);
}
void Expansion::AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray)
{
v_AddEdgeNormBoundaryInt(edge, EdgeExp, Fn, outarray);
}
void Expansion::AddFaceNormBoundaryInt(
const int face,
const boost::shared_ptr<Expansion> &FaceExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray)
{
v_AddFaceNormBoundaryInt(face, FaceExp, Fn, outarray);
}
void Expansion::DGDeriv(
const int dir,
const Array<OneD, const NekDouble>& inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &coeffs,
Array<OneD, NekDouble> &outarray)
{
v_DGDeriv(dir, inarray, EdgeExp, coeffs, outarray);
}
DNekScalMatSharedPtr Expansion::GetLocMatrix(const StdRegions::MatrixType mtype,
const StdRegions::ConstFactorMap &factors,
const StdRegions::VarCoeffMap &varcoeffs)
......@@ -256,6 +294,44 @@ namespace Nektar
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
return NullDNekMatSharedPtr;
}
void Expansion::v_AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fx,
const Array<OneD, const NekDouble> &Fy,
Array<OneD, NekDouble> &outarray)
{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
void Expansion::v_AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray)
{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
void Expansion::v_AddFaceNormBoundaryInt(
const int face,
const boost::shared_ptr<Expansion> &FaceExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray)
{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
void Expansion::v_DGDeriv(
const int dir,
const Array<OneD, const NekDouble>& inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &coeffs,
Array<OneD, NekDouble> &outarray)
{
NEKERROR(ErrorUtil::efatal, "This function is only valid for LocalRegions");
}
} //end of namespace
} //end of namespace
......@@ -96,6 +96,29 @@ namespace Nektar
LOCAL_REGIONS_EXPORT DNekMatSharedPtr BuildVertexMatrix(
const DNekScalMatSharedPtr &r_bnd);
LOCAL_REGIONS_EXPORT void AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fx,
const Array<OneD, const NekDouble> &Fy,
Array<OneD, NekDouble> &outarray);
LOCAL_REGIONS_EXPORT void AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray);
LOCAL_REGIONS_EXPORT void AddFaceNormBoundaryInt(
const int face,
const boost::shared_ptr<Expansion> &FaceExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray);
LOCAL_REGIONS_EXPORT void DGDeriv(
const int dir,
const Array<OneD, const NekDouble>& inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &coeffs,
Array<OneD, NekDouble> &outarray);
protected:
SpatialDomains::GeometrySharedPtr m_geom;
SpatialDomains::GeomFactorsSharedPtr m_metricinfo;
......@@ -123,6 +146,29 @@ namespace Nektar
virtual DNekMatSharedPtr v_BuildVertexMatrix(
const DNekScalMatSharedPtr &r_bnd);
virtual void v_AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fx,
const Array<OneD, const NekDouble> &Fy,
Array<OneD, NekDouble> &outarray);
virtual void v_AddEdgeNormBoundaryInt(
const int edge,
const boost::shared_ptr<Expansion> &EdgeExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray);
virtual void v_AddFaceNormBoundaryInt(
const int face,
const boost::shared_ptr<Expansion> &FaceExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray);
virtual void v_DGDeriv(
const int dir,
const Array<OneD, const NekDouble>& inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &coeffs,
Array<OneD, NekDouble> &outarray);
private:
};
......
......@@ -52,10 +52,8 @@ namespace Nektar
}
void Expansion2D::v_AddEdgeNormBoundaryInt(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
const int edge,
const ExpansionSharedPtr &EdgeExp,
const Array<OneD, const NekDouble> &Fx,
const Array<OneD, const NekDouble> &Fy,
Array<OneD, NekDouble> &outarray)
......@@ -126,9 +124,9 @@ namespace Nektar
void Expansion2D::v_AddEdgeNormBoundaryInt(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
const ExpansionSharedPtr &EdgeExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray)
Array<OneD, NekDouble> &outarray)
{
int i;
......@@ -304,7 +302,7 @@ namespace Nektar
}
void Expansion2D::SetTraceToGeomOrientation(
Array<OneD,StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &inout)
{
int i, cnt = 0;
......@@ -325,11 +323,11 @@ namespace Nektar
* matrix in Eqn. 32.
*/
void Expansion2D::AddNormTraceInt(
const int dir,
Array<OneD, const NekDouble> &inarray,
Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs)
const int dir,
Array<OneD, const NekDouble> &inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs)
{
int i,e,cnt;
int order_e,nquad_e;
......@@ -380,10 +378,10 @@ namespace Nektar
}
void Expansion2D::AddNormTraceInt(
const int dir,
Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &outarray)
const int dir,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &outarray)
{
int e;
int nquad_e;
......@@ -416,7 +414,7 @@ namespace Nektar
*/
void Expansion2D::AddEdgeBoundaryInt(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
ExpansionSharedPtr &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs)
......@@ -457,11 +455,11 @@ namespace Nektar
// elemental counter clockwise format AddHDGHelmholtzTraceTerms with
// directions
void Expansion2D::AddHDGHelmholtzTraceTerms(
const NekDouble tau,
const Array<OneD, const NekDouble> &inarray,
Array<OneD,StdRegions::StdExpansionSharedPtr> &EdgeExp,
const StdRegions::VarCoeffMap &dirForcing,
Array<OneD,NekDouble> &outarray)
const NekDouble tau,
const Array<OneD, const NekDouble> &inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
const StdRegions::VarCoeffMap &dirForcing,
Array<OneD,NekDouble> &outarray)
{
ASSERTL0(&inarray[0] != &outarray[0],
"Input and output arrays use the same memory");
......@@ -489,11 +487,11 @@ namespace Nektar
// evaluate additional terms in HDG edges. Not that this assumes that
// edges are unpacked into local cartesian order.
void Expansion2D::AddHDGHelmholtzEdgeTerms(
const NekDouble tau,
const int edge,
Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
const StdRegions::VarCoeffMap &varcoeffs,
const NekDouble tau,
const int edge,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
const StdRegions::VarCoeffMap &varcoeffs,
Array<OneD, NekDouble> &outarray)
{
int i, j, n;
......@@ -605,7 +603,7 @@ namespace Nektar
*/
void Expansion2D::GetPhysEdgeVarCoeffsFromElement(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
ExpansionSharedPtr &EdgeExp,
const Array<OneD, const NekDouble> &varcoeff,
Array<OneD,NekDouble> &outarray)
{
......@@ -661,7 +659,7 @@ namespace Nektar
Array<OneD,int> sign;
StdRegions::Orientation edgedir = StdRegions::eForwards;
ExpansionSharedPtr EdgeExp;
StdRegions::StdExpansionSharedPtr EdgeExp2;
ExpansionSharedPtr EdgeExp2;
int order_e, coordim = GetCoordim();
DNekScalMat &invMass = *GetLocMatrix(StdRegions::eInvMass);
......@@ -747,7 +745,7 @@ namespace Nektar
Array<OneD,NekDouble> f(ncoeffs);
DNekVec F(ncoeffs,f,eWrapper);
Array<OneD,StdRegions::StdExpansionSharedPtr> EdgeExp(nedges);
Array<OneD, ExpansionSharedPtr> EdgeExp(nedges);
// declare matrix space
returnval = MemoryManager<DNekMat>::AllocateSharedPtr(ncoeffs,nbndry);
DNekMat &Umat = *returnval;
......@@ -807,7 +805,7 @@ namespace Nektar
Array<OneD,NekDouble> lambda(nbndry);
DNekVec Lambda(nbndry,lambda,eWrapper);
Array<OneD,StdRegions::StdExpansionSharedPtr> EdgeExp(nedges);
Array<OneD, ExpansionSharedPtr> EdgeExp(nedges);
Array<OneD,NekDouble> ulam(ncoeffs);
DNekVec Ulam(ncoeffs,ulam,eWrapper);
......@@ -895,7 +893,7 @@ namespace Nektar
Array<OneD,NekDouble> work, varcoeff_work;
Array<OneD,const Array<OneD, NekDouble> > normals;
Array<OneD,StdRegions::StdExpansionSharedPtr> EdgeExp(nedges);
Array<OneD, ExpansionSharedPtr> EdgeExp(nedges);
Array<OneD, NekDouble> lam(nbndry);
Array<OneD,unsigned int> emap;
......@@ -1095,11 +1093,11 @@ namespace Nektar
//given the input coefficicents incoeffs and the imposed
//boundary values in EdgeExp (which will have its phys space updated);
void Expansion2D::v_DGDeriv(
int dir,
const Array<OneD, const NekDouble> &incoeffs,
Array<OneD,StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &out_d)
int dir,
const Array<OneD, const NekDouble> &incoeffs,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &out_d)
{
StdRegions::MatrixType DerivType[3] = {StdRegions::eWeakDeriv0,
StdRegions::eWeakDeriv1,
......
......@@ -61,47 +61,48 @@ namespace Nektar
LOCAL_REGIONS_EXPORT Expansion2D(SpatialDomains::Geometry2DSharedPtr pGeom);
LOCAL_REGIONS_EXPORT virtual ~Expansion2D() {}
LOCAL_REGIONS_EXPORT void SetTraceToGeomOrientation(Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &inout);
LOCAL_REGIONS_EXPORT void SetTraceToGeomOrientation(
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &inout);
ExpansionSharedPtr GetEdgeExp(int edge, bool SetUpNormal=true);
void SetEdgeExp(const int edge, ExpansionSharedPtr &e);
inline void AddNormTraceInt(
const int dir,
Array<OneD,StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD,NekDouble> &outarray);
const int dir,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &outarray);
inline void AddNormTraceInt(
const int dir,
Array<OneD, const NekDouble> &inarray,
Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs);
const int dir,
Array<OneD, const NekDouble> &inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs);
inline void AddEdgeBoundaryInt(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs = StdRegions::NullVarCoeffMap);
const int edge,
ExpansionSharedPtr &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
Array<OneD, NekDouble> &outarray,
const StdRegions::VarCoeffMap &varcoeffs = StdRegions::NullVarCoeffMap);
inline void AddHDGHelmholtzEdgeTerms(
const NekDouble tau,
const int edge,
Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
const StdRegions::VarCoeffMap &dirForcing,
Array<OneD, NekDouble> &outarray);
const NekDouble tau,
const int edge,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, NekDouble> &edgePhys,
const StdRegions::VarCoeffMap &dirForcing,
Array<OneD, NekDouble> &outarray);
inline void AddHDGHelmholtzTraceTerms(
const NekDouble tau,
const Array<OneD, const NekDouble> &inarray,
Array<OneD, StdRegions::StdExpansionSharedPtr> &EdgeExp,
const StdRegions::VarCoeffMap &dirForcing,
Array<OneD, NekDouble> &outarray);
const NekDouble tau,
const Array<OneD, const NekDouble> &inarray,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
const StdRegions::VarCoeffMap &dirForcing,
Array<OneD, NekDouble> &outarray);
inline Expansion3DSharedPtr GetLeftAdjacentElementExp() const;
......@@ -131,22 +132,22 @@ namespace Nektar
// Hybridized DG routines
virtual void v_DGDeriv(
const int dir,
const Array<OneD, const NekDouble> &incoeffs,
Array<OneD,StdRegions::StdExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &out_d);
const int dir,
const Array<OneD, const NekDouble> &incoeffs,
Array<OneD, ExpansionSharedPtr> &EdgeExp,
Array<OneD, Array<OneD, NekDouble> > &edgeCoeffs,
Array<OneD, NekDouble> &out_d);
virtual void v_AddEdgeNormBoundaryInt(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
const ExpansionSharedPtr &EdgeExp,
const Array<OneD, const NekDouble> &Fx,
const Array<OneD, const NekDouble> &Fy,
Array<OneD, NekDouble> &outarray);
virtual void v_AddEdgeNormBoundaryInt(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
const ExpansionSharedPtr &EdgeExp,
const Array<OneD, const NekDouble> &Fn,
Array<OneD, NekDouble> &outarray);
......@@ -159,7 +160,7 @@ namespace Nektar
void GetPhysEdgeVarCoeffsFromElement(
const int edge,
StdRegions::StdExpansionSharedPtr &EdgeExp,
ExpansionSharedPtr &EdgeExp,
const Array<OneD, const NekDouble> &varcoeff,
Array<OneD,NekDouble> &outarray);
......
......@@ -74,7 +74,7 @@ namespace Nektar
StdRegions::IndexMapKey ikey(
StdRegions::eFaceToElement, DetShapeType(),
GetBasisNumModes(0), GetBasisNumModes(1), GetBasisNumModes(2),
face, GetFaceOrient(face));
face, GetForient(face));
StdRegions::IndexMapValuesSharedPtr map =
StdExpansion::GetIndexMap(ikey);
......@@ -173,11 +173,11 @@ namespace Nektar
* matrix in Eqn. 32.
*/
void Expansion3D::AddNormTraceInt(
const int dir,