Liebe Gitlab-Nutzer, lieber Gitlab-Nutzer,
es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Die Konten der externen Nutzer:innen sind über den Reiter "Standard" erreichbar.
Die Administratoren


Dear Gitlab user,
it is now possible to log in to our service using the ZIH login/LDAP. The accounts of external users can be accessed via the "Standard" tab.
The administrators

Commit 8d9574c0 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Make periodic boundaries working also for parallel domain problems.

parent 42cd169f
This diff is collapsed.
......@@ -93,7 +93,7 @@ namespace AMDiS {
virtual void initParallelization(AdaptInfo *adaptInfo);
void exitParallelization(AdaptInfo *adaptInfo);
virtual void exitParallelization(AdaptInfo *adaptInfo);
void updateDofAdmins();
......@@ -194,7 +194,7 @@ namespace AMDiS {
* Determine the interior boundaries, i.e. boundaries between ranks, and store
* all information about them in \ref interiorBoundary.
*/
void createInteriorBoundaryInfo(DofContainer& rankDOFs);
void createInteriorBoundaryInfo();
/// Removes all macro elements from the mesh that are not part of ranks partition.
void removeMacroElements();
......@@ -276,9 +276,15 @@ namespace AMDiS {
DofToRank& boundaryDofs,
DofToBool& vertexDof);
/** \brief
* Takes a dof matrix and sends the values to the global petsc matrix.
*/
void setDofMatrix(DOFMatrix* mat, int dispMult = 1,
int dispAddRow = 0, int dispAddCol = 0);
/** \brief
* Takes a dof vector and sends its values to a given petsc vector.
*/
void setDofVector(Vec& petscVec, DOFVector<double>* vec,
int disMult = 1, int dispAdd = 0);
......@@ -299,6 +305,22 @@ namespace AMDiS {
*/
void DbgTestCommonDofs(bool printCoords = false);
/** \brief
* This function is used for debugging only. It prints all information from
* the local to global dof mapping, see \ref mapLocalGlobalDOFs.
*
* \param rank If specified, only the information from the given rank is printed.
*/
void writeMapLocalGlobal(int rank = -1);
/** \brief
* This function is used for debugging only. It prints all information about
* the periodic mapping of dofs, that are on periodic boundaries.
*
* \param rank If specified, only the information from the given rank is printed.
*/
void writeMapPeriodic(int rank = -1);
/** \brief
* This functions create a Paraview file with the macro mesh where the elements
* are colored by the partition they are part of. This function can be used for
......@@ -397,6 +419,14 @@ namespace AMDiS {
vec[1] = dof3;
}
inline void printColValues(int row,
std::vector<int>& cols,
std::vector<double>& values)
{
for (int i = 0; i < static_cast<int>(cols.size()); i++)
std::cout << "Mat[" << row << "][" << cols[i] << "] = " << values[i] << "\n";
}
protected:
///
ProblemIterationInterface *iterationIF;
......
......@@ -85,6 +85,11 @@ namespace AMDiS {
}
}
void ParallelDomainVec::exitParallelization(AdaptInfo *adaptInfo)
{
ParallelDomainBase::exitParallelization(adaptInfo);
}
void ParallelDomainVec::solve()
{
......
......@@ -36,6 +36,8 @@ namespace AMDiS {
void initParallelization(AdaptInfo *adaptInfo);
void exitParallelization(AdaptInfo *adaptInfo);
virtual void solveInitialProblem(AdaptInfo *adaptInfo)
{
ParallelDomainBase::solveInitialProblem(adaptInfo);
......
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