← Back to team overview

dolfin team mailing list archive

Re: [HG] Allow PETSc matrix type to be set through the Matrix constructor.

 

Very nice.

/Anders

On Wed, Mar 22, 2006 at 04:41:54PM +0100, DOLFIN wrote:
> One or more new changesets pushed to the primary DOLFIN repository.
> A short summary of the last three changesets is included below.
> 
> changeset:   1794:236275c67493735a92352a3735c6e525313ae723
> tag:         tip
> user:        "Garth N. Wells <g.n.wells@xxxxxxxxxx>"
> date:        Wed Mar 22 16:41:19 2006 +0100
> files:       src/kernel/la/KrylovSolver.cpp src/kernel/la/Matrix.cpp src/kernel/la/dolfin/Matrix.h src/kernel/nls/NewtonSolver.cpp src/kernel/nls/dolfin/NewtonSolver.h src/kernel/parameter/dolfin/DefaultParameters.h src/kernel/pde/LinearPDE.cpp
> description:
> Allow PETSc matrix type to be set through the Matrix constructor.
> 
> The type of PETSc matrix determines which LU solver is used when doing a direct solve. Currently implemented  matrix types are:
>   Matrix::default_solver (PETSc MATSEQAIJS)
>   Matrix::spooles        (PETSC MATSEQAIJSPOOLES)
>   Matrix::superlu        (PETSc MATSUPERLU)
>   Matrix::umfpack        (PETSC MATUMFPACK) 
> 
> By default, PDE.solve() will use Matrix::umfpack if Umfpack has been compiled with PETSc, otherwise it will use the default PETSc LU solver.
> 
> 
> Benchmark (for the linear solve only) for the problem in src/demo/pde/elasticity
>   
>   default_solver: 48.4s
>   spooles:        3.45s
>   superlu:        5.77s
>   umfpack:        1.68s
> 
> 
> changeset:   1793:6c11a3f3c36279d71838fba51caf128fd4a70c1e
> user:        "Garth N. Wells <g.n.wells@xxxxxxxxxx>"
> date:        Fri Mar 17 13:54:30 2006 +0100
> files:       src/kernel/la/KrylovSolver.cpp
> description:
> Temporary fix to avoid PETSc error when using Hypre preconditioner.
> 
> The function KrylovSolver::init() is not called when a KrylovSolver is created with the Hypre preconditioner. If a user creates a KrylovSolver with the Hypre preconditioner and then attempts to access the pointer to the PETSc solver before the solver has been used to solve a system, an error will result.
> 
> 
> changeset:   1792:339e1b957d0433c13176174e13b3ed2122db7677
> user:        "Garth N. Wells <g.n.wells@xxxxxxxxxx>"
> date:        Thu Mar 16 15:30:52 2006 +0100
> files:       src/demo/fem/convergence/main.cpp
> description:
> Replace removed KrylovSolve::setRtol() function with solver.set("Krylov relative tolerance, ..).
> 
> 
> -------------------------------------------------------
> For more details, visit http://www.fenics.org/hg/dolfin
> 
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/cgi-bin/mailman/listinfo/dolfin-dev
> 

-- 
Anders Logg
Research Assistant Professor
Toyota Technological Institute at Chicago
http://www.tti-c.org/logg/



Follow ups

References