Go to the documentation of this file.
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>&);
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
266 #ifndef NoConstructFromTmp
351 const bool forceReference =
false
379 GeometricBoundaryField& values
514 friend Ostream& operator<< <Type>
527 const fvMatrix<Type>&,
528 const fvMatrix<Type>&,
535 const fvMatrix<Type>&,
536 const DimensionedField<Type, volMesh>&,
543 const fvMatrix<Type>&,
544 const dimensioned<Type>&,
552 SolverPerformance<Type>
solve(fvMatrix<Type>&,
const dictionary&);
559 SolverPerformance<Type>
solve
561 const tmp<fvMatrix<Type> >&,
569 SolverPerformance<Type>
solve(fvMatrix<Type>&);
576 SolverPerformance<Type>
solve(
const tmp<fvMatrix<Type> >&);
582 tmp<fvMatrix<Type> >
correction(
const fvMatrix<Type>&);
588 tmp<fvMatrix<Type> >
correction(
const tmp<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>&,
626 const DimensionedField<Type, volMesh>&
630 tmp<fvMatrix<Type> >
operator==
632 const fvMatrix<Type>&,
633 const tmp<DimensionedField<Type, volMesh> >&
637 tmp<fvMatrix<Type> >
operator==
639 const fvMatrix<Type>&,
640 const tmp<GeometricField<Type, fvPatchField, volMesh> >&
644 tmp<fvMatrix<Type> >
operator==
646 const tmp<fvMatrix<Type> >&,
647 const DimensionedField<Type, volMesh>&
651 tmp<fvMatrix<Type> >
operator==
653 const tmp<fvMatrix<Type> >&,
654 const tmp<DimensionedField<Type, volMesh> >&
658 tmp<fvMatrix<Type> >
operator==
660 const tmp<fvMatrix<Type> >&,
661 const tmp<GeometricField<Type, fvPatchField, volMesh> >&
665 tmp<fvMatrix<Type> >
operator==
667 const fvMatrix<Type>&,
668 const dimensioned<Type>&
672 tmp<fvMatrix<Type> >
operator==
674 const tmp<fvMatrix<Type> >&,
675 const dimensioned<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>&,
740 const DimensionedField<Type, volMesh>&
744 tmp<fvMatrix<Type> >
operator+
746 const fvMatrix<Type>&,
747 const tmp<DimensionedField<Type, volMesh> >&
751 tmp<fvMatrix<Type> >
operator+
753 const fvMatrix<Type>&,
754 const tmp<GeometricField<Type, fvPatchField, volMesh> >&
758 tmp<fvMatrix<Type> >
operator+
760 const tmp<fvMatrix<Type> >&,
761 const DimensionedField<Type, volMesh>&
765 tmp<fvMatrix<Type> >
operator+
767 const tmp<fvMatrix<Type> >&,
768 const tmp<DimensionedField<Type, volMesh> >&
772 tmp<fvMatrix<Type> >
operator+
774 const tmp<fvMatrix<Type> >&,
775 const tmp<GeometricField<Type, fvPatchField, volMesh> >&
779 tmp<fvMatrix<Type> >
operator+
781 const DimensionedField<Type, volMesh>&,
782 const fvMatrix<Type>&
786 tmp<fvMatrix<Type> >
operator+
788 const tmp<DimensionedField<Type, volMesh> >&,
789 const fvMatrix<Type>&
793 tmp<fvMatrix<Type> >
operator+
795 const tmp<GeometricField<Type, fvPatchField, volMesh> >&,
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>&,
825 const dimensioned<Type>&
829 tmp<fvMatrix<Type> >
operator+
831 const tmp<fvMatrix<Type> >&,
832 const dimensioned<Type>&
836 tmp<fvMatrix<Type> >
operator+
838 const dimensioned<Type>&,
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*
996 const DimensionedField<scalar, volMesh>&,
997 const fvMatrix<Type>&
1000 template<
class Type>
1001 tmp<fvMatrix<Type> >
operator*
1003 const tmp<DimensionedField<scalar, volMesh> >&,
1004 const fvMatrix<Type>&
1007 template<
class Type>
1008 tmp<fvMatrix<Type> >
operator*
1010 const tmp<volScalarField>&,
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*
1039 const dimensioned<scalar>&,
1040 const fvMatrix<Type>&
1043 template<
class Type>
1044 tmp<fvMatrix<Type> >
operator*
1046 const dimensioned<scalar>&,
1047 const tmp<fvMatrix<Type> >&
tmp< Field< Type > > residual() const
Return the matrix residual.
SolverPerformance< Type > solve()
Solve returning the solution statistics.
tmp< GeometricField< Type, fvPatchField, volMesh > > H() const
Return the H operation source.
void addBoundarySource(Field< Type > &source, const bool couples=true) const
dimensionSet dimensions_
Dimension set.
void addCmptAvBoundaryDiag(scalarField &diag) const
void checkMethod(const fvMatrix< Type > &, const fvMatrix< Type > &, const char *)
A class for managing temporary objects.
Reference counter for various OpenFOAM components.
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
tmp< scalarField > D() const
Return the matrix scalar diagonal.
void subtractFromInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Subtract patch contribution from internal field.
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
void operator=(const fvMatrix< Type > &)
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
SolverPerformance< Type > solve()
Solve returning the solution statistics.
const dimensionSet & dimensions() const
void relax()
Relax matrix (for steady-state solution).
friend class fvSolver
Declare friendship with the fvSolver class.
FieldField< Field, Type > & internalCoeffs()
fvBoundary scalar field containing pseudo-matrix coeffs
tmp< fvMatrix< Type > > correction(const fvMatrix< Type > &)
Return the correction form of the given matrix.
void addBoundaryDiag(scalarField &diag, const direction cmpt) const
void setReference(const label celli, const Type &value, const bool forceReference=false)
Set reference level for solution.
Dimension set for the base types.
fvMatrix< Type > & fvMat_
const GeometricField< Type, fvPatchField, volMesh > & psi() const
GeometricField< Type, fvsPatchField, surfaceMesh > * faceFluxCorrectionPtr_
Face flux field for non-orthogonal correction.
surfaceTypeFieldPtr & faceFluxCorrectionPtr()
Return pointer to face-flux non-orthogonal correction field.
autoPtr< lduMatrix::solver > solver_
void setValues(const labelUList &cells, const UList< Type > &values)
Set solution in given cells to the specified values.
SolverPerformance< Type > solveCoupled(const dictionary &)
Solve coupled returning the solution statistics.
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 operator-=(const fvMatrix< Type > &)
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
FieldField< Field, Type > internalCoeffs_
Boundary scalar field containing pseudo-matrix coeffs.
tmp< volScalarField > H1() const
Return H(1)
Macro definitions for declaring ClassName(), NamespaceName(), etc.
virtual ~fvMatrix()
Destructor.
Ostream & operator<<(Ostream &, const edgeMesh &)
void boundaryManipulate(typename GeometricField< Type, fvPatchField, volMesh >::GeometricBoundaryField &values)
Manipulate based on a boundary field.
FieldField< Field, Type > boundaryCoeffs_
Boundary scalar field containing pseudo-matrix coeffs.
A list of keyword definitions, which are a keyword followed by any number of values (e....
A scalar instance of fvMatrix.
const GeometricField< Type, fvPatchField, volMesh > & psi_
Const reference to GeometricField<Type, fvPatchField, volMesh>
tmp< Field< Type > > DD() const
Return the matrix Type diagonal.
tmp< volScalarField > A() const
Return the central coefficient.
GeometricField< Type, fvsPatchField, surfaceMesh > * surfaceTypeFieldPtr
Declare return type of the faceFluxCorrectionPtr() function.
fvSolver(fvMatrix< Type > &fvMat, autoPtr< lduMatrix::solver > sol)
autoPtr< fvSolver > solver()
Construct and return the solver.
FieldField< Field, Type > & boundaryCoeffs()
fvBoundary scalar field containing pseudo-matrix coeffs
An auto-pointer similar to the STL auto_ptr but with automatic casting to a reference to the type and...
SolverPerformance< Type > solve(fvMatrix< Type > &, const dictionary &)
Solve returning the solution statistics given convergence tolerance.
void setValuesFromList(const labelUList &cells, const ListType< Type > &values)
Set solution in given cells to the specified values.
const Field< Type > & source() const
void operator+=(const fvMatrix< Type > &)
void operator*=(const DimensionedField< scalar, volMesh > &)
A 1D vector of objects of type <T>, where the size of the vector is known and can be used for subscri...
A special matrix type and solver, designed for finite volume solutions of scalar equations....
Solver class returned by the solver function.
A List with indirect addressing.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
SolverPerformance< Type > solveSegregated(const dictionary &)
Solve segregated returning the solution statistics.
Generic GeometricField class.
void addToInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Add patch contribution to internal field.
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.
fvMatrix(const GeometricField< Type, fvPatchField, volMesh > &, const dimensionSet &)
Construct given a field to solve for.
Field with dimensions and associated with geometry type GeoMesh which is used to size the field and a...
Field< Type > source_
Source term.
A class representing the concept of 0 used to avoid unnecessary manipulations for objects that are kn...