[Dune] [#522] Jacobian type is FieldVector< FieldVector< K,m> >

Dune dune at dune-project.org
Wed Mar 18 15:40:32 CET 2009


THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.

A new Flyspray task has been opened.  Details are below. 

User who did this - Carsten Gräser (Carsten) 

Attached to Project - Dune
Summary - Jacobian type is FieldVector< FieldVector< K,m> >
Task Type - Bug Report
Category - Localfunctions
Status - New
Assigned To - 
Operating System - Unspecified / All
Severity - Low
Priority - Normal
Reported Version - SVN
Due in Version - Undecided
Due Date - Undecided
Details - The type for the Jacobian of the basis functions is FieldVector<FieldVector<K,m> >.
To my knowledge the benefit of FieldVector over Dune::array
is that it provides algebra. But FieldVector<K,m> is not compatible
with double as assumed by the outer FieldVector. So only part of
the algebra will work. If these methods are there they should be usable.

In my opinion there are three possible solution:
1) Stay with the current state and accept that some things don't work.
2) Use a FieldMatrix.
3) Use array<FieldVector<K,m> > instead.

While 1) is a dirty hack, 2) has the drawback that one would perhaps expect
vectors in the most common case of scalar functions. 3) does not provide any algebra.

4) A further solution would be to
*Introduce a class encapsulating the pure scalar types (e.g. Scalar<double>).
 This provides the closure for the nested istl hierarchy.
*Change FieldVector such that it can be used with other static vectors as
 field type and is not the closure itself.

If extended to matrices this would for example also allows static size block
diagonal matrices by nesting FieldMatrix, DiagonalMatrix, ScaledIdentityMatrix.
The drawback is that this is a truly major change which will result in type
changes in a large amount of Dune classe (e.g. the grids). This could be
smoothed by introducing new types (e.g, FullVector<> for FullMatrix<>).

In order to have a clean interface I suggest to use 2) or 3). 4) would perhaps
be a nice long term solution. But is basically solves other problems.


More information can be found at the following URL:
http://www.dune-project.org/flyspray/index.php?do=details&task_id=522

You are receiving this message because you have requested it from the Flyspray bugtracking system.  If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.




More information about the Dune mailing list