Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
D
dune-solvers
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Iterations
Wiki
Requirements
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Locked files
Build
Pipelines
Jobs
Pipeline schedules
Test cases
Artifacts
Deploy
Releases
Model registry
Operate
Environments
Monitor
Incidents
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Code review analytics
Issue analytics
Insights
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
agnumpde
dune-solvers
Commits
f3b1969e
Commit
f3b1969e
authored
12 years ago
by
Uli Sack
Committed by
usack
12 years ago
Browse files
Options
Downloads
Patches
Plain Diff
document the code changes introduced by the lowrank branch
[[Imported from SVN: r6277]]
parent
1cf8f9e8
No related branches found
No related tags found
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
doc/LOWRANKBRANCH-BACKPORT-CHANGES
+106
-0
106 additions, 0 deletions
doc/LOWRANKBRANCH-BACKPORT-CHANGES
with
106 additions
and
0 deletions
doc/LOWRANKBRANCH-BACKPORT-CHANGES
0 → 100644
+
106
−
0
View file @
f3b1969e
CHANGES REQUIRING CODE ADAPTATION
---------------------------------
---------------------------------
* file dune/solvers/norms/diagnorm.hh : class DiagNorm
° introduced template parameters in order to use it with arbitrary matrix blocks
\tparam Diagonal some container type having the random access operator[]; used to store the diagonal entries of the matrix
\tparam VectorType the vector type the norm may be applied to
° old implementation remains as template specialization
---------------------------------------------------------------------------------------
! ° REQUIRED CODE CHANGES: where "DiagNorm" was used, now "DiagNorm<>" is required !
---------------------------------------------------------------------------------------
* file dune/solvers/norms/fullnorm.hh : class FullNorm
° introduced template parameters in order to use it with arbitrary matrix blocks
\tparam LowRankFactor the type of the factor used to represent the low rank operator
\tparam VectorType the vector type the norm may be applied to
° old implementation remains as template specialization
---------------------------------------------------------------------------------------
! ° REQUIRED CODE CHANGES: where "FullNorm" was used, now "FullNorm<>" is required !
---------------------------------------------------------------------------------------
CHANGES POSSIBLY AFFECTING PERFOMANCE (INCLUDING BUGFIXES)
----------------------------------------------------------
----------------------------------------------------------
* file dune/solvers/common/staticmatrixtools.hh
° bugfix for addToDiagonal concerning template specialization
* file dune/solvers/norms/energynorm.hh
° catch slightly negative values of normSquared and return zero instead
° "negativity tolerance" may be set in constructor; default is 1e-10
EXTENSION OF FUNCTIONALITY
--------------------------
--------------------------
* file dune/solvers/transferoperators/compressedmultigridtransfer.hh : class CompressedMultigridTransfer
° introduced template specialization for matrices of SumOperator<SparseMatrixType, LowRankMatrixType>-type
* file dune/solvers/common/staticmatrixtools.hh
° added some type promotions
(° bugfix for addToDiagonal concerning template specialization)
* file dune/solvers/common/genericvectortools.hh :
° added template specialization of method static void resize for VectorTypeB=SumOperator<...>
* file dune/solvers/iterationsteps/truncatedblockgsstep.hh :
° introduced template specialization for matrices of SumOperator<SparseMatrixType, LowRankMatrixType>-type
* file dune/solvers/operators/nulloperator.hh :
° introduced method umtv
° introduced method usmtv
° export field_type and size_type
° introduced methods M(), N()
° introduced operator*=
° introduced operator[]
° introduced operator[] in RowDummy
* file dune/solvers/operators/lowrankoperator.hh :
° lowRankFactor_ now stored as a pointer
° introduced default constructor
° introduced method mmv
(° renamed method getLowRankFactor->lowrankFactor)
° added nonconst getter lowrankFactor
* file dune/solvers/operators/sumoperator.hh :
° summands now stored as pointers
° introduced default constructor
° introduced destructor
° introduced method mmv
° introduced methods M(), N()
(° renamed method getSOMETHINGMatrix->SOMETHINGMatrix)
° added nonconst getters
FURTHER CHANGES
-------------------------------------
-------------------------------------
* copied file dune/solvers/common/arithmetic.hh from dune-fufem
* file dune/solvers/transferoperators/truncatedcompressedmgtransfer.cc
° harmonized template parameter names with base class
* file dune/solvers/test/sumoperatortest.cc
° extended test, now also testing
default construction
getter methods
consistency of N()
* file dune/solvers/test/lowrankoperatortest.cc
° extended test, now also testing
method mmv
for fixed block sizes 1...4
* use size_t instead of int in order to avoid signed/unsigned mismatch warnings
° file dune/solvers/iterationsteps/truncatedblockgsstep.hh
° file dune/solvers/iterationsteps/multigridstep.hh
° file dune/solvers/norms/fullnorm.hh
° file dune/solvers/norms/diagnorm.hh
° file dune/solvers/common/staticmatrixtools.hh
* file dune/solvers/solvers/loopsolver.cc: initialize value in order to avoid warning
* fixed some typos/white space issues
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment