/usr/include/freefoam/OpenFOAM/FDICPreconditioner.H is in libfreefoam-dev 0.1.0+dfsg-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | /*---------------------------------------------------------------------------*\
========= |
\\ / F ield | OpenFOAM: The Open Source CFD Toolbox
\\ / O peration |
\\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd.
\\/ M anipulation |
-------------------------------------------------------------------------------
License
This file is part of OpenFOAM.
OpenFOAM is free software: you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
OpenFOAM is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
for more details.
You should have received a copy of the GNU General Public License
along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>.
Class
Foam::FDICPreconditioner
Description
Faster version of the DICPreconditioner diagonal-based incomplete
Cholesky preconditioner for symmetric matrices
(symmetric equivalent of DILU) in which the the reciprocal of the
preconditioned diagonal and the upper coefficients divided by the diagonal
are calculated and stored.
SourceFiles
FDICPreconditioner.C
\*---------------------------------------------------------------------------*/
#ifndef FDICPreconditioner_H
#define FDICPreconditioner_H
#include <OpenFOAM/lduMatrix.H>
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
namespace Foam
{
/*---------------------------------------------------------------------------*\
Class FDICPreconditioner Declaration
\*---------------------------------------------------------------------------*/
class FDICPreconditioner
:
public lduMatrix::preconditioner
{
// Private data
//- The reciprocal preconditioned diagonal
scalarField rD_;
scalarField rDuUpper_;
scalarField rDlUpper_;
// Private Member Functions
//- Disallow default bitwise copy construct
FDICPreconditioner(const FDICPreconditioner&);
//- Disallow default bitwise assignment
void operator=(const FDICPreconditioner&);
public:
//- Runtime type information
TypeName("FDIC");
// Constructors
//- Construct from matrix components and preconditioner solver controls
FDICPreconditioner
(
const lduMatrix::solver&,
const dictionary& solverControlsUnused
);
// Destructor
virtual ~FDICPreconditioner()
{}
// Member Functions
//- Return wA the preconditioned form of residual rA
virtual void precondition
(
scalarField& wA,
const scalarField& rA,
const direction cmpt=0
) const;
};
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
} // End namespace Foam
// * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
#endif
// ************************ vim: set sw=4 sts=4 et: ************************ //
|