51#ifndef radiation_viewFactor_H
52#define radiation_viewFactor_H
87 viewFactor(
const viewFactor&) =
delete;
90 void operator=(
const viewFactor&) =
delete;
193 const label fromProci,
245 virtual label
nBands()
const;
A field of fields is a PtrList of fields with reference counting.
A 1D array of objects of type <T>, where the size of the vector is known and used for subscript bound...
Pointer management similar to std::unique_ptr, with some additional methods and type checking.
A list of keyword definitions, which are a keyword followed by a number of values (eg,...
Calculates a non-overlapping list of offsets based on an input size (eg, number of cells) from differ...
const Switch radiation() const
Radiation model on/off flag.
const volScalarField & T() const noexcept
Return access to the temperature field.
void initialise()
Initialise.
autoPtr< scalarSquareMatrix > Fmatrix_
View factor matrix.
autoPtr< singleCellFvMesh > coarseMesh_
Coarse mesh.
autoPtr< lduMatrix > matrixPtr_
Matrix formed from view factors.
virtual tmp< volScalarField::Internal > Ru() const
Source term component (constant).
TypeName("viewFactor")
Runtime type information.
bool useSolarLoad() const
Use useSolarLoad.
autoPtr< scalarSquareMatrix > CLU_
Inverse of C matrix.
label nLocalCoarseFaces_
Total local coarse faces.
static const word viewFactorWalls
Static name for view factor walls.
label nBands_
Number of bands.
virtual tmp< volScalarField > Rp() const
Source term component (for power of T^4).
autoPtr< solarLoad > solarLoad_
Solar load radiation model.
virtual label nBands() const
Number of bands.
autoPtr< scalarListIOList > FmyProc_
Local view factors.
volScalarField qr_
Net radiative heat flux [W/m2].
autoPtr< IOmapDistribute > map_
Map distributed.
FieldField< Field, scalar > boundaryCoeffs_
Boundary scalar field containing pseudo-matrix coeffs for boundary cells.
labelList procToInterface_
Map from proc to interafce.
const volScalarField & qr() const
Const access to total radiative heat flux field.
List< label > mapRayToFmy_
Map local-ray to j-column for F.
FieldField< Field, scalar > internalCoeffs_
Boundary scalar field containing pseudo-matrix coeffs for internal cells.
labelList pivotIndices_
Pivot Indices for LU decomposition.
bool useDirect_
Use direct or iterative solver.
autoPtr< labelListIOList > globalFaceFaces_
Visible global faces.
labelListIOList finalAgglom_
Agglomeration List.
List< scalarField > qrBandI_
Coarse radiative heat flux.
label totalNCoarseFaces_
Total global coarse faces.
edgeHashSet rays_
Rays on local proc.
bool constEmissivity_
Constant emissivity.
autoPtr< lduPrimitiveMesh > lduPtr_
Primitive addressing for lduMatrix.
labelList selectedPatches_
Selected patches.
bool useSolarLoad_
Use Solar Load model.
void insertMatrixElements(const globalIndex &index, const label fromProci, const labelListList &globalFaceFaces, const scalarListList &viewFactors, scalarSquareMatrix &matrix)
Insert view factors into main matrix.
label iterCounter_
Iterations Counter.
bool read()
Read radiation properties dictionary.
virtual ~viewFactor()=default
Destructor.
void calculate()
Solve system of equation(s).
A class for managing temporary objects.
A class for handling words, derived from Foam::string.
List< scalarList > scalarListList
List of scalarList.
List< labelList > labelListList
List of labelList.
HashSet< edge, Hash< edge > > edgeHashSet
A HashSet with edge for its key. Hashing (and ==) on an edge is symmetric.
List< label > labelList
A List of labels.
GeometricField< scalar, fvPatchField, volMesh > volScalarField
IOList< labelList > labelListIOList
IO for a List of labelList.
SquareMatrix< scalar > scalarSquareMatrix
#define TypeName(TypeNameString)
Declare a ClassName() with extra virtual type info.