← Back to team overview

dolfin team mailing list archive

Re: [HG] Implement disp() for uBlasKrylovMatrix and redirect output for

 

On Fri, 2006-07-07 at 14:32 +0200, 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:   2047:5d8d7a8843ca9ca8673d5e36f0a20acd7c08696a
> tag:         tip
> user:        "Anders Logg <logg@xxxxxxxxx>"
> date:        Fri Jul 07 14:30:58 2006 +0200
> files:       src/demo/ode/courtemanche/main.cpp src/kernel/la/Makefile.am src/kernel/la/Makefile.in src/kernel/la/dolfin/uBlasKrylovMatrix.h src/kernel/la/dolfin/uBlasMatrix.h src/kernel/la/uBlasKrylovMatrix.cpp src/kernel/ode/MonoAdaptiveNewtonSolver.cpp
> description:
> Implement disp() for uBlasKrylovMatrix and redirect output for
> uBlasSparseMatrix through the log system.
> 

This can be made a bit simpler by using the matrix iterators. For sparse
matrices, they iterate over the non-zero terms only. Something like

  typedef Mat::const_iterator1 it1;
  typedef Mat::const_iterator2 it2;

  for (it1 i1 = this->begin1(); i1 != this->end1(); ++i1) 
  {
    // code for start of row
    // i1.index() should give the row number 

    for (it2 i2 = i1.begin(); i2 != i1.end(); ++i2)
    {
  	// code for printing each term
	// *i2 is the value
        // i2.index1() and i2.index2() are the indexes 
    }
  }

should work.

Garth

> 
> changeset:   2046:0fb144578ec060f0f2c108e89f177988e2c9d802
> user:        "Anders Logg <logg@xxxxxxxxx>"
> date:        Fri Jul 07 13:42:25 2006 +0200
> files:       src/kernel/ode/HomotopyODE.cpp src/kernel/ode/dolfin/HomotopyODE.h
> description:
> Make ODE solvers independent of PETSc. The ODE solvers now compile
> with --disable-petsc.
> 
> 
> changeset:   2045:61891eb4c072b4ca71b8be1facabc64f0c41a333
> user:        "Anders Logg <logg@xxxxxxxxx>"
> date:        Fri Jul 07 12:18:21 2006 +0200
> files:       TODO src/kernel/ode/ComplexODE.cpp src/kernel/ode/Dependencies.cpp src/kernel/ode/Homotopy.cpp src/kernel/ode/HomotopyJacobian.cpp src/kernel/ode/HomotopyODE.cpp src/kernel/ode/MultiAdaptiveTimeSlab.cpp src/kernel/ode/TimeStepper.cpp src/kernel/ode/dolfin/ComplexODE.h src/kernel/ode/dolfin/Homotopy.h src/kernel/ode/dolfin/HomotopyJacobian.h
> description:
> Fixes for homotopy solver. Some of the demos don't work since a
> direct solver is needed and is currently not supported by the ODE solvers.
> 
> 
> -------------------------------------------------------
> For more details, visit http://www.fenics.org/hg/dolfin
> _______________________________________________
> DOLFIN-dev mailing list
> DOLFIN-dev@xxxxxxxxxx
> http://www.fenics.org/mailman/listinfo/dolfin-dev



Follow ups

References