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 207 template<
template<
class>
class ListType>
211 const ListType<Type>& values
223 fvMatrix<Type>& fvMat_;
272 tmp<fvMatrix<Type>>
clone()
const;
307 return internalCoeffs_;
314 return boundaryCoeffs_;
325 return faceFluxCorrectionPtr_;
352 const bool forceReference =
false 495 const fvMatrix<Type>&,
502 const fvMatrix<Type>&,
509 const tmp<fvMatrix<Type>>&,
516 const tmp<fvMatrix<Type>>&,
523 friend Ostream& operator<< <Type>
526 const fvMatrix<Type>&
536 const fvMatrix<Type>&,
537 const fvMatrix<Type>&,
544 const fvMatrix<Type>&,
552 const fvMatrix<Type>&,
569 const tmp<fvMatrix<Type>>&,
587 tmp<fvMatrix<Type>>
correction(
const fvMatrix<Type>&);
598 tmp<fvMatrix<Type>>
operator==
600 const fvMatrix<Type>&,
601 const fvMatrix<Type>&
605 tmp<fvMatrix<Type>>
operator==
607 const tmp<fvMatrix<Type>>&,
608 const fvMatrix<Type>&
612 tmp<fvMatrix<Type>>
operator==
614 const fvMatrix<Type>&,
615 const tmp<fvMatrix<Type>>&
619 tmp<fvMatrix<Type>>
operator==
621 const tmp<fvMatrix<Type>>&,
622 const tmp<fvMatrix<Type>>&
627 tmp<fvMatrix<Type>>
operator==
629 const fvMatrix<Type>&,
634 tmp<fvMatrix<Type>>
operator==
636 const fvMatrix<Type>&,
641 tmp<fvMatrix<Type>>
operator==
643 const fvMatrix<Type>&,
648 tmp<fvMatrix<Type>>
operator==
650 const tmp<fvMatrix<Type>>&,
655 tmp<fvMatrix<Type>>
operator==
657 const tmp<fvMatrix<Type>>&,
662 tmp<fvMatrix<Type>>
operator==
664 const tmp<fvMatrix<Type>>&,
669 tmp<fvMatrix<Type>>
operator==
671 const fvMatrix<Type>&,
676 tmp<fvMatrix<Type>>
operator==
678 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>&
705 tmp<fvMatrix<Type>>
operator-
707 const tmp<fvMatrix<Type>>&
712 tmp<fvMatrix<Type>>
operator+
714 const fvMatrix<Type>&,
715 const fvMatrix<Type>&
719 tmp<fvMatrix<Type>>
operator+
721 const tmp<fvMatrix<Type>>&,
722 const fvMatrix<Type>&
726 tmp<fvMatrix<Type>>
operator+
728 const fvMatrix<Type>&,
729 const tmp<fvMatrix<Type>>&
733 tmp<fvMatrix<Type>>
operator+
735 const tmp<fvMatrix<Type>>&,
736 const tmp<fvMatrix<Type>>&
741 tmp<fvMatrix<Type>>
operator+
743 const fvMatrix<Type>&,
748 tmp<fvMatrix<Type>>
operator+
750 const fvMatrix<Type>&,
755 tmp<fvMatrix<Type>>
operator+
757 const fvMatrix<Type>&,
762 tmp<fvMatrix<Type>>
operator+
764 const tmp<fvMatrix<Type>>&,
769 tmp<fvMatrix<Type>>
operator+
771 const tmp<fvMatrix<Type>>&,
776 tmp<fvMatrix<Type>>
operator+
778 const tmp<fvMatrix<Type>>&,
783 tmp<fvMatrix<Type>>
operator+
786 const fvMatrix<Type>&
790 tmp<fvMatrix<Type>>
operator+
793 const fvMatrix<Type>&
797 tmp<fvMatrix<Type>>
operator+
800 const fvMatrix<Type>&
804 tmp<fvMatrix<Type>>
operator+
806 const DimensionedField<Type, volMesh>&,
807 const tmp<fvMatrix<Type>>&
811 tmp<fvMatrix<Type>>
operator+
813 const tmp<DimensionedField<Type, volMesh>>&,
814 const tmp<fvMatrix<Type>>&
818 tmp<fvMatrix<Type>>
operator+
820 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
821 const tmp<fvMatrix<Type>>&
826 tmp<fvMatrix<Type>>
operator+
828 const fvMatrix<Type>&,
833 tmp<fvMatrix<Type>>
operator+
835 const tmp<fvMatrix<Type>>&,
840 tmp<fvMatrix<Type>>
operator+
843 const fvMatrix<Type>&
847 tmp<fvMatrix<Type>>
operator+
849 const dimensioned<Type>&,
850 const tmp<fvMatrix<Type>>&
855 tmp<fvMatrix<Type>>
operator-
857 const fvMatrix<Type>&,
858 const fvMatrix<Type>&
862 tmp<fvMatrix<Type>>
operator-
864 const tmp<fvMatrix<Type>>&,
865 const fvMatrix<Type>&
869 tmp<fvMatrix<Type>>
operator-
871 const fvMatrix<Type>&,
872 const tmp<fvMatrix<Type>>&
876 tmp<fvMatrix<Type>>
operator-
878 const tmp<fvMatrix<Type>>&,
879 const tmp<fvMatrix<Type>>&
884 tmp<fvMatrix<Type>>
operator-
886 const fvMatrix<Type>&,
887 const DimensionedField<Type, volMesh>&
891 tmp<fvMatrix<Type>>
operator-
893 const fvMatrix<Type>&,
894 const tmp<DimensionedField<Type, volMesh>>&
898 tmp<fvMatrix<Type>>
operator-
900 const fvMatrix<Type>&,
901 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
905 tmp<fvMatrix<Type>>
operator-
907 const tmp<fvMatrix<Type>>&,
908 const DimensionedField<Type, volMesh>&
912 tmp<fvMatrix<Type>>
operator-
914 const tmp<fvMatrix<Type>>&,
915 const tmp<DimensionedField<Type, volMesh>>&
919 tmp<fvMatrix<Type>>
operator-
921 const tmp<fvMatrix<Type>>&,
922 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
926 tmp<fvMatrix<Type>>
operator-
928 const DimensionedField<Type, volMesh>&,
929 const fvMatrix<Type>&
933 tmp<fvMatrix<Type>>
operator-
935 const tmp<DimensionedField<Type, volMesh>>&,
936 const fvMatrix<Type>&
940 tmp<fvMatrix<Type>>
operator-
942 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
943 const fvMatrix<Type>&
947 tmp<fvMatrix<Type>>
operator-
949 const DimensionedField<Type, volMesh>&,
950 const tmp<fvMatrix<Type>>&
954 tmp<fvMatrix<Type>>
operator-
956 const tmp<DimensionedField<Type, volMesh>>&,
957 const tmp<fvMatrix<Type>>&
961 tmp<fvMatrix<Type>>
operator-
963 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
964 const tmp<fvMatrix<Type>>&
969 tmp<fvMatrix<Type>>
operator-
971 const fvMatrix<Type>&,
972 const dimensioned<Type>&
976 tmp<fvMatrix<Type>>
operator-
978 const tmp<fvMatrix<Type>>&,
979 const dimensioned<Type>&
983 tmp<fvMatrix<Type>>
operator-
985 const dimensioned<Type>&,
986 const fvMatrix<Type>&
990 tmp<fvMatrix<Type>>
operator-
992 const dimensioned<Type>&,
993 const tmp<fvMatrix<Type>>&
998 tmp<fvMatrix<Type>>
operator*
1001 const fvMatrix<Type>&
1004 template<
class Type>
1005 tmp<fvMatrix<Type>>
operator*
1008 const fvMatrix<Type>&
1011 template<
class Type>
1012 tmp<fvMatrix<Type>>
operator*
1015 const fvMatrix<Type>&
1018 template<
class Type>
1019 tmp<fvMatrix<Type>>
operator*
1021 const volScalarField::Internal&,
1022 const tmp<fvMatrix<Type>>&
1025 template<
class Type>
1026 tmp<fvMatrix<Type>>
operator*
1028 const tmp<volScalarField::Internal>&,
1029 const tmp<fvMatrix<Type>>&
1032 template<
class Type>
1033 tmp<fvMatrix<Type>>
operator*
1035 const tmp<volScalarField>&,
1036 const tmp<fvMatrix<Type>>&
1040 template<
class Type>
1041 tmp<fvMatrix<Type>>
operator*
1044 const fvMatrix<Type>&
1047 template<
class Type>
1048 tmp<fvMatrix<Type>>
operator*
1050 const dimensioned<scalar>&,
1051 const tmp<fvMatrix<Type>>&
1054 template<
class Type>
1055 tmp<fvMatrix<Type>>
operator*
1057 const volScalarField::Internal&,
1058 const fvMatrix<Type>&
1061 template<
class Type>
1062 tmp<fvMatrix<Type>>
operator*
1064 const tmp<volScalarField::Internal>&,
1065 const fvMatrix<Type>&
1068 template<
class Type>
1069 tmp<fvMatrix<Type>>
operator*
1071 const tmp<volScalarField>&,
1072 const fvMatrix<Type>&
1075 template<
class Type>
1076 tmp<fvMatrix<Type>>
operator*
1078 const volScalarField::Internal&,
1079 const tmp<fvMatrix<Type>>&
1082 template<
class Type>
1083 tmp<fvMatrix<Type>>
operator*
1085 const tmp<volScalarField::Internal>&,
1086 const tmp<fvMatrix<Type>>&
1089 template<
class Type>
1090 tmp<fvMatrix<Type>>
operator*
1092 const tmp<volScalarField>&,
1093 const tmp<fvMatrix<Type>>&
1097 template<
class Type>
1098 tmp<fvMatrix<Type>>
operator*
1100 const dimensioned<scalar>&,
1101 const fvMatrix<Type>&
1104 template<
class Type>
1105 tmp<fvMatrix<Type>>
operator*
1107 const dimensioned<scalar>&,
1108 const tmp<fvMatrix<Type>>&
1112 template<
class Type>
1113 tmp<fvMatrix<Type>>
operator/
1115 const fvMatrix<Type>&,
1116 const volScalarField::Internal&
1119 template<
class Type>
1120 tmp<fvMatrix<Type>>
operator/
1122 const fvMatrix<Type>&,
1123 const tmp<volScalarField::Internal>&
1126 template<
class Type>
1127 tmp<fvMatrix<Type>>
operator/
1129 const fvMatrix<Type>&,
1130 const tmp<volScalarField>&
1133 template<
class Type>
1134 tmp<fvMatrix<Type>>
operator/
1136 const tmp<fvMatrix<Type>>&,
1137 const volScalarField::Internal&
1140 template<
class Type>
1141 tmp<fvMatrix<Type>>
operator/
1143 const tmp<fvMatrix<Type>>&,
1144 const tmp<volScalarField::Internal>&
1147 template<
class Type>
1148 tmp<fvMatrix<Type>>
operator/
1150 const tmp<fvMatrix<Type>>&,
1151 const tmp<volScalarField>&
1155 template<
class Type>
1156 tmp<fvMatrix<Type>>
operator/
1158 const fvMatrix<Type>&,
1159 const dimensioned<scalar>&
1162 template<
class Type>
1163 tmp<fvMatrix<Type>>
operator/
1165 const tmp<fvMatrix<Type>>&,
1166 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.
intWM_LABEL_SIZE_t label
A label is an int32_t or int64_t as specified by the pre-processor macro WM_LABEL_SIZE.
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 > &)
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.
void setValues(const labelUList &cells, const UList< Type > &values)
Set solution in given cells to the specified values.
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 > &)
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 setValuesFromList(const labelUList &cells, const ListType< Type > &values)
Set solution in given cells to the specified values.
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
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