Go to the documentation of this file.
99 *faceFluxCorrectionPtr_;
111 template<
class Type2>
119 template<
class Type2>
128 template<
class Type2>
136 template<
class Type2>
158 const bool couples =
true
165 template<
template<
class>
class ListType>
169 const ListType<Type>&
values
190 solver_(std::move(sol))
264 return internalCoeffs_;
271 return internalCoeffs_;
278 return boundaryCoeffs_;
285 return boundaryCoeffs_;
296 return faceFluxCorrectionPtr_;
331 const bool forceReference =
false
339 const bool forceReference =
false
347 const bool forceReference =
false
425 friend Ostream& operator<< <Type>
438 const faMatrix<Type>&,
439 const faMatrix<Type>&,
446 const faMatrix<Type>&,
447 const GeometricField<Type, faPatchField, areaMesh>&,
454 const faMatrix<Type>&,
455 const dimensioned<Type>&,
463 SolverPerformance<Type>
solve(faMatrix<Type>&, Istream&);
470 SolverPerformance<Type>
solve(
const tmp<faMatrix<Type>>&, Istream&);
476 SolverPerformance<Type>
solve(faMatrix<Type>&);
483 SolverPerformance<Type>
solve(
const tmp<faMatrix<Type>>&);
489 tmp<faMatrix<Type>>
operator-
491 const faMatrix<Type>&
495 tmp<faMatrix<Type>>
operator-
497 const tmp<faMatrix<Type>>&
501 tmp<faMatrix<Type>>
operator+
503 const faMatrix<Type>&,
504 const faMatrix<Type>&
508 tmp<faMatrix<Type>>
operator+
510 const tmp<faMatrix<Type>>&,
511 const faMatrix<Type>&
515 tmp<faMatrix<Type>>
operator+
517 const faMatrix<Type>&,
518 const tmp<faMatrix<Type>>&
522 tmp<faMatrix<Type>>
operator+
524 const tmp<faMatrix<Type>>&,
525 const tmp<faMatrix<Type>>&
529 tmp<faMatrix<Type>>
operator-
531 const faMatrix<Type>&,
532 const faMatrix<Type>&
536 tmp<faMatrix<Type>>
operator-
538 const tmp<faMatrix<Type>>&,
539 const faMatrix<Type>&
543 tmp<faMatrix<Type>>
operator-
545 const faMatrix<Type>&,
546 const tmp<faMatrix<Type>>&
550 tmp<faMatrix<Type>>
operator-
552 const tmp<faMatrix<Type>>&,
553 const tmp<faMatrix<Type>>&
557 tmp<faMatrix<Type>>
operator==
559 const faMatrix<Type>&,
560 const faMatrix<Type>&
564 tmp<faMatrix<Type>>
operator==
566 const tmp<faMatrix<Type>>&,
567 const faMatrix<Type>&
571 tmp<faMatrix<Type>>
operator==
573 const faMatrix<Type>&,
574 const tmp<faMatrix<Type>>&
578 tmp<faMatrix<Type>>
operator==
580 const tmp<faMatrix<Type>>&,
581 const tmp<faMatrix<Type>>&
585 tmp<faMatrix<Type>>
operator+
587 const faMatrix<Type>&,
588 const GeometricField<Type, faPatchField, areaMesh>&
592 tmp<faMatrix<Type>>
operator+
594 const tmp<faMatrix<Type>>&,
595 const GeometricField<Type, faPatchField, areaMesh>&
599 tmp<faMatrix<Type>>
operator+
601 const faMatrix<Type>&,
602 const tmp<GeometricField<Type, faPatchField, areaMesh>>&
606 tmp<faMatrix<Type>>
operator+
608 const tmp<faMatrix<Type>>&,
609 const tmp<GeometricField<Type, faPatchField, areaMesh>>&
613 tmp<faMatrix<Type>>
operator+
615 const GeometricField<Type, faPatchField, areaMesh>&,
616 const faMatrix<Type>&
620 tmp<faMatrix<Type>>
operator+
622 const GeometricField<Type, faPatchField, areaMesh>&,
623 const tmp<faMatrix<Type>>&
627 tmp<faMatrix<Type>>
operator+
629 const tmp<GeometricField<Type, faPatchField, areaMesh>>&,
630 const faMatrix<Type>&
634 tmp<faMatrix<Type>>
operator+
636 const tmp<GeometricField<Type, faPatchField, areaMesh>>&,
637 const tmp<faMatrix<Type>>&
641 tmp<faMatrix<Type>>
operator-
643 const faMatrix<Type>&,
644 const GeometricField<Type, faPatchField, areaMesh>&
648 tmp<faMatrix<Type>>
operator-
650 const tmp<faMatrix<Type>>&,
651 const GeometricField<Type, faPatchField, areaMesh>&
655 tmp<faMatrix<Type>>
operator-
657 const faMatrix<Type>&,
658 const tmp<GeometricField<Type, faPatchField, areaMesh>>&
662 tmp<faMatrix<Type>>
operator-
664 const tmp<faMatrix<Type>>&,
665 const tmp<GeometricField<Type, faPatchField, areaMesh>>&
669 tmp<faMatrix<Type>>
operator-
671 const GeometricField<Type, faPatchField, areaMesh>&,
672 const faMatrix<Type>&
676 tmp<faMatrix<Type>>
operator-
678 const GeometricField<Type, faPatchField, areaMesh>&,
679 const tmp<faMatrix<Type>>&
683 tmp<faMatrix<Type>>
operator-
685 const tmp<GeometricField<Type, faPatchField, areaMesh>>&,
686 const faMatrix<Type>&
690 tmp<faMatrix<Type>>
operator-
692 const tmp<GeometricField<Type, faPatchField, areaMesh>>&,
693 const tmp<faMatrix<Type>>&
697 tmp<faMatrix<Type>>
operator+
699 const faMatrix<Type>&,
700 const dimensioned<Type>&
704 tmp<faMatrix<Type>>
operator+
706 const tmp<faMatrix<Type>>&,
707 const dimensioned<Type>&
711 tmp<faMatrix<Type>>
operator+
713 const dimensioned<Type>&,
714 const faMatrix<Type>&
718 tmp<faMatrix<Type>>
operator+
720 const dimensioned<Type>&,
721 const tmp<faMatrix<Type>>&
725 tmp<faMatrix<Type>>
operator-
727 const faMatrix<Type>&,
728 const dimensioned<Type>&
732 tmp<faMatrix<Type>>
operator-
734 const tmp<faMatrix<Type>>&,
735 const dimensioned<Type>&
739 tmp<faMatrix<Type>>
operator-
741 const dimensioned<Type>&,
742 const faMatrix<Type>&
746 tmp<faMatrix<Type>>
operator-
748 const dimensioned<Type>&,
749 const tmp<faMatrix<Type>>&
753 tmp<faMatrix<Type>>
operator==
755 const faMatrix<Type>&,
756 const GeometricField<Type, faPatchField, areaMesh>&
760 tmp<faMatrix<Type>>
operator==
762 const tmp<faMatrix<Type>>&,
763 const GeometricField<Type, faPatchField, areaMesh>&
767 tmp<faMatrix<Type>>
operator==
769 const faMatrix<Type>&,
770 const tmp<GeometricField<Type, faPatchField, areaMesh>>&
774 tmp<faMatrix<Type>>
operator==
776 const tmp<faMatrix<Type>>&,
777 const tmp<GeometricField<Type, faPatchField, areaMesh>>&
781 tmp<faMatrix<Type>>
operator==
783 const faMatrix<Type>&,
784 const dimensioned<Type>&
788 tmp<faMatrix<Type>>
operator==
790 const tmp<faMatrix<Type>>&,
791 const dimensioned<Type>&
796 tmp<faMatrix<Type>>
operator*
799 const faMatrix<Type>&
803 tmp<faMatrix<Type>>
operator*
806 const tmp<faMatrix<Type>>&
810 tmp<faMatrix<Type>>
operator*
812 const tmp<areaScalarField>&,
813 const faMatrix<Type>&
817 tmp<faMatrix<Type>>
operator*
819 const tmp<areaScalarField>&,
820 const tmp<faMatrix<Type>>&
824 tmp<faMatrix<Type>>
operator*
826 const dimensioned<scalar>&,
827 const faMatrix<Type>&
831 tmp<faMatrix<Type>>
operator*
833 const dimensioned<scalar>&,
834 const tmp<faMatrix<Type>>&
void checkMethod(const faMatrix< Type > &, const faMatrix< Type > &, const char *)
void operator+=(const faMatrix< Type > &)
void addToInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Add patch contribution to internal field.
const dimensionSet & dimensions() const
A special matrix type and solver, designed for finite area solutions of scalar equations....
A field of fields is a PtrList of fields with reference counting.
void setValues(const labelUList &faceLabels, const Type &value)
A class for managing temporary objects.
void operator-=(const faMatrix< Type > &)
Reference counter for various OpenFOAM components.
List< T > values(const HashTable< T, Key, Hash > &tbl, const bool doSort=false)
List of values from HashTable, optionally sorted.
void diag(pointPatchField< vector > &, const pointPatchField< tensor > &)
const dimensionedScalar alpha
Fine-structure constant: default SI units: [].
FieldField< Field, Type > & boundaryCoeffs()
lduMatrix is a general matrix class in which the coefficients are stored as three arrays,...
tmp< GeometricField< Type, faePatchField, edgeMesh > > flux() const
Return the face-flux field from the matrix.
const Field< Type > & source() const
void setComponentReference(const label patchi, const label facei, const direction cmpt, const scalar value)
faMatrix(const GeometricField< Type, faPatchField, areaMesh > &psi, const dimensionSet &ds)
Construct given a field to solve for.
Dimension set for the base types.
void subtractFromInternalField(const labelUList &addr, const Field< Type2 > &pf, Field< Type2 > &intf) const
Subtract patch contribution from internal field.
void setReferences(const labelUList &faceLabels, const Type &value, const bool forceReference=false)
Set reference level for solution.
Ostream & operator<<(Ostream &, const boundaryPatch &p)
Write boundaryPatch as dictionary entries (without surrounding braces)
void addBoundaryDiag(scalarField &diag, const direction cmpt) const
void operator=(const faMatrix< Type > &)
Generic templated field type.
An Istream is an abstract base class for all input systems (streams, files, token lists etc)....
Macro definitions for declaring ClassName(), NamespaceName(), etc.
void setValuesFromList(const labelUList &faceLabels, const ListType< Type > &values)
Set solution in given faces to the specified values.
SolverPerformance< Type > solve()
Solve returning the solution statistics.
SolverPerformance< Type > solve(faMatrix< Type > &, Istream &)
Solve returning the solution statistics given convergence tolerance.
void addBoundarySource(Field< Type > &source, const bool couples=true) const
void relax()
Relax matrix (for steady-state solution).
FieldField< Field, Type > & internalCoeffs()
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
tmp< GeometricField< Type, faPatchField, areaMesh > > H() const
Return the H operation source.
Generic dimensioned Type class.
GeometricField< scalar, faPatchField, areaMesh > areaScalarField
void setReference(const label facei, const Type &value, const bool forceReference=false)
Set reference level for solution.
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
const GeometricField< Type, faPatchField, areaMesh > & psi() const
faSolver(faMatrix< Type > &faMat, autoPtr< lduMatrix::solver > &&sol)
const FieldField< Field, Type > & boundaryCoeffs() const
const FieldField< Field, Type > & internalCoeffs() const
edgeTypeFieldPtr & faceFluxCorrectionPtr()
Return pointer to face-flux non-orthogonal correction field.
void addCmptAvBoundaryDiag(scalarField &diag) const
void operator*=(const areaScalarField &)
GeometricField< Type, faePatchField, edgeMesh > * edgeTypeFieldPtr
Declare return type of the faceFluxCorrectionPtr() function.
virtual ~faMatrix()
Destructor.
A List with indirect addressing.
tmp< scalarField > D() const
Return the matrix diagonal.
tmp< areaScalarField > A() const
Return the central coefficient.
An Ostream is an abstract base class for all output systems (streams, files, token lists,...
tmp< Field< Type > > residual() const
Return the matrix residual.
SolverPerformance< Type > solve()
Solve returning the solution statistics.
tmp< faMatrix< Type > > clone() const
Clone.
Generic GeometricField class.