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 306 return internalCoeffs_;
313 return boundaryCoeffs_;
324 return faceFluxCorrectionPtr_;
351 const bool forceReference =
false 486 const fvMatrix<Type>&,
493 const fvMatrix<Type>&,
500 const tmp<fvMatrix<Type>>&,
507 const tmp<fvMatrix<Type>>&,
514 friend Ostream& operator<< <Type>
517 const fvMatrix<Type>&
527 const fvMatrix<Type>&,
528 const fvMatrix<Type>&,
535 const fvMatrix<Type>&,
543 const fvMatrix<Type>&,
561 const tmp<fvMatrix<Type>>&,
582 tmp<fvMatrix<Type>>
correction(
const fvMatrix<Type>&);
594 tmp<fvMatrix<Type>>
operator==
596 const fvMatrix<Type>&,
597 const fvMatrix<Type>&
601 tmp<fvMatrix<Type>>
operator==
603 const tmp<fvMatrix<Type>>&,
604 const fvMatrix<Type>&
608 tmp<fvMatrix<Type>>
operator==
610 const fvMatrix<Type>&,
611 const tmp<fvMatrix<Type>>&
615 tmp<fvMatrix<Type>>
operator==
617 const tmp<fvMatrix<Type>>&,
618 const tmp<fvMatrix<Type>>&
623 tmp<fvMatrix<Type>>
operator==
625 const fvMatrix<Type>&,
630 tmp<fvMatrix<Type>>
operator==
632 const fvMatrix<Type>&,
637 tmp<fvMatrix<Type>>
operator==
639 const fvMatrix<Type>&,
644 tmp<fvMatrix<Type>>
operator==
646 const tmp<fvMatrix<Type>>&,
651 tmp<fvMatrix<Type>>
operator==
653 const tmp<fvMatrix<Type>>&,
658 tmp<fvMatrix<Type>>
operator==
660 const tmp<fvMatrix<Type>>&,
665 tmp<fvMatrix<Type>>
operator==
667 const fvMatrix<Type>&,
672 tmp<fvMatrix<Type>>
operator==
674 const tmp<fvMatrix<Type>>&,
680 tmp<fvMatrix<Type>>
operator==
682 const fvMatrix<Type>&,
687 tmp<fvMatrix<Type>>
operator==
689 const tmp<fvMatrix<Type>>&,
695 tmp<fvMatrix<Type>>
operator-
697 const fvMatrix<Type>&
701 tmp<fvMatrix<Type>>
operator-
703 const tmp<fvMatrix<Type>>&
708 tmp<fvMatrix<Type>>
operator+
710 const fvMatrix<Type>&,
711 const fvMatrix<Type>&
715 tmp<fvMatrix<Type>>
operator+
717 const tmp<fvMatrix<Type>>&,
718 const fvMatrix<Type>&
722 tmp<fvMatrix<Type>>
operator+
724 const fvMatrix<Type>&,
725 const tmp<fvMatrix<Type>>&
729 tmp<fvMatrix<Type>>
operator+
731 const tmp<fvMatrix<Type>>&,
732 const tmp<fvMatrix<Type>>&
737 tmp<fvMatrix<Type>>
operator+
739 const fvMatrix<Type>&,
744 tmp<fvMatrix<Type>>
operator+
746 const fvMatrix<Type>&,
751 tmp<fvMatrix<Type>>
operator+
753 const fvMatrix<Type>&,
758 tmp<fvMatrix<Type>>
operator+
760 const tmp<fvMatrix<Type>>&,
765 tmp<fvMatrix<Type>>
operator+
767 const tmp<fvMatrix<Type>>&,
772 tmp<fvMatrix<Type>>
operator+
774 const tmp<fvMatrix<Type>>&,
779 tmp<fvMatrix<Type>>
operator+
782 const fvMatrix<Type>&
786 tmp<fvMatrix<Type>>
operator+
789 const fvMatrix<Type>&
793 tmp<fvMatrix<Type>>
operator+
796 const fvMatrix<Type>&
800 tmp<fvMatrix<Type>>
operator+
802 const DimensionedField<Type, volMesh>&,
803 const tmp<fvMatrix<Type>>&
807 tmp<fvMatrix<Type>>
operator+
809 const tmp<DimensionedField<Type, volMesh>>&,
810 const tmp<fvMatrix<Type>>&
814 tmp<fvMatrix<Type>>
operator+
816 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
817 const tmp<fvMatrix<Type>>&
822 tmp<fvMatrix<Type>>
operator+
824 const fvMatrix<Type>&,
829 tmp<fvMatrix<Type>>
operator+
831 const tmp<fvMatrix<Type>>&,
836 tmp<fvMatrix<Type>>
operator+
839 const fvMatrix<Type>&
843 tmp<fvMatrix<Type>>
operator+
845 const dimensioned<Type>&,
846 const tmp<fvMatrix<Type>>&
851 tmp<fvMatrix<Type>>
operator-
853 const fvMatrix<Type>&,
854 const fvMatrix<Type>&
858 tmp<fvMatrix<Type>>
operator-
860 const tmp<fvMatrix<Type>>&,
861 const fvMatrix<Type>&
865 tmp<fvMatrix<Type>>
operator-
867 const fvMatrix<Type>&,
868 const tmp<fvMatrix<Type>>&
872 tmp<fvMatrix<Type>>
operator-
874 const tmp<fvMatrix<Type>>&,
875 const tmp<fvMatrix<Type>>&
880 tmp<fvMatrix<Type>>
operator-
882 const fvMatrix<Type>&,
883 const DimensionedField<Type, volMesh>&
887 tmp<fvMatrix<Type>>
operator-
889 const fvMatrix<Type>&,
890 const tmp<DimensionedField<Type, volMesh>>&
894 tmp<fvMatrix<Type>>
operator-
896 const fvMatrix<Type>&,
897 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
901 tmp<fvMatrix<Type>>
operator-
903 const tmp<fvMatrix<Type>>&,
904 const DimensionedField<Type, volMesh>&
908 tmp<fvMatrix<Type>>
operator-
910 const tmp<fvMatrix<Type>>&,
911 const tmp<DimensionedField<Type, volMesh>>&
915 tmp<fvMatrix<Type>>
operator-
917 const tmp<fvMatrix<Type>>&,
918 const tmp<GeometricField<Type, fvPatchField, volMesh>>&
922 tmp<fvMatrix<Type>>
operator-
924 const DimensionedField<Type, volMesh>&,
925 const fvMatrix<Type>&
929 tmp<fvMatrix<Type>>
operator-
931 const tmp<DimensionedField<Type, volMesh>>&,
932 const fvMatrix<Type>&
936 tmp<fvMatrix<Type>>
operator-
938 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
939 const fvMatrix<Type>&
943 tmp<fvMatrix<Type>>
operator-
945 const DimensionedField<Type, volMesh>&,
946 const tmp<fvMatrix<Type>>&
950 tmp<fvMatrix<Type>>
operator-
952 const tmp<DimensionedField<Type, volMesh>>&,
953 const tmp<fvMatrix<Type>>&
957 tmp<fvMatrix<Type>>
operator-
959 const tmp<GeometricField<Type, fvPatchField, volMesh>>&,
960 const tmp<fvMatrix<Type>>&
965 tmp<fvMatrix<Type>>
operator-
967 const fvMatrix<Type>&,
968 const dimensioned<Type>&
972 tmp<fvMatrix<Type>>
operator-
974 const tmp<fvMatrix<Type>>&,
975 const dimensioned<Type>&
979 tmp<fvMatrix<Type>>
operator-
981 const dimensioned<Type>&,
982 const fvMatrix<Type>&
986 tmp<fvMatrix<Type>>
operator-
988 const dimensioned<Type>&,
989 const tmp<fvMatrix<Type>>&
994 tmp<fvMatrix<Type>>
operator*
997 const fvMatrix<Type>&
1000 template<
class Type>
1001 tmp<fvMatrix<Type>>
operator*
1004 const fvMatrix<Type>&
1007 template<
class Type>
1008 tmp<fvMatrix<Type>>
operator*
1011 const fvMatrix<Type>&
1014 template<
class Type>
1015 tmp<fvMatrix<Type>>
operator*
1017 const DimensionedField<scalar, volMesh>&,
1018 const tmp<fvMatrix<Type>>&
1021 template<
class Type>
1022 tmp<fvMatrix<Type>>
operator*
1024 const tmp<DimensionedField<scalar, volMesh>>&,
1025 const tmp<fvMatrix<Type>>&
1028 template<
class Type>
1029 tmp<fvMatrix<Type>>
operator*
1031 const tmp<volScalarField>&,
1032 const tmp<fvMatrix<Type>>&
1036 template<
class Type>
1037 tmp<fvMatrix<Type>>
operator*
1040 const fvMatrix<Type>&
1043 template<
class Type>
1044 tmp<fvMatrix<Type>>
operator*
1046 const dimensioned<scalar>&,
1047 const tmp<fvMatrix<Type>>&
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.
Reference counter for various OpenFOAM components.
void relax()
Relax matrix (for steady-state solution).
const GeometricField< Type, fvPatchField, volMesh > & psi() const
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
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, fvsPatchField, surfaceMesh > > flux() const
Return the face-flux field from the matrix.
void addToInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Add patch contribution to internal field.
void operator-=(const fvMatrix< Type > &)
void addCmptAvBoundaryDiag(scalarField &diag) const
Solver class returned by the solver function.
Generic GeometricField class.
Generic dimensioned Type class.
tmp< scalarField > D() const
Return the matrix scalar diagonal.
void operator=(const fvMatrix< Type > &)
void addBoundaryDiag(scalarField &diag, const direction cmpt) const
SolverPerformance< Type > solveCoupled(const dictionary &)
Solve coupled returning the solution statistics.
tmp< volScalarField > H1() const
Return H(1)
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.
const dimensionSet & dimensions() const
SolverPerformance< Type > solve()
Solve returning the solution statistics.
tmp< Field< Type > > residual() const
Return the matrix residual.
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.
void addBoundarySource(Field< Type > &source, const bool couples=true) const
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.
tmp< volScalarField > A() const
Return the central coefficient.
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
An Ostream is an abstract base class for all output systems (streams, files, token lists...
tmp< Field< Type > > DD() const
Return the matrix Type diagonal.
void operator*=(const DimensionedField< scalar, volMesh > &)
void subtractFromInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Subtract patch contribution from internal field.
void operator+=(const fvMatrix< Type > &)
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.
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...
tmp< GeometricField< Type, fvPatchField, volMesh > > H() const
Return the H operation source.
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.
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: [].
fvMatrix(const GeometricField< Type, fvPatchField, volMesh > &, const dimensionSet &)
Construct given a field to solve for.