Commit a5c3d1c7 authored by Michael Turner's avatar Michael Turner

Merge branch 'master' into 'feature/gmsh-ordered-nodes'

# Conflicts:
#   CHANGELOG.md
parents fdf62234 9a061755
......@@ -63,6 +63,7 @@ v5.0.0
- Fix automatic peralign call in 2D periodic meshing (!888)
- Fix BL splitting call from MCF (!910)
- Order nodes in Gmsh output (!912)
- Fix manifold face curvature nodes (!913)
**FieldConvert**:
- Add input module for Semtex field files (!777)
......@@ -109,6 +110,7 @@ v4.4.2
- Fix calculation of BLPoints (!892)
- Fix deadlock in DiffusionLDG (!885)
- Fix uninitialised coefficients in DirectFull solver (!898)
- Updated PETSc to 3.7.7 (!916)
**NekMesh**
- Fix missing periodic boundary meshing and boundary layer mesh adjustment
......@@ -118,6 +120,7 @@ v4.4.2
**Documentation**:
- Fix sign of the viscous term in the velocity correction scheme equations in
the user guide (!856)
- Fixed anonymous clone URL (!909)
**FieldConvert**
- Allow passing input name with trailing separator (!879)
......
......@@ -76,23 +76,22 @@ IF (NEKTAR_USE_PETSC)
ENDIF()
EXTERNALPROJECT_ADD(
petsc-3.7.2
petsc-3.7.7
DEPENDS ${PETSC_DEPS}
PREFIX ${TPSRC}
STAMP_DIR ${TPBUILD}/stamp
DOWNLOAD_DIR ${TPSRC}
SOURCE_DIR ${TPBUILD}/petsc-3.7.2
TMP_DIR ${TPBUILD}/petsc-3.7.2-tmp
SOURCE_DIR ${TPBUILD}/petsc-3.7.7
TMP_DIR ${TPBUILD}/petsc-3.7.7-tmp
INSTALL_DIR ${TPDIST}
BINARY_DIR ${TPBUILD}/petsc-3.7.2
URL http://www.nektar.info/thirdparty/petsc-lite-3.7.2.tar.gz
URL_MD5 "26c2ff8eaaa9e49aea063f839f5daa7e"
BINARY_DIR ${TPBUILD}/petsc-3.7.7
URL ${TPURL}/petsc-lite-3.7.7.tar.gz
URL_MD5 "7b476e38cfab4cddb26f73e5ef23538e"
CONFIGURE_COMMAND
OMPI_FC=${CMAKE_Fortran_COMPILER}
OMPI_CC=${CMAKE_C_COMPILER}
OMPI_CXX=${CMAKE_CXX_COMPILER}
${PYTHON_EXECUTABLE} ./configure
./configure
--with-fc=${PETSC_Fortran_COMPILER}
--with-cc=${PETSC_C_COMPILER}
--with-cxx=${PETSC_CXX_COMPILER}
......@@ -121,7 +120,7 @@ IF (NEKTAR_USE_PETSC)
ENDIF (NOT PETSC_FOUND)
SET(PETSC_CONFIG_INCLUDE_DIR ${PETSC_INCLUDES})
INCLUDE_DIRECTORIES(${PETSC_INCLUDES})
ADD_CUSTOM_TARGET(petsc-3.7.2 ALL)
ADD_CUSTOM_TARGET(petsc-3.7.7 ALL)
ENDIF (THIRDPARTY_BUILD_PETSC)
ADD_DEFINITIONS(-DNEKTAR_USING_PETSC)
......
Subproject commit e128cfaffbbd37c734a667cdc2a07b6f06291615
Subproject commit b1461b45abb08c48397fe6d046249703c4f8f160
......@@ -24,7 +24,7 @@ There are two ways to obtain the source code for \nekpp:
public repository. Use this initially if you would like to try using
Nektar++ or make local changes to the code.
\begin{lstlisting}[style=BashInputStyle]
git clone http://gitlab.nektar.info/clone/nektar/nektar.git nektar++
git clone https://gitlab.nektar.info/nektar/nektar.git nektar++
\end{lstlisting}
\item Using authenticated access. This will allow you to directly contribute
back into the code.
......
......@@ -151,6 +151,7 @@ void ProcessHomogeneousPlane::Process(po::variables_map &vm)
}
m_f->m_session = LibUtilities::SessionReader::CreateInstance(
argc, (char **)argv, files, m_f->m_comm->GetRowComm());
m_f->m_session->InitSession();
}
else
{
......
......@@ -428,7 +428,7 @@ ENDIF()
IF( NEKTAR_USE_PETSC )
TARGET_LINK_LIBRARIES(LibUtilities LINK_PRIVATE ${PETSC_LIBRARIES})
TARGET_LINK_LIBRARIES(LibUtilities LINK_PUBLIC ${CMAKE_DL_LIBS})
ADD_DEPENDENCIES(LibUtilities petsc-3.7.2)
ADD_DEPENDENCIES(LibUtilities petsc-3.7.7)
ENDIF( NEKTAR_USE_PETSC )
# HDF5
......
......@@ -147,7 +147,7 @@ ENDIF( NEKTAR_USE_MPI )
IF( NEKTAR_USE_PETSC )
TARGET_LINK_LIBRARIES(MultiRegions LINK_PRIVATE ${PETSC_LIBRARIES})
ADD_DEPENDENCIES(MultiRegions petsc-3.7.2)
ADD_DEPENDENCIES(MultiRegions petsc-3.7.7)
ENDIF( NEKTAR_USE_PETSC )
INSTALL(DIRECTORY ./ DESTINATION ${NEKTAR_INCLUDE_DIR}/MultiRegions COMPONENT dev FILES_MATCHING PATTERN "*.h" PATTERN "*.hpp")
......
......@@ -859,7 +859,7 @@ void Module::RegisterConfig(string key, string val)
{
it->second.value = it->second.defValue;
}
else
else
{
it->second.value = val;
}
......
......@@ -129,12 +129,21 @@ void HOSurfaceMesh::Process()
FaceSharedPtr f = m_mesh->m_element[2][i]->GetFaceLink();
bool dumFace = false;
if (!f)
{
//This uses a fake face to build the high-order info
//in the case of 2D and manifold geometries without having to
//rewrite the 3D code
//important to note that face nodes need to be inserted into the
//volume nodes of the surface element or they will be forgotton
f = std::shared_ptr<Face>(new Face(
m_mesh->m_element[2][i]->GetVertexList(),
vector<NodeSharedPtr>(), m_mesh->m_element[2][i]->GetEdgeList(),
LibUtilities::ePolyEvenlySpaced));
dumFace = true;
}
f->m_parentCAD = s;
......@@ -506,6 +515,12 @@ void HOSurfaceMesh::Process()
f->m_faceNodes = honodes;
f->m_curveType = LibUtilities::eGaussLobattoLegendre;
}
if(dumFace)
{
m_mesh->m_element[2][i]->SetVolumeNodes(f->m_faceNodes);
m_mesh->m_element[2][i]->SetCurveType(f->m_curveType);
}
}
if (m_mesh->m_verbose)
......
......@@ -1333,7 +1333,7 @@ void MeshGraphXmlCompressed::WriteCurves(TiXmlElement *geomTag, CurveMap &edges,
cinfo.ptid = 0;
cinfo.ptoffset = ptOffset;
edgeInfo.push_back(cinfo);
faceInfo.push_back(cinfo);
for(int j = 0; j < i.second->m_points.size(); j++)
{
......
......@@ -415,6 +415,32 @@ void OutputNekpp::TransferCurves(MeshGraphSharedPtr graph)
facecnt++;
}
}
if(m_mesh->m_expDim == 2 && m_mesh->m_spaceDim == 3)
{
//manifold case
for(int e = 0; e < m_mesh->m_element[2].size(); e++)
{
ElementSharedPtr el = m_mesh->m_element[2][e];
vector<NodeSharedPtr> ns;
el->GetCurvedNodes(ns);
if(ns.size() > 4)
{
CurveSharedPtr curve = MemoryManager<Curve>::AllocateSharedPtr(
el->GetId(), el->GetCurveType());
for(int i = 0; i < ns.size(); i++)
{
PointGeomSharedPtr vert = MemoryManager<PointGeom>::AllocateSharedPtr(
m_mesh->m_expDim, facecnt, ns[i]->m_x, ns[i]->m_y, ns[i]->m_z);
curve->m_points.push_back(vert);
}
faces[el->GetId()] = curve;
facecnt++;
}
}
}
}
void OutputNekpp::TransferComposites(MeshGraphSharedPtr graph)
......
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