← Back to team overview

dolfin team mailing list archive

A number of assembly updates: [...]

 

Commit from logg (2005-06-30 05:08 CEST)
----------------

A number of assembly updates:

 - Make FEM::assemble() estimate the number of nonzeros in each row
 - Implement Matrix::init(M, N, nzmax)
 - Add Matrix::nz(), Matrix::nzsum() and Matrix::nzmax()
 - Improve Mesh::disp()
 - Add FiniteElement::disp() and FEM::disp() (useful for debugging)
 - Remove old class SparseMatrix
 - Change FEM::setBC() --> FEM::applyBC()
 - Change Mesh::tetrahedrons --> Mesh::tetrahedra

Still working on getting the assembly working for higher-order
Lagrange elements. Seems to be working for general order elements
on triangles and for q <= 3 tetrahedra. For q >= 4, the alignment
of faces is needed and I still need to track down a bug somewhere.

Check the test program in src/demo/fem/convergence/ for current status.

  dolfin  ChangeLog                              1.221
  dolfin  src/demo/fem/convergence/main.cpp      1.2
  dolfin  src/kernel/fem/FEM.cpp                 1.27
  dolfin  src/kernel/fem/FiniteElement.cpp       1.13
  dolfin  src/kernel/fem/dolfin/FEM.h            1.14
  dolfin  src/kernel/fem/dolfin/FiniteElement.h  1.15
  dolfin  src/kernel/function/Function.cpp       1.19
  dolfin  src/kernel/la/Matrix.cpp               1.40
  dolfin  src/kernel/la/dolfin/Matrix.h          1.35
  dolfin  src/kernel/mesh/Cell.cpp               1.8
  dolfin  src/kernel/mesh/Face.cpp               1.8
  dolfin  src/kernel/mesh/Mesh.cpp               1.8
  dolfin  src/kernel/mesh/MeshInit.cpp           1.11
  dolfin  src/kernel/mesh/dolfin/Mesh.h          1.17