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
iwr
amdis
Commits
6cf1994a
Commit
6cf1994a
authored
Jun 17, 2015
by
Praetorius, Simon
Browse files
mtl4 included in svn tree and patch for umfpack added
parent
a28b315c
Changes
2
Hide whitespace changes
Inline
Side-by-side
AMDiS/src/solver/UmfPackSolver.h
View file @
6cf1994a
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#include <iostream>
#include <iostream>
#include <boost/numeric/mtl/operation/two_norm.hpp>
#include <boost/numeric/mtl/operation/two_norm.hpp>
#include
"solver/itl
/umfpack
2
_solve.hpp
"
#include
<boost/numeric/mtl/interface
/umfpack_solve.hpp
>
#include "solver/LinearSolver.h"
#include "solver/LinearSolver.h"
namespace
AMDiS
{
namespace
AMDiS
{
...
@@ -60,8 +60,8 @@ namespace AMDiS {
...
@@ -60,8 +60,8 @@ namespace AMDiS {
}
}
try
{
try
{
solver
=
new
mtl
::
matrix
::
umfpack
2
::
solver
<
MatrixType
>
(
fullMatrix
,
symmetric_strategy
,
alloc_init
);
solver
=
new
mtl
::
matrix
::
umfpack
::
solver
<
MatrixType
>
(
fullMatrix
,
symmetric_strategy
,
alloc_init
);
}
catch
(
mtl
::
matrix
::
umfpack
2
::
error
&
e
)
{
}
catch
(
mtl
::
matrix
::
umfpack
::
error
&
e
)
{
ERROR_EXIT
(
"UMFPACK_ERROR(factorize, %d) = %s
\n
"
,
e
.
code
,
e
.
what
());
ERROR_EXIT
(
"UMFPACK_ERROR(factorize, %d) = %s
\n
"
,
e
.
code
,
e
.
what
());
}
}
}
}
...
@@ -75,7 +75,7 @@ namespace AMDiS {
...
@@ -75,7 +75,7 @@ namespace AMDiS {
int
code
=
0
;
int
code
=
0
;
try
{
try
{
code
=
(
*
solver
)(
x
,
b
);
code
=
(
*
solver
)(
x
,
b
);
}
catch
(
mtl
::
matrix
::
umfpack
2
::
error
&
e
)
{
}
catch
(
mtl
::
matrix
::
umfpack
::
error
&
e
)
{
ERROR_EXIT
(
"UMFPACK_ERROR(solve, %d) = %s
\n
"
,
e
.
code
,
e
.
what
());
ERROR_EXIT
(
"UMFPACK_ERROR(solve, %d) = %s
\n
"
,
e
.
code
,
e
.
what
());
}
}
...
@@ -103,7 +103,7 @@ namespace AMDiS {
...
@@ -103,7 +103,7 @@ namespace AMDiS {
LinearSolverInterface
&
oem
;
LinearSolverInterface
&
oem
;
private:
private:
mtl
::
matrix
::
umfpack
2
::
solver
<
MatrixType
>
*
solver
;
mtl
::
matrix
::
umfpack
::
solver
<
MatrixType
>
*
solver
;
int
store_symbolic
;
int
store_symbolic
;
...
...
AMDiS/src/solver/itl/umfpack2_solve.hpp
View file @
6cf1994a
...
@@ -37,7 +37,7 @@ extern "C" {
...
@@ -37,7 +37,7 @@ extern "C" {
namespace
mtl
{
namespace
matrix
{
namespace
mtl
{
namespace
matrix
{
/// Namespace for Umfpack solver
/// Namespace for Umfpack solver
namespace
umfpack
2
{
namespace
umfpack
{
// conversion for value_type needed if not double or complex<double> (where possible)
// conversion for value_type needed if not double or complex<double> (where possible)
template
<
typename
Value
>
struct
value
{};
template
<
typename
Value
>
struct
value
{};
...
@@ -556,7 +556,7 @@ namespace mtl { namespace matrix {
...
@@ -556,7 +556,7 @@ namespace mtl { namespace matrix {
template
<
typename
Value
,
typename
Parameters
,
typename
VectorX
,
typename
VectorB
>
template
<
typename
Value
,
typename
Parameters
,
typename
VectorX
,
typename
VectorB
>
int
umfpack2_solve
(
const
compressed2D
<
Value
,
Parameters
>&
A
,
VectorX
&
x
,
const
VectorB
&
b
)
int
umfpack2_solve
(
const
compressed2D
<
Value
,
Parameters
>&
A
,
VectorX
&
x
,
const
VectorB
&
b
)
{
{
umfpack
2
::
solver
<
compressed2D
<
Value
,
Parameters
>
>
solver
(
A
);
umfpack
::
solver
<
compressed2D
<
Value
,
Parameters
>
>
solver
(
A
);
return
solver
(
x
,
b
);
return
solver
(
x
,
b
);
}
}
...
...
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