|
1 | 1 | { |
2 | 2 | volScalarField& he = thermo.he(); |
3 | | - |
4 | | -#ifdef CPUSolver_ |
5 | | - start1 = std::clock(); |
6 | | - //debug |
7 | | - // { |
8 | | - // const fvPatchScalarField& hew = he.boundaryField()[5]; |
9 | | - // const basicThermo& bThermo = basicThermo::lookupThermo(hew); |
10 | | - // const scalarField& pw = bThermo.p().boundaryField()[5]; |
11 | | - // fvPatchScalarField& Tw = |
12 | | - // const_cast<fvPatchScalarField&>(bThermo.T().boundaryField()[5]); |
13 | | - // scalarField& Tw_v = Tw; |
14 | | - |
15 | | - // Tw.evaluate(); |
16 | | - |
17 | | - // Info << "internal field" <<bThermo.he(pw, Tw, mesh.boundary()[5].faceCells()) << endl; |
18 | | - // Info << "boundary field" <<bThermo.he(pw, Tw, 5) << endl; |
19 | | - // Info << "calculated grad" << mesh.boundary()[5].deltaCoeffs() * (bThermo.he(pw, Tw, 5) - bThermo.he(pw, Tw, mesh.boundary()[5].faceCells())) << endl; |
20 | | - // } |
21 | | - |
22 | | - |
23 | | - fvScalarMatrix EEqn |
24 | | - ( |
25 | | - fvm::ddt(rho, he) + fvm::div(phi, he) |
26 | | - + fvc::ddt(rho, K) + fvc::div(phi, K) |
27 | | - - dpdt |
28 | | - - fvm::laplacian(turbulence->alphaEff(), he) |
29 | | - + diffAlphaD |
30 | | - == |
31 | | - fvc::div(hDiffCorrFlux) |
32 | | - ); |
33 | | - end1 = std::clock(); |
34 | | - time_monitor_EEqn += double(end1 - start1) / double(CLOCKS_PER_SEC); |
35 | | - time_monitor_EEqn_mtxAssembly += double(end1 - start1) / double(CLOCKS_PER_SEC); |
36 | | - |
37 | | - // EEqn.relax(); |
38 | | - start1 = std::clock(); |
39 | | - EEqn.solve(); |
40 | | - end1 = std::clock(); |
41 | | - time_monitor_EEqn += double(end1 - start1) / double(CLOCKS_PER_SEC); |
42 | | - time_monitor_EEqn_solve += double(end1 - start1) / double(CLOCKS_PER_SEC); |
43 | | -#endif |
44 | | - |
45 | 3 | #ifdef GPUSolver_ |
46 | 4 | start1 = std::clock(); |
47 | 5 | UEqn_GPU.updatePsi(&U[0][0]); |
|
51 | 9 | end1 = std::clock(); |
52 | 10 | time_monitor_UEqn += double(end1 - start1) / double(CLOCKS_PER_SEC); |
53 | 11 | time_monitor_UEqn_correctBC += double(end1 - start1) / double(CLOCKS_PER_SEC); |
54 | | -#endif |
55 | 12 |
|
56 | | -#ifdef GPUSolver_ |
57 | 13 | // prepare data on CPU |
58 | 14 | start1 = std::clock(); |
59 | 15 | start2 = std::clock(); |
|
148 | 104 | end1 = std::clock(); |
149 | 105 | time_monitor_EEqn += double(end1 - start1) / double(CLOCKS_PER_SEC); |
150 | 106 | time_monitor_EEqn_correctBC += double(end1 - start1) / double(CLOCKS_PER_SEC); |
| 107 | +#else |
| 108 | + start1 = std::clock(); |
| 109 | + fvScalarMatrix EEqn |
| 110 | + ( |
| 111 | + fvm::ddt(rho, he) + fvm::div(phi, he) |
| 112 | + + fvc::ddt(rho, K) + fvc::div(phi, K) |
| 113 | + - dpdt |
| 114 | + - fvm::laplacian(turbulence->alphaEff(), he) |
| 115 | + + diffAlphaD |
| 116 | + == |
| 117 | + fvc::div(hDiffCorrFlux) |
| 118 | + ); |
| 119 | + end1 = std::clock(); |
| 120 | + time_monitor_EEqn += double(end1 - start1) / double(CLOCKS_PER_SEC); |
| 121 | + time_monitor_EEqn_mtxAssembly += double(end1 - start1) / double(CLOCKS_PER_SEC); |
| 122 | + |
| 123 | + // EEqn.relax(); |
| 124 | + start1 = std::clock(); |
| 125 | + EEqn.solve(); |
| 126 | + end1 = std::clock(); |
| 127 | + time_monitor_EEqn += double(end1 - start1) / double(CLOCKS_PER_SEC); |
| 128 | + time_monitor_EEqn_solve += double(end1 - start1) / double(CLOCKS_PER_SEC); |
151 | 129 | #endif |
152 | 130 | } |
0 commit comments