Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026 #include "BICCG.H"
00027
00028
00029
00030 namespace Foam
00031 {
00032 defineTypeNameAndDebug(BICCG, 0);
00033
00034 lduMatrix::solver::addasymMatrixConstructorToTable<BICCG>
00035 addBICCGSymMatrixConstructorToTable_;
00036 }
00037
00038
00039
00040
00041 Foam::dictionary Foam::BICCG::solverDict
00042 (
00043 const scalar tol,
00044 const scalar relTol
00045 )
00046 {
00047 dictionary dict(IStringStream("solver PBiCG; preconditioner DILU;")());
00048 dict.add("tolerance", tol);
00049 dict.add("relTol", relTol);
00050
00051 return dict;
00052 }
00053
00054
00055 Foam::dictionary Foam::BICCG::solverDict
00056 (
00057 Istream& is
00058 )
00059 {
00060 scalar tol(readScalar(is));
00061 scalar relTol(readScalar(is));
00062
00063 return solverDict(tol, relTol);
00064 }
00065
00066
00067
00068
00069 Foam::BICCG::BICCG
00070 (
00071 const word& fieldName,
00072 const lduMatrix& matrix,
00073 const FieldField<Field, scalar>& interfaceBouCoeffs,
00074 const FieldField<Field, scalar>& interfaceIntCoeffs,
00075 const lduInterfaceFieldPtrsList& interfaces,
00076 const dictionary& solverControls
00077 )
00078 :
00079 PBiCG
00080 (
00081 fieldName,
00082 matrix,
00083 interfaceBouCoeffs,
00084 interfaceIntCoeffs,
00085 interfaces,
00086 solverControls
00087 )
00088 {}
00089
00090
00091 Foam::BICCG::BICCG
00092 (
00093 const word& fieldName,
00094 const lduMatrix& matrix,
00095 const FieldField<Field, scalar>& interfaceBouCoeffs,
00096 const FieldField<Field, scalar>& interfaceIntCoeffs,
00097 const lduInterfaceFieldPtrsList& interfaces,
00098 const scalar tolerance,
00099 const scalar relTol
00100 )
00101 :
00102 PBiCG
00103 (
00104 fieldName,
00105 matrix,
00106 interfaceBouCoeffs,
00107 interfaceIntCoeffs,
00108 interfaces,
00109 solverDict(tolerance, relTol)
00110 )
00111 {}
00112
00113