Liebe Gitlab-Nutzer, lieber Gitlab-Nutzer, es ist nun möglich sich mittels des ZIH-Logins/LDAP an unserem Dienst anzumelden. Ein Anmelden über dieses erzeugt ein neues Konto. Das alte Konto ist ü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. Logging in via this will create a new account. The old account can be accessed via the "Standard" tab. The administrators

Commit 35720ba3 authored by Thomas Witkowski's avatar Thomas Witkowski
Browse files

Fixed some parallel compilation problems and added FETI-DP interface.

parent 42860170
...@@ -199,6 +199,7 @@ if(ENABLE_PARALLEL_DOMAIN) ...@@ -199,6 +199,7 @@ if(ENABLE_PARALLEL_DOMAIN)
${SOURCE_DIR}/parallel/ParMetisPartitioner.cc ${SOURCE_DIR}/parallel/ParMetisPartitioner.cc
${SOURCE_DIR}/parallel/PetscProblemStat.cc ${SOURCE_DIR}/parallel/PetscProblemStat.cc
${SOURCE_DIR}/parallel/PetscSolver.cc ${SOURCE_DIR}/parallel/PetscSolver.cc
${SOURCE_DIR}/parallel/PetscSolverFeti.cc
${SOURCE_DIR}/parallel/PetscSolverGlobalMatrix.cc ${SOURCE_DIR}/parallel/PetscSolverGlobalMatrix.cc
${SOURCE_DIR}/parallel/PetscSolverSchur.cc ${SOURCE_DIR}/parallel/PetscSolverSchur.cc
${SOURCE_DIR}/parallel/StdMpi.cc ${SOURCE_DIR}/parallel/StdMpi.cc
......
...@@ -52,10 +52,6 @@ namespace AMDiS { ...@@ -52,10 +52,6 @@ namespace AMDiS {
MeshDistributor *meshDistributor; MeshDistributor *meshDistributor;
}; };
#ifdef HAVE_PARALLEL_DOMAIN_AMDIS
typedef ProblemStatSeq ProblemStat;
#endif
} }
#endif #endif
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
#include "Global.h" #include "Global.h"
#include "parallel/ParallelProblemStatBase.h" #include "parallel/ParallelProblemStatBase.h"
#include "parallel/PetscSolver.h" #include "parallel/PetscSolver.h"
#include "parallel/PetscSolverFeti.h"
#include "parallel/PetscSolverGlobalMatrix.h" #include "parallel/PetscSolverGlobalMatrix.h"
#include "parallel/PetscSolverSchur.h" #include "parallel/PetscSolverSchur.h"
...@@ -46,7 +47,13 @@ namespace AMDiS { ...@@ -46,7 +47,13 @@ namespace AMDiS {
#ifdef HAVE_PETSC_DEV #ifdef HAVE_PETSC_DEV
petscSolver = new PetscSolverSchur(); petscSolver = new PetscSolverSchur();
#else #else
ERROR_EXIT("Petsc schur complement solver is only supported when petsc-dev is used!\n"); ERROR_EXIT("PETSc schur complement solver is only supported when petsc-dev is used!\n");
#endif
} else if (name == "petsc-feti") {
#ifdef HAVE_PETSC_DEV
petscSolver = new PetscSolverFeti();
#else
ERROR_EXIT("PETSc FETI-DP solver is only supported when petsc-dev is used!\n");
#endif #endif
} else if (name == "petsc" || name == "") { } else if (name == "petsc" || name == "") {
petscSolver = new PetscSolverGlobalMatrix(); petscSolver = new PetscSolverGlobalMatrix();
...@@ -75,6 +82,10 @@ namespace AMDiS { ...@@ -75,6 +82,10 @@ namespace AMDiS {
typedef PetscProblemStat ParallelProblemStat; typedef PetscProblemStat ParallelProblemStat;
#ifdef HAVE_PARALLEL_DOMAIN_AMDIS
typedef PetscProblemStat ProblemStat;
#endif
} // namespace AMDiS } // namespace AMDiS
#endif #endif
//
// Software License for AMDiS
//
// Copyright (c) 2010 Dresden University of Technology
// All rights reserved.
// Authors: Simon Vey, Thomas Witkowski et al.
//
// This file is part of AMDiS
//
// See also license.opensource.txt in the distribution.
#include "parallel/PetscSolverFeti.h"
#include "parallel/StdMpi.h"
#include "parallel/MpiHelper.h"
namespace AMDiS {
using namespace std;
#ifdef HAVE_PETSC_DEV
void PetscSolverFeti::fillPetscMatrix(Matrix<DOFMatrix*> *mat, SystemVector *vec)
{
FUNCNAME("PetscSolverFeti::fillPetscMatrix()");
}
void PetscSolverFeti::solvePetscMatrix(SystemVector &vec, AdaptInfo *adaptInfo)
{
FUNCNAME("PetscSolverFeti::solvePetscMatrix()");
}
#endif
}
// ============================================================================
// == ==
// == AMDiS - Adaptive multidimensional simulations ==
// == ==
// == http://www.amdis-fem.org ==
// == ==
// ============================================================================
//
// Software License for AMDiS
//
// Copyright (c) 2010 Dresden University of Technology
// All rights reserved.
// Authors: Simon Vey, Thomas Witkowski et al.
//
// This file is part of AMDiS
//
// See also license.opensource.txt in the distribution.
/** \file PetscSolverFeti.h */
#include "parallel/PetscSolver.h"
#ifndef AMDIS_PETSC_SOLVER_FETI_H
#define AMDIS_PETSC_SOLVER_FETI_H
namespace AMDiS {
using namespace std;
#ifdef HAVE_PETSC_DEV
class PetscSolverFeti : public PetscSolver
{
public:
PetscSolverFeti()
: PetscSolver()
{}
void fillPetscMatrix(Matrix<DOFMatrix*> *mat, SystemVector *vec);
void solvePetscMatrix(SystemVector &vec, AdaptInfo *adaptInfo);
};
#endif
}
#endif
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