Loading...
Searching...
No Matches
directBC.H
Go to the documentation of this file.
1fvMesh& mesh = _mesh();
2volScalarField& T(_T());
3// Setting BC at the cold side
4coldSide_ind = mesh.boundaryMesh().findPatchID("coldSide");
5label coldSideSize = T.boundaryField()[coldSide_ind].size();
6Tf.resize(coldSideSize);
7refGrad.resize(coldSideSize);
8valueFraction.resize(coldSideSize);
9forAll(Tf, faceI)
10{
11 scalar faceZ =
12 mesh.boundaryMesh()[coldSide_ind].faceCentres()[faceI].z();
13 scalar faceY =
14 mesh.boundaryMesh()[coldSide_ind].faceCentres()[faceI].y();
15 scalar faceX =
16 mesh.boundaryMesh()[coldSide_ind].faceCentres()[faceI].x();
17 Tf[faceI] = k / H * (b * faceX + c) + a * faceX * faceX +
18 b * faceX * faceY + c * faceY - a * faceZ * faceZ + c;
19}
20
21// Setting BC at gammaEx1
22gammaEx1_ind = mesh.boundaryMesh().findPatchID("gammaEx1");
23label gammaEx1Size = T.boundaryField()[gammaEx1_ind].size();
24heatFlux_gammaEx1.resize(gammaEx1Size);
25forAll(heatFlux_gammaEx1, faceI)
26{
27 scalar faceZ =
28 mesh.boundaryMesh()[gammaEx1_ind].faceCentres()[faceI].z();
29 heatFlux_gammaEx1[faceI] = k * 2 * a * faceZ;
30}
31
32// Setting BC at gammaEx2
33gammaEx2_ind = mesh.boundaryMesh().findPatchID("gammaEx2");
34label gammaEx2Size = T.boundaryField()[gammaEx2_ind].size();
35heatFlux_gammaEx2.resize(gammaEx2Size);
36forAll(heatFlux_gammaEx2, faceI)
37{
38 scalar faceX =
39 mesh.boundaryMesh()[gammaEx2_ind].faceCentres()[faceI].x();
40 scalar faceY =
41 mesh.boundaryMesh()[gammaEx2_ind].faceCentres()[faceI].y();
42 heatFlux_gammaEx2[faceI] = - k * (2 * a * faceX + b * faceY);
43}
44
45// Setting BC at gammaEx3
46gammaEx3_ind = mesh.boundaryMesh().findPatchID("gammaEx3");
47label gammaEx3Size = T.boundaryField()[gammaEx3_ind].size();
48heatFlux_gammaEx3.resize(gammaEx3Size);
49forAll(heatFlux_gammaEx3, faceI)
50{
51 heatFlux_gammaEx3[faceI] = 0;
52}
53
54// Setting BC at gammaEx4
55gammaEx4_ind = mesh.boundaryMesh().findPatchID("gammaEx4");
56label gammaEx4Size = T.boundaryField()[gammaEx4_ind].size();
57heatFlux_gammaEx4.resize(gammaEx4Size);
58forAll(heatFlux_gammaEx4, faceI)
59{
60 scalar faceY =
61 mesh.boundaryMesh()[gammaEx4_ind].faceCentres()[faceI].y();
62 heatFlux_gammaEx4[faceI] = k * (b * faceY);
63}
64
66forAll(mesh.boundaryMesh(), patchI)
67{
68 if (patchI == mesh.boundaryMesh().findPatchID("coldSide"))
69 {
70 ITHACAutilities::assignMixedBC(T, patchI, Tf, refGrad, valueFraction);
71 }
72
73 if (patchI == mesh.boundaryMesh().findPatchID("hotSide"))
74 {
75 ITHACAutilities::assignBC(T, patchI, - g / k);
76 }
77
78 if (patchI == mesh.boundaryMesh().findPatchID("gammaEx1"))
79 {
80 ITHACAutilities::assignBC(T, patchI, -heatFlux_gammaEx1 / k);
81 }
82
83 if (patchI == mesh.boundaryMesh().findPatchID("gammaEx2"))
84 {
85 ITHACAutilities::assignBC(T, patchI, -heatFlux_gammaEx2 / k);
86 }
87
88 if (patchI == mesh.boundaryMesh().findPatchID("gammaEx3"))
89 {
90 ITHACAutilities::assignBC(T, patchI, -heatFlux_gammaEx3 / k);
91 }
92
93 if (patchI == mesh.boundaryMesh().findPatchID("gammaEx4"))
94 {
95 ITHACAutilities::assignBC(T, patchI, -heatFlux_gammaEx4 / k);
96 }
97}
98
Foam::fvMesh & mesh
Definition createMesh.H:47
_T
Definition createT.H:30
volScalarField & T
Definition createT.H:46
label gammaEx4Size
Definition directBC.H:56
gammaEx3_ind
Definition directBC.H:46
forAll(Tf, faceI)
Definition directBC.H:9
gammaEx4_ind
Definition directBC.H:55
gammaEx1_ind
Definition directBC.H:22
label gammaEx1Size
Definition directBC.H:23
coldSide_ind
Definition directBC.H:4
label coldSideSize
Definition directBC.H:5
set_valueFraction()
label gammaEx3Size
Definition directBC.H:47
label gammaEx2Size
Definition directBC.H:34
gammaEx2_ind
Definition directBC.H:33
void assignMixedBC(GeometricField< Type, fvPatchField, volMesh > &field, label BC_ind, List< Type > &value, List< Type > &grad, List< scalar > &valueFrac)
Assign value of a boundary condition of type "mixed".
void assignBC(GeometricField< scalar, fvPatchField, volMesh > &s, label BC_ind, double value)
Assign uniform Boundary Condition to a volScalarField.
dimensionedVector & g