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
187b7922
Commit
187b7922
authored
Nov 15, 2011
by
Thomas Witkowski
Browse files
FETI-DP and Rosenbrock methods work now together.
parent
b26c7ec3
Changes
6
Hide whitespace changes
Inline
Side-by-side
AMDiS/src/io/FileWriter.cc
View file @
187b7922
...
...
@@ -12,7 +12,6 @@
#include "boost/lexical_cast.hpp"
#include "FileWriter.h"
#include "SystemVector.h"
#include "Initfile.h"
#include "ValueWriter.h"
#include "MacroWriter.h"
...
...
AMDiS/src/io/VtkWriter.cc
View file @
187b7922
...
...
@@ -160,7 +160,7 @@ namespace AMDiS {
DataCollector
dc
(
values
->
getFeSpace
(),
values
);
std
::
vector
<
DataCollector
*>
dcList
(
0
);
dcList
.
push_back
(
&
dc
);
writeFile
(
dcList
,
filename
,
writeParallel
);
writeFile
(
dcList
,
filename
,
writeParallel
);
}
...
...
AMDiS/src/parallel/PetscProblemStat.cc
View file @
187b7922
...
...
@@ -13,6 +13,7 @@
#include <vector>
#include <set>
#include "io/VtkWriter.h"
#include "parallel/PetscProblemStat.h"
#include "parallel/PetscSolver.h"
#include "parallel/MpiHelper.h"
...
...
AMDiS/src/parallel/PetscSolverFeti.cc
View file @
187b7922
...
...
@@ -1500,7 +1500,9 @@ namespace AMDiS {
solveFetiMatrix
(
vec
);
}
else
{
solveReducedFetiMatrix
(
vec
);
}
}
MeshDistributor
::
globalMeshDistributor
->
synchVector
(
vec
);
}
...
...
AMDiS/src/time/RosenbrockAdaptInstationary.cc
View file @
187b7922
...
...
@@ -35,6 +35,7 @@ namespace AMDiS {
initConstructor
(
problemStat
);
}
RosenbrockAdaptInstationary
::
RosenbrockAdaptInstationary
(
std
::
string
name
,
RosenbrockStationary
&
problemStat
,
AdaptInfo
&
info
,
...
...
@@ -54,6 +55,7 @@ namespace AMDiS {
initConstructor
(
&
problemStat
);
}
void
RosenbrockAdaptInstationary
::
initConstructor
(
RosenbrockStationary
*
problemStat
)
{
std
::
string
str
;
...
...
@@ -73,6 +75,7 @@ namespace AMDiS {
problemStat
->
setTau
(
&
tau
);
}
void
RosenbrockAdaptInstationary
::
oneTimestep
()
{
FUNCNAME
(
"RosenbrockAdaptInstationary::oneTimestep()"
);
...
...
@@ -162,7 +165,7 @@ namespace AMDiS {
INFO
(
info
,
6
)(
"time estimate for component %d = %e
\n
"
,
i
,
adaptInfo
->
getTimeEstSum
(
i
));
if
(
errorEst
>
timeTol
)
if
(
errorEst
>
timeTol
)
WARNING
(
"Accepted timestep but tolerance not reached
\n
"
);
}
else
{
...
...
@@ -192,6 +195,8 @@ namespace AMDiS {
adaptInfo
->
setLastProcessedTimestep
(
adaptInfo
->
getTimestep
());
adaptInfo
->
incTimestepNumber
();
MSG
(
"ONE TIMESTEP!
\n
"
);
}
}
AMDiS/src/time/RosenbrockStationary.cc
View file @
187b7922
...
...
@@ -17,6 +17,10 @@
#include "OEMSolver.h"
#include "Debug.h"
#ifdef HAVE_PARALLEL_DOMAIN_AMDIS
#include "parallel/MeshDistributor.h"
#endif
namespace
AMDiS
{
void
RosenbrockStationary
::
acceptTimestep
()
...
...
@@ -25,6 +29,7 @@ namespace AMDiS {
*
unVec
=
*
newUn
;
}
void
RosenbrockStationary
::
init
()
{
stageSolution
=
new
SystemVector
(
*
solution
);
...
...
@@ -59,7 +64,7 @@ namespace AMDiS {
*
newUn
=
*
unVec
;
*
lowSol
=
*
unVec
;
for
(
int
i
=
0
;
i
<
rm
->
getStages
();
i
++
)
{
*
stageSolution
=
*
unVec
;
for
(
int
j
=
0
;
j
<
i
;
j
++
)
{
...
...
@@ -79,7 +84,7 @@ namespace AMDiS {
*
tmp
*=
(
rm
->
getC
(
i
,
j
)
/
*
tauPtr
);
*
timeRhsVec
+=
*
tmp
;
}
ProblemStat
::
buildAfterCoarsen
(
adaptInfo
,
flag
,
(
i
==
0
),
asmVector
);
ProblemStat
::
solve
(
adaptInfo
,
i
==
0
,
i
+
1
<
rm
->
getStages
());
...
...
@@ -87,6 +92,7 @@ namespace AMDiS {
*
tmp
=
*
solution
;
*
tmp
*=
rm
->
getM1
(
i
);
*
newUn
+=
*
tmp
;
*
tmp
=
*
solution
;
...
...
Write
Preview
Markdown
is supported
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