Skip to content
Snippets Groups Projects
Commit 43a521cb authored by Pietro Incardona's avatar Pietro Incardona
Browse files

PETSC working version

parent ae9f1ceb
No related branches found
No related tags found
No related merge requests found
......@@ -21,7 +21,6 @@
#define UMFPACK_NONE 0
template<typename T>
class petsc_solver
{
......@@ -600,7 +599,7 @@ class petsc_solver<double>
// We set the pre-conditioner
PETSC_SAFE_CALL(KSPGetPC(ksp,&pc));
PETSC_SAFE_CALL(PCSetType(pc,PCJACOBI));
PETSC_SAFE_CALL(PCSetType(pc,PCNONE));
// if we are on on best solve set-up a monitor function
......@@ -783,6 +782,16 @@ public:
try_solve = true;
}
/*! \brief Set the Petsc solver
*
* \see KSPType in PETSC manual for a list of all PETSC solvers
*
*/
void log_monitor()
{
PetscOptionsSetValue("-ksp_monitor",0);
}
/*! \brief Set the Petsc solver
*
* \see KSPType in PETSC manual for a list of all PETSC solvers
......
......@@ -86,7 +86,7 @@ class Vector<T,PETSC_BASE>
mutable Vec v;
// Mutable row value vector
mutable openfpm::vector<rval<T,PETSC_RVAL>,HeapMemory,typename memory_traits_inte<rval<T,PETSC_RVAL>>::type > row_val;
mutable openfpm::vector<rval<PetscScalar,PETSC_RVAL>,HeapMemory,typename memory_traits_inte<rval<PetscScalar,PETSC_RVAL>>::type > row_val;
// Global to local map
mutable std::unordered_map<size_t,size_t> map;
......@@ -210,7 +210,7 @@ public:
* \return reference to the element vector
*
*/
inline T & insert(size_t i)
inline PetscScalar & insert(size_t i)
{
row_val.add();
......@@ -228,7 +228,7 @@ public:
* \return reference to the element vector
*
*/
inline const T & insert(size_t i) const
inline const PetscScalar & insert(size_t i) const
{
row_val.add();
......@@ -248,7 +248,7 @@ public:
* \return reference to the element vector
*
*/
const T & operator()(size_t i) const
const PetscScalar & operator()(size_t i) const
{
// Search if exist
......@@ -269,7 +269,7 @@ public:
* \return reference to the element vector
*
*/
T & operator()(size_t i)
PetscScalar & operator()(size_t i)
{
// Search if exist
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment