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_;
266 #ifndef NoConstructFromTmp 274 tmp<fvMatrix<Type>>
clone()
const;
309 return internalCoeffs_;
316 return boundaryCoeffs_;
327 return faceFluxCorrectionPtr_;
354 const bool forceReference =
false 489 const fvMatrix<Type>&,
496 const fvMatrix<Type>&,
503 const tmp<fvMatrix<Type>>&,
510 const tmp<fvMatrix<Type>>&,
517 friend Ostream& operator<< <Type>
520 const fvMatrix<Type>&
530 const fvMatrix<Type>&,
531 const fvMatrix<Type>&,
538 const fvMatrix<Type>&,
546 const fvMatrix<Type>&,
564 const tmp<fvMatrix<Type>>&,
585 tmp<fvMatrix<Type>>
correction(
const fvMatrix<Type>&);
597 tmp<fvMatrix<Type>>
operator==
599 const fvMatrix<Type>&,
600 const fvMatrix<Type>&
604 tmp<fvMatrix<Type>>
operator==
606 const tmp<fvMatrix<Type>>&,
607 const fvMatrix<Type>&
611 tmp<fvMatrix<Type>>
operator==
613 const fvMatrix<Type>&,
614 const tmp<fvMatrix<Type>>&
618 tmp<fvMatrix<Type>>
operator==
620 const tmp<fvMatrix<Type>>&,
621 const tmp<fvMatrix<Type>>&
626 tmp<fvMatrix<Type>>
operator==
628 const fvMatrix<Type>&,
633 tmp<fvMatrix<Type>>
operator==
635 const fvMatrix<Type>&,
640 tmp<fvMatrix<Type>>
operator==
642 const fvMatrix<Type>&,
647 tmp<fvMatrix<Type>>
operator==
649 const tmp<fvMatrix<Type>>&,
654 tmp<fvMatrix<Type>>
operator==
656 const tmp<fvMatrix<Type>>&,
661 tmp<fvMatrix<Type>>
operator==
663 const tmp<fvMatrix<Type>>&,
668 tmp<fvMatrix<Type>>
operator==
670 const fvMatrix<Type>&,
675 tmp<fvMatrix<Type>>
operator==
677 const tmp<fvMatrix<Type>>&,
683 tmp<fvMatrix<Type>>
operator==
685 const fvMatrix<Type>&,
690 tmp<fvMatrix<Type>>
operator==
692 const tmp<fvMatrix<Type>>&,
698 tmp<fvMatrix<Type>>
operator-
700 const fvMatrix<Type>&
704 tmp<fvMatrix<Type>>
operator-
706 const tmp<fvMatrix<Type>>&
711 tmp<fvMatrix<Type>>
operator+
713 const fvMatrix<Type>&,
714 const fvMatrix<Type>&
718 tmp<fvMatrix<Type>>
operator+
720 const tmp<fvMatrix<Type>>&,
721 const fvMatrix<Type>&
725 tmp<fvMatrix<Type>>
operator+
727 const fvMatrix<Type>&,
728 const tmp<fvMatrix<Type>>&
732 tmp<fvMatrix<Type>>
operator+
734 const tmp<fvMatrix<Type>>&,
735 const tmp<fvMatrix<Type>>&
740 tmp<fvMatrix<Type>>
operator+
742 const fvMatrix<Type>&,
747 tmp<fvMatrix<Type>>
operator+
749 const fvMatrix<Type>&,
754 tmp<fvMatrix<Type>>
operator+
756 const fvMatrix<Type>&,
761 tmp<fvMatrix<Type>>
operator+
763 const tmp<fvMatrix<Type>>&,
768 tmp<fvMatrix<Type>>
operator+
770 const tmp<fvMatrix<Type>>&,
775 tmp<fvMatrix<Type>>
operator+
777 const tmp<fvMatrix<Type>>&,
782 tmp<fvMatrix<Type>>
operator+
785 const fvMatrix<Type>&
789 tmp<fvMatrix<Type>>
operator+
792 const fvMatrix<Type>&
796 tmp<fvMatrix<Type>>
operator+
799 const fvMatrix<Type>&
803 tmp<fvMatrix<Type>>
operator+
805 const DimensionedField<Type, volMesh>&,
806 const tmp<fvMatrix<Type>>&
810 tmp<fvMatrix<Type>>
operator+
812 const tmp<DimensionedField<Type, volMesh>>&,
813 const tmp<fvMatrix<Type>>&
817 tmp<fvMatrix<Type>>
operator+
819 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
820 const tmp<fvMatrix<Type>>&
825 tmp<fvMatrix<Type>>
operator+
827 const fvMatrix<Type>&,
832 tmp<fvMatrix<Type>>
operator+
834 const tmp<fvMatrix<Type>>&,
839 tmp<fvMatrix<Type>>
operator+
842 const fvMatrix<Type>&
846 tmp<fvMatrix<Type>>
operator+
848 const dimensioned<Type>&,
849 const tmp<fvMatrix<Type>>&
854 tmp<fvMatrix<Type>>
operator-
856 const fvMatrix<Type>&,
857 const fvMatrix<Type>&
861 tmp<fvMatrix<Type>>
operator-
863 const tmp<fvMatrix<Type>>&,
864 const fvMatrix<Type>&
868 tmp<fvMatrix<Type>>
operator-
870 const fvMatrix<Type>&,
871 const tmp<fvMatrix<Type>>&
875 tmp<fvMatrix<Type>>
operator-
877 const tmp<fvMatrix<Type>>&,
878 const tmp<fvMatrix<Type>>&
883 tmp<fvMatrix<Type>>
operator-
885 const fvMatrix<Type>&,
886 const DimensionedField<Type, volMesh>&
890 tmp<fvMatrix<Type>>
operator-
892 const fvMatrix<Type>&,
893 const tmp<DimensionedField<Type, volMesh>>&
897 tmp<fvMatrix<Type>>
operator-
899 const fvMatrix<Type>&,
900 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
904 tmp<fvMatrix<Type>>
operator-
906 const tmp<fvMatrix<Type>>&,
907 const DimensionedField<Type, volMesh>&
911 tmp<fvMatrix<Type>>
operator-
913 const tmp<fvMatrix<Type>>&,
914 const tmp<DimensionedField<Type, volMesh>>&
918 tmp<fvMatrix<Type>>
operator-
920 const tmp<fvMatrix<Type>>&,
921 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
925 tmp<fvMatrix<Type>>
operator-
927 const DimensionedField<Type, volMesh>&,
928 const fvMatrix<Type>&
932 tmp<fvMatrix<Type>>
operator-
934 const tmp<DimensionedField<Type, volMesh>>&,
935 const fvMatrix<Type>&
939 tmp<fvMatrix<Type>>
operator-
941 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
942 const fvMatrix<Type>&
946 tmp<fvMatrix<Type>>
operator-
948 const DimensionedField<Type, volMesh>&,
949 const tmp<fvMatrix<Type>>&
953 tmp<fvMatrix<Type>>
operator-
955 const tmp<DimensionedField<Type, volMesh>>&,
956 const tmp<fvMatrix<Type>>&
960 tmp<fvMatrix<Type>>
operator-
962 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
963 const tmp<fvMatrix<Type>>&
968 tmp<fvMatrix<Type>>
operator-
970 const fvMatrix<Type>&,
971 const dimensioned<Type>&
975 tmp<fvMatrix<Type>>
operator-
977 const tmp<fvMatrix<Type>>&,
978 const dimensioned<Type>&
982 tmp<fvMatrix<Type>>
operator-
984 const dimensioned<Type>&,
985 const fvMatrix<Type>&
989 tmp<fvMatrix<Type>>
operator-
991 const dimensioned<Type>&,
992 const tmp<fvMatrix<Type>>&
997 tmp<fvMatrix<Type>>
operator*
1000 const fvMatrix<Type>&
1003 template<
class Type>
1004 tmp<fvMatrix<Type>>
operator*
1007 const fvMatrix<Type>&
1010 template<
class Type>
1011 tmp<fvMatrix<Type>>
operator*
1014 const fvMatrix<Type>&
1017 template<
class Type>
1018 tmp<fvMatrix<Type>>
operator*
1020 const volScalarField::Internal&,
1021 const tmp<fvMatrix<Type>>&
1024 template<
class Type>
1025 tmp<fvMatrix<Type>>
operator*
1027 const tmp<volScalarField::Internal>&,
1028 const tmp<fvMatrix<Type>>&
1031 template<
class Type>
1032 tmp<fvMatrix<Type>>
operator*
1034 const tmp<volScalarField>&,
1035 const tmp<fvMatrix<Type>>&
1039 template<
class Type>
1040 tmp<fvMatrix<Type>>
operator*
1043 const fvMatrix<Type>&
1046 template<
class Type>
1047 tmp<fvMatrix<Type>>
operator*
1049 const dimensioned<scalar>&,
1050 const tmp<fvMatrix<Type>>&
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.
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.
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.
Pre-declare SubField and related Field type.
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 &)
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.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
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