Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
Backofen, Rainer
amdis
Commits
90c1f562
Commit
90c1f562
authored
Jun 28, 2012
by
Thomas Witkowski
Browse files
Fixed small bug related to NNZ computations in FETI-DP context.
parent
bcdca133
Changes
5
Hide whitespace changes
Inline
Side-by-side
AMDiS/src/parallel/MatrixNnzStructure.cc
View file @
90c1f562
...
@@ -77,6 +77,8 @@ namespace AMDiS {
...
@@ -77,6 +77,8 @@ namespace AMDiS {
if
((
*
mat
)[
i
][
j
])
if
((
*
mat
)[
i
][
j
])
feSpace
=
(
*
mat
)[
i
][
j
]
->
getRowFeSpace
();
feSpace
=
(
*
mat
)[
i
][
j
]
->
getRowFeSpace
();
TEST_EXIT_DBG
(
feSpace
)(
"No FE space found!
\n
"
);
for
(
DofComm
::
Iterator
it
(
rowDofMap
.
getDofComm
().
getRecvDofs
(),
feSpace
);
for
(
DofComm
::
Iterator
it
(
rowDofMap
.
getDofComm
().
getRecvDofs
(),
feSpace
);
!
it
.
end
();
it
.
nextRank
())
{
!
it
.
end
();
it
.
nextRank
())
{
sendMatrixEntry
[
it
.
getRank
()].
resize
(
0
);
sendMatrixEntry
[
it
.
getRank
()].
resize
(
0
);
...
...
AMDiS/src/parallel/MeshDistributor.cc
View file @
90c1f562
...
@@ -1721,8 +1721,13 @@ namespace AMDiS {
...
@@ -1721,8 +1721,13 @@ namespace AMDiS {
ParallelDebug
::
writeDebugFile
(
feSpaces
[
feSpaces
.
size
()
-
1
],
dofMap
,
ParallelDebug
::
writeDebugFile
(
feSpaces
[
feSpaces
.
size
()
-
1
],
dofMap
,
debugOutputDir
+
"mpi-dbg"
,
"dat"
);
debugOutputDir
+
"mpi-dbg"
,
"dat"
);
debug
::
testSortedDofs
(
mesh
,
elMap
);
debug
::
testSortedDofs
(
mesh
,
elMap
);
ParallelDebug
::
testCommonDofs
(
*
this
,
true
);
ParallelDebug
::
testGlobalIndexByCoords
(
*
this
);
int
test
=
0
;
Parameters
::
get
(
"parallel->remove periodic boundary"
,
test
);
if
(
test
==
0
)
{
ParallelDebug
::
testCommonDofs
(
*
this
,
true
);
ParallelDebug
::
testGlobalIndexByCoords
(
*
this
);
}
#else
#else
for
(
unsigned
int
i
=
0
;
i
<
feSpaces
.
size
();
i
++
)
for
(
unsigned
int
i
=
0
;
i
<
feSpaces
.
size
();
i
++
)
MSG
(
"FE space %d: nRankDofs = %d nOverallDofs = %d
\n
"
,
MSG
(
"FE space %d: nRankDofs = %d nOverallDofs = %d
\n
"
,
...
...
AMDiS/src/parallel/ParallelDofMapping.h
View file @
90c1f562
...
@@ -300,6 +300,7 @@ namespace AMDiS {
...
@@ -300,6 +300,7 @@ namespace AMDiS {
public:
public:
ParallelDofMapping
()
ParallelDofMapping
()
:
levelData
(
NULL
),
:
levelData
(
NULL
),
dofComm
(
NULL
),
hasNonLocalDofs
(
false
),
hasNonLocalDofs
(
false
),
needMatIndex
(
false
),
needMatIndex
(
false
),
needMatIndexFromGlobal
(
false
),
needMatIndexFromGlobal
(
false
),
...
@@ -346,7 +347,9 @@ namespace AMDiS {
...
@@ -346,7 +347,9 @@ namespace AMDiS {
/// Returns the DOF communicator.
/// Returns the DOF communicator.
DofComm
&
getDofComm
()
DofComm
&
getDofComm
()
{
{
TEST_EXIT_DBG
(
dofComm
);
FUNCNAME
(
"ParallelDofMapping::getDofComm()"
);
TEST_EXIT_DBG
(
dofComm
)(
"No DOF communicator object defined!
\n
"
);
return
*
dofComm
;
return
*
dofComm
;
}
}
...
...
AMDiS/src/parallel/PetscSolverFeti.cc
View file @
90c1f562
...
@@ -346,7 +346,9 @@ namespace AMDiS {
...
@@ -346,7 +346,9 @@ namespace AMDiS {
if
(
fetiPreconditioner
!=
FETI_NONE
)
if
(
fetiPreconditioner
!=
FETI_NONE
)
interiorDofMap
.
setMpiComm
(
levelData
.
getMpiComm
(
meshLevel
),
meshLevel
);
interiorDofMap
.
setMpiComm
(
levelData
.
getMpiComm
(
meshLevel
),
meshLevel
);
if
(
meshLevel
>
0
)
if
(
meshLevel
==
0
)
localDofMap
.
setDofComm
(
meshDistributor
->
getDofComm
());
else
localDofMap
.
setDofComm
(
meshDistributor
->
getDofCommSd
());
localDofMap
.
setDofComm
(
meshDistributor
->
getDofCommSd
());
for
(
unsigned
int
i
=
0
;
i
<
meshDistributor
->
getFeSpaces
().
size
();
i
++
)
{
for
(
unsigned
int
i
=
0
;
i
<
meshDistributor
->
getFeSpaces
().
size
();
i
++
)
{
...
...
AMDiS/src/parallel/PetscSolverGlobalMatrix.cc
View file @
90c1f562
...
@@ -123,6 +123,8 @@ namespace AMDiS {
...
@@ -123,6 +123,8 @@ namespace AMDiS {
void
PetscSolverGlobalMatrix
::
fillPetscMatrixWithCoarseSpace
(
Matrix
<
DOFMatrix
*>
*
mat
)
void
PetscSolverGlobalMatrix
::
fillPetscMatrixWithCoarseSpace
(
Matrix
<
DOFMatrix
*>
*
mat
)
{
{
FUNCNAME
(
"PetscSolverGlobalMatrix::fillPetscMatrixWithCoarseSpace()"
);
FUNCNAME
(
"PetscSolverGlobalMatrix::fillPetscMatrixWithCoarseSpace()"
);
TEST_EXIT_DBG
(
interiorMap
)(
"Should not happen!
\n
"
);
vector
<
const
FiniteElemSpace
*>
feSpaces
=
getFeSpaces
(
mat
);
vector
<
const
FiniteElemSpace
*>
feSpaces
=
getFeSpaces
(
mat
);
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment