63 tmp<GeometricField<Type, fvPatchField, volMesh>>
operator&
65 const fvMatrix<Type>&,
66 const DimensionedField<Type, volMesh>&
70 tmp<GeometricField<Type, fvPatchField, volMesh>>
operator&
72 const fvMatrix<Type>&,
73 const tmp<DimensionedField<Type, volMesh>>&
77 tmp<GeometricField<Type, fvPatchField, volMesh>>
operator&
79 const fvMatrix<Type>&,
80 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
84 tmp<GeometricField<Type, fvPatchField, volMesh>>
operator&
86 const tmp<fvMatrix<Type>>&,
87 const DimensionedField<Type, volMesh>&
91 tmp<GeometricField<Type, fvPatchField, volMesh>>
operator&
93 const tmp<fvMatrix<Type>>&,
94 const tmp<DimensionedField<Type, volMesh>>&
98 tmp<GeometricField<Type, fvPatchField, volMesh>>
operator&
100 const tmp<fvMatrix<Type>>&,
101 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
105 Ostream& operator<<(Ostream&, const fvMatrix<Type>&);
143 *faceFluxCorrectionPtr_;
154 template<
class Type2>
162 template<
class Type2>
171 template<
class Type2>
179 template<
class Type2>
201 const bool couples=
true 218 const scalar fraction,
231 fvMatrix<Type>& fvMat_;
280 tmp<fvMatrix<Type>>
clone()
const;
315 return internalCoeffs_;
322 return boundaryCoeffs_;
333 return faceFluxCorrectionPtr_;
341 template<
template<
class>
class ListType>
345 const ListType<Type>& values
350 template<
template<
class>
class ListType>
354 const ListType<Type>& values,
356 const bool hasDdt =
true 364 const bool forceReference =
false 510 const fvMatrix<Type>&,
517 const fvMatrix<Type>&,
524 const tmp<fvMatrix<Type>>&,
531 const tmp<fvMatrix<Type>>&,
538 friend Ostream& operator<< <Type>
541 const fvMatrix<Type>&
551 const fvMatrix<Type>&,
552 const fvMatrix<Type>&,
559 const fvMatrix<Type>&,
567 const fvMatrix<Type>&,
584 const tmp<fvMatrix<Type>>&,
602 tmp<fvMatrix<Type>>
correction(
const fvMatrix<Type>&);
613 tmp<fvMatrix<Type>>
operator==
615 const fvMatrix<Type>&,
616 const fvMatrix<Type>&
620 tmp<fvMatrix<Type>>
operator==
622 const tmp<fvMatrix<Type>>&,
623 const fvMatrix<Type>&
627 tmp<fvMatrix<Type>>
operator==
629 const fvMatrix<Type>&,
630 const tmp<fvMatrix<Type>>&
634 tmp<fvMatrix<Type>>
operator==
636 const tmp<fvMatrix<Type>>&,
637 const tmp<fvMatrix<Type>>&
642 tmp<fvMatrix<Type>>
operator==
644 const fvMatrix<Type>&,
649 tmp<fvMatrix<Type>>
operator==
651 const fvMatrix<Type>&,
656 tmp<fvMatrix<Type>>
operator==
658 const fvMatrix<Type>&,
663 tmp<fvMatrix<Type>>
operator==
665 const tmp<fvMatrix<Type>>&,
670 tmp<fvMatrix<Type>>
operator==
672 const tmp<fvMatrix<Type>>&,
677 tmp<fvMatrix<Type>>
operator==
679 const tmp<fvMatrix<Type>>&,
684 tmp<fvMatrix<Type>>
operator==
686 const fvMatrix<Type>&,
691 tmp<fvMatrix<Type>>
operator==
693 const tmp<fvMatrix<Type>>&,
699 tmp<fvMatrix<Type>>
operator==
701 const fvMatrix<Type>&,
706 tmp<fvMatrix<Type>>
operator==
708 const tmp<fvMatrix<Type>>&,
714 tmp<fvMatrix<Type>>
operator-
716 const fvMatrix<Type>&
720 tmp<fvMatrix<Type>>
operator-
722 const tmp<fvMatrix<Type>>&
727 tmp<fvMatrix<Type>>
operator+
729 const fvMatrix<Type>&,
730 const fvMatrix<Type>&
734 tmp<fvMatrix<Type>>
operator+
736 const tmp<fvMatrix<Type>>&,
737 const fvMatrix<Type>&
741 tmp<fvMatrix<Type>>
operator+
743 const fvMatrix<Type>&,
744 const tmp<fvMatrix<Type>>&
748 tmp<fvMatrix<Type>>
operator+
750 const tmp<fvMatrix<Type>>&,
751 const tmp<fvMatrix<Type>>&
756 tmp<fvMatrix<Type>>
operator+
758 const fvMatrix<Type>&,
763 tmp<fvMatrix<Type>>
operator+
765 const fvMatrix<Type>&,
770 tmp<fvMatrix<Type>>
operator+
772 const fvMatrix<Type>&,
777 tmp<fvMatrix<Type>>
operator+
779 const tmp<fvMatrix<Type>>&,
784 tmp<fvMatrix<Type>>
operator+
786 const tmp<fvMatrix<Type>>&,
791 tmp<fvMatrix<Type>>
operator+
793 const tmp<fvMatrix<Type>>&,
798 tmp<fvMatrix<Type>>
operator+
801 const fvMatrix<Type>&
805 tmp<fvMatrix<Type>>
operator+
808 const fvMatrix<Type>&
812 tmp<fvMatrix<Type>>
operator+
815 const fvMatrix<Type>&
819 tmp<fvMatrix<Type>>
operator+
821 const DimensionedField<Type, volMesh>&,
822 const tmp<fvMatrix<Type>>&
826 tmp<fvMatrix<Type>>
operator+
828 const tmp<DimensionedField<Type, volMesh>>&,
829 const tmp<fvMatrix<Type>>&
833 tmp<fvMatrix<Type>>
operator+
835 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
836 const tmp<fvMatrix<Type>>&
841 tmp<fvMatrix<Type>>
operator+
843 const fvMatrix<Type>&,
848 tmp<fvMatrix<Type>>
operator+
850 const tmp<fvMatrix<Type>>&,
855 tmp<fvMatrix<Type>>
operator+
858 const fvMatrix<Type>&
862 tmp<fvMatrix<Type>>
operator+
864 const dimensioned<Type>&,
865 const tmp<fvMatrix<Type>>&
870 tmp<fvMatrix<Type>>
operator-
872 const fvMatrix<Type>&,
873 const fvMatrix<Type>&
877 tmp<fvMatrix<Type>>
operator-
879 const tmp<fvMatrix<Type>>&,
880 const fvMatrix<Type>&
884 tmp<fvMatrix<Type>>
operator-
886 const fvMatrix<Type>&,
887 const tmp<fvMatrix<Type>>&
891 tmp<fvMatrix<Type>>
operator-
893 const tmp<fvMatrix<Type>>&,
894 const tmp<fvMatrix<Type>>&
899 tmp<fvMatrix<Type>>
operator-
901 const fvMatrix<Type>&,
902 const DimensionedField<Type, volMesh>&
906 tmp<fvMatrix<Type>>
operator-
908 const fvMatrix<Type>&,
909 const tmp<DimensionedField<Type, volMesh>>&
913 tmp<fvMatrix<Type>>
operator-
915 const fvMatrix<Type>&,
916 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
920 tmp<fvMatrix<Type>>
operator-
922 const tmp<fvMatrix<Type>>&,
923 const DimensionedField<Type, volMesh>&
927 tmp<fvMatrix<Type>>
operator-
929 const tmp<fvMatrix<Type>>&,
930 const tmp<DimensionedField<Type, volMesh>>&
934 tmp<fvMatrix<Type>>
operator-
936 const tmp<fvMatrix<Type>>&,
937 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
941 tmp<fvMatrix<Type>>
operator-
943 const DimensionedField<Type, volMesh>&,
944 const fvMatrix<Type>&
948 tmp<fvMatrix<Type>>
operator-
950 const tmp<DimensionedField<Type, volMesh>>&,
951 const fvMatrix<Type>&
955 tmp<fvMatrix<Type>>
operator-
957 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
958 const fvMatrix<Type>&
962 tmp<fvMatrix<Type>>
operator-
964 const DimensionedField<Type, volMesh>&,
965 const tmp<fvMatrix<Type>>&
969 tmp<fvMatrix<Type>>
operator-
971 const tmp<DimensionedField<Type, volMesh>>&,
972 const tmp<fvMatrix<Type>>&
976 tmp<fvMatrix<Type>>
operator-
978 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
979 const tmp<fvMatrix<Type>>&
984 tmp<fvMatrix<Type>>
operator-
986 const fvMatrix<Type>&,
987 const dimensioned<Type>&
991 tmp<fvMatrix<Type>>
operator-
993 const tmp<fvMatrix<Type>>&,
994 const dimensioned<Type>&
998 tmp<fvMatrix<Type>>
operator-
1000 const dimensioned<Type>&,
1001 const fvMatrix<Type>&
1004 template<
class Type>
1005 tmp<fvMatrix<Type>>
operator-
1007 const dimensioned<Type>&,
1008 const tmp<fvMatrix<Type>>&
1012 template<
class Type>
1013 tmp<fvMatrix<Type>>
operator*
1016 const fvMatrix<Type>&
1019 template<
class Type>
1020 tmp<fvMatrix<Type>>
operator*
1023 const fvMatrix<Type>&
1026 template<
class Type>
1027 tmp<fvMatrix<Type>>
operator*
1030 const fvMatrix<Type>&
1033 template<
class Type>
1034 tmp<fvMatrix<Type>>
operator*
1036 const volScalarField::Internal&,
1037 const tmp<fvMatrix<Type>>&
1040 template<
class Type>
1041 tmp<fvMatrix<Type>>
operator*
1043 const tmp<volScalarField::Internal>&,
1044 const tmp<fvMatrix<Type>>&
1047 template<
class Type>
1048 tmp<fvMatrix<Type>>
operator*
1050 const tmp<volScalarField>&,
1051 const tmp<fvMatrix<Type>>&
1055 template<
class Type>
1056 tmp<fvMatrix<Type>>
operator*
1059 const fvMatrix<Type>&
1062 template<
class Type>
1063 tmp<fvMatrix<Type>>
operator*
1065 const dimensioned<scalar>&,
1066 const tmp<fvMatrix<Type>>&
1069 template<
class Type>
1070 tmp<fvMatrix<Type>>
operator*
1072 const volScalarField::Internal&,
1073 const fvMatrix<Type>&
1076 template<
class Type>
1077 tmp<fvMatrix<Type>>
operator*
1079 const tmp<volScalarField::Internal>&,
1080 const fvMatrix<Type>&
1083 template<
class Type>
1084 tmp<fvMatrix<Type>>
operator*
1086 const tmp<volScalarField>&,
1087 const fvMatrix<Type>&
1090 template<
class Type>
1091 tmp<fvMatrix<Type>>
operator*
1093 const volScalarField::Internal&,
1094 const tmp<fvMatrix<Type>>&
1097 template<
class Type>
1098 tmp<fvMatrix<Type>>
operator*
1100 const tmp<volScalarField::Internal>&,
1101 const tmp<fvMatrix<Type>>&
1104 template<
class Type>
1105 tmp<fvMatrix<Type>>
operator*
1107 const tmp<volScalarField>&,
1108 const tmp<fvMatrix<Type>>&
1112 template<
class Type>
1113 tmp<fvMatrix<Type>>
operator*
1115 const dimensioned<scalar>&,
1116 const fvMatrix<Type>&
1119 template<
class Type>
1120 tmp<fvMatrix<Type>>
operator*
1122 const dimensioned<scalar>&,
1123 const tmp<fvMatrix<Type>>&
1127 template<
class Type>
1128 tmp<fvMatrix<Type>>
operator/
1130 const fvMatrix<Type>&,
1131 const volScalarField::Internal&
1134 template<
class Type>
1135 tmp<fvMatrix<Type>>
operator/
1137 const fvMatrix<Type>&,
1138 const tmp<volScalarField::Internal>&
1141 template<
class Type>
1142 tmp<fvMatrix<Type>>
operator/
1144 const fvMatrix<Type>&,
1145 const tmp<volScalarField>&
1148 template<
class Type>
1149 tmp<fvMatrix<Type>>
operator/
1151 const tmp<fvMatrix<Type>>&,
1152 const volScalarField::Internal&
1155 template<
class Type>
1156 tmp<fvMatrix<Type>>
operator/
1158 const tmp<fvMatrix<Type>>&,
1159 const tmp<volScalarField::Internal>&
1162 template<
class Type>
1163 tmp<fvMatrix<Type>>
operator/
1165 const tmp<fvMatrix<Type>>&,
1166 const tmp<volScalarField>&
1170 template<
class Type>
1171 tmp<fvMatrix<Type>>
operator/
1173 const fvMatrix<Type>&,
1174 const dimensioned<scalar>&
1177 template<
class Type>
1178 tmp<fvMatrix<Type>>
operator/
1180 const tmp<fvMatrix<Type>>&,
1181 const dimensioned<scalar>&
void addToInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Add patch contribution to internal field.
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
void setValue(const label celli, const Type &value)
Set solution in the given cell to the specified value.
void addBoundaryDiag(scalarField &diag, const direction cmpt) const
Reference counter for various OpenFOAM components.
void relax()
Relax matrix (for steady-state solution).
A list of keyword definitions, which are a keyword followed by any number of values (e...
FieldField< Field, Type > & internalCoeffs()
fvBoundary scalar field containing pseudo-matrix coeffs
const GeometricField< Type, fvPatchField, volMesh > & psi() const
void addCmptAvBoundaryDiag(scalarField &diag) const
An Istream is an abstract base class for all input systems (streams, files, token lists etc)...
void setReference(const label celli, const Type &value, const bool forceReference=false)
Set reference level for solution.
volScalarField alpha(IOobject("alpha", runTime.timeName(), mesh, IOobject::READ_IF_PRESENT, IOobject::AUTO_WRITE), lambda *max(Ua &U, zeroSensitivity))
tmp< GeometricField< Type, fvPatchField, volMesh > > H() const
Return the H operation source.
void operator-=(const fvMatrix< Type > &)
scalar relaxationFactor() const
Return the relaxation factor for this equation.
Solver class returned by the solver function.
Generic GeometricField class.
Generic dimensioned Type class.
tmp< volScalarField > H1() const
Return H(1)
void subtractFromInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Subtract patch contribution from internal field.
DimensionedField< scalar, volMesh > Internal
Type of the internal field from which this GeometricField is derived.
tmp< scalarField > D() const
Return the matrix scalar diagonal.
void operator=(const fvMatrix< Type > &)
SolverPerformance< Type > solveCoupled(const dictionary &)
Solve coupled returning the solution statistics.
surfaceTypeFieldPtr & faceFluxCorrectionPtr()
Return pointer to face-flux non-orthogonal correction field.
fvSolver(fvMatrix< Type > &fvMat, autoPtr< lduMatrix::solver > sol)
Dimension set for the base types.
SolverPerformance< Type > solve()
Solve returning the solution statistics.
void operator/=(const volScalarField::Internal &)
Pre-declare SubField and related Field type.
A class for handling words, derived from string.
FieldField< Field, Type > & boundaryCoeffs()
fvBoundary scalar field containing pseudo-matrix coeffs
virtual ~fvMatrix()
Destructor.
A special matrix type and solver, designed for finite volume solutions of scalar equations. Face addressing is used to make all matrix assembly and solution loops vectorise.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
tmp< fvMatrix< Type > > clone() const
Clone.
An Ostream is an abstract base class for all output systems (streams, files, token lists...
void operator*=(const volScalarField::Internal &)
word name(const complex &)
Return a string representation of a complex.
void operator+=(const fvMatrix< Type > &)
void setValues(const labelUList &cells, const ListType< Type > &values)
Set solution in given cells to the specified values.
tmp< Field< Type > > DD() const
Return the matrix Type diagonal.
lduMatrix is a general matrix class in which the coefficients are stored as three arrays...
GeometricField< Type, fvsPatchField, surfaceMesh > * surfaceTypeFieldPtr
Declare return type of the faceFluxCorrectionPtr() function.
tmp< volScalarField > A() const
Return the central coefficient.
A scalar instance of fvMatrix.
Macro definitions for declaring ClassName(), NamespaceName(), etc.
A List with indirect addressing.
autoPtr< fvSolver > solver()
Construct and return the solver.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
void checkMethod(const fvMatrix< Type > &, const fvMatrix< Type > &, const char *)
A class representing the concept of 0 used to avoid unnecessary manipulations for objects that are kn...
void addBoundarySource(Field< Type > &source, const bool couples=true) const
dictionary fractions(initialConditions.subDict("fractions"))
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
void setComponentReference(const label patchi, const label facei, const direction cmpt, const scalar value)
Set reference level for a component of the solution.
tmp< GeometricField< Type, fvsPatchField, surfaceMesh > > flux() const
Return the face-flux field from the matrix.
SolverPerformance< Type > solveSegregated(const dictionary &)
Solve segregated returning the solution statistics.
void boundaryManipulate(typename GeometricField< Type, fvPatchField, volMesh >::Boundary &values)
Manipulate based on a boundary field.
A class for managing temporary objects.
tmp< Field< Type > > residual() const
Return the matrix residual.
fvMatrix(const GeometricField< Type, fvPatchField, volMesh > &, const dimensionSet &)
Construct given a field to solve for.
const dimensionSet & dimensions() const