~njansson/dolfin/hpc

« back to all changes in this revision

Viewing changes to src/kernel/ode/dolfin/MultiAdaptiveJacobian.h

  • Committer: Anders Logg
  • Date: 2007-01-10 09:04:44 UTC
  • mfrom: (1689.1.221 trunk)
  • Revision ID: logg@simula.no-20070110090444-ecyux3n1qnei4i8h
RemoveĀ oldĀ head

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
// Copyright (C) 2005 Anders Logg.
 
1
// Copyright (C) 2005-2006 Anders Logg.
2
2
// Licensed under the GNU GPL Version 2.
3
3
//
4
4
// First added:  2005-01-27
5
 
// Last changed: 2005-11-10
 
5
// Last changed: 2006-08-08
6
6
 
7
7
#ifndef __MULTI_ADAPTIVE_JACOBIAN_H
8
8
#define __MULTI_ADAPTIVE_JACOBIAN_H
28
28
 
29
29
    /// Destructor
30
30
    ~MultiAdaptiveJacobian();
 
31
    
 
32
    /// Return number of rows (dim = 0) or columns (dim = 1)
 
33
    uint size(const uint dim) const;
31
34
 
32
35
    /// Compute product y = Ax
33
 
    void mult(const Vector& x, Vector& y) const;
 
36
    void mult(const uBlasVector& x, uBlasVector& y) const;
34
37
 
35
 
    /// Recompute Jacobian if necessary
36
 
    void update();
 
38
    /// (Re-)initialize computation of Jacobian
 
39
    void init();
37
40
 
38
41
    /// Friends
39
42
    friend class MultiAdaptivePreconditioner;
41
44
  private:
42
45
 
43
46
    // Compute product for mcG(q)
44
 
    void cGmult(const real x[], real y[]) const;
 
47
    void cGmult(const uBlasVector& x, uBlasVector& y) const;
45
48
 
46
49
    // Compute product for mdG(q)
47
 
    void dGmult(const real x[], real y[]) const;
 
50
    void dGmult(const uBlasVector& x, uBlasVector& y) const;
48
51
 
49
52
    // The Newton solver
50
53
    MultiAdaptiveNewtonSolver& newton;