Subject | Hash | Author | Date (UTC) |
---|---|---|---|
temporary fix for buoyancy coalescence kernel | d0e321233fe4d6aff922bb7f6aaae40a1e7be589 | Anurag Misra | 2017-10-12 20:50:59 |
coalescence kernel added as duplicate of aggregation kernel | 1bfcdde0095170abed22b5a75a0f295b19fd91d0 | Anurag Misra | 2017-10-12 19:19:04 |
updated QBMM files, reinstated original structure | 584a378d9d1104b32ffc16adec74e995d2785550 | Anurag Misra | 2017-10-12 10:31:02 |
added parametric variables to blockMeshDict | 9a4839ae23d9ce70ebdbafe1be020936fb902be3 | Anurag Misra | 2017-10-10 15:43:01 |
improved mesh quality for batchSettlerFine | 125ba5be0c6601f437aaea6056dc2fce2b767b8d | Anurag Misra | 2017-10-09 21:08:43 |
updated k, epsilon boundary conditions, changed fvSchemes, fvSolution for k, epsilon | b799f7ebe1a0e491ab3b3fac6773d93190b7147c | Anurag Misra | 2017-10-08 19:09:26 |
changed univariatePopulationBalance, aggregationKernels, added buoyancyInduced | 0db0242f77906ce026a092d4181508733297c3b5 | Anurag Misra | 2017-10-08 18:25:53 |
updated mesh and blockMeshDict | 177b7f68bbc87eb74d0a1aa1d21961a97b3f2807 | Anurag Misra | 2017-10-07 07:37:53 |
fixed k and epsilon Fields | d78e589bb16014597d96ada34aa64f92cb348060 | Anurag Misra | 2017-10-06 14:22:42 |
added batchSettler case with finer mesh | 41649680cea640a7e67bacd17206539be66a7657 | Anurag Misra | 2017-10-06 13:41:37 |
added make options/files for coalescence kernel | 4aa3e56651527ac872b7453d4177f95fe487673b | Anurag Misra | 2017-10-05 16:06:10 |
coalescence kernel added | f68086b1859b7983fa040bcbe6a6076fd5adccc5 | Anurag Misra | 2017-10-05 15:29:50 |
changed cases to laminar, removed nonOrthogonalCorrectors from square case | cea9f92ca323eca826f364b303069a91be818f7d | Anurag Misra | 2017-10-04 15:40:29 |
fixed case setup parameters related to populationBalance | c7d78aa76be2b9251c1aebd5e34e2f475aa906c3 | Anurag Misra | 2017-10-04 15:32:55 |
minor modifications in boundary conditions | 290fa6a15aeddfd7994339f2ebcd2512b2b1d2be | Anurag Misra | 2017-10-04 12:33:40 |
added k, epsilon fields | e5e1714b85294d8f5bb9ad03e4bc6a20513933b6 | Stefan Hoerner | 2017-10-04 12:25:47 |
minor changes to fvSolution | 2fd45fa8d04cb5968668fd183972f70a03891381 | Anurag Misra | 2017-10-04 12:15:23 |
fixed boundary conditions, included turbulence properties | fc2883d6e954dd564b4a834357f8f34c5e8625fc | Anurag Misra | 2017-10-04 11:52:45 |
fixed viscosity and aggregation kernel values | 4b6295b3a4b44b980ffd322d3d8b8352e0d75464 | Anurag Misra | 2017-10-04 09:49:01 |
added square settler test case with k-epsilon turbulence | 937cfc7ef9b393b7beb744478729cf18704f2c44 | Anurag Misra | 2017-10-03 16:06:44 |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/Make/files changed (mode: 100644) (index cdae8d3..7a1ec1e) | |||
... | ... | populationBalanceSubModels/aggregationKernels/turbulentBrownian/turbulentBrownia | |
21 | 21 | ||
22 | 22 | populationBalanceSubModels/coalescenceKernels/coalescenceKernel/coalescenceKernel.C | populationBalanceSubModels/coalescenceKernels/coalescenceKernel/coalescenceKernel.C |
23 | 23 | populationBalanceSubModels/coalescenceKernels/coalescenceKernel/newCoalescenceKernel.C | populationBalanceSubModels/coalescenceKernels/coalescenceKernel/newCoalescenceKernel.C |
24 | populationBalanceSubModels/coalescenceKernels/buoyancyInduced/buoyancyInduced.C | ||
24 | 25 | ||
25 | 26 | populationBalanceSubModels/breakupKernels/breakupKernel/breakupKernel.C | populationBalanceSubModels/breakupKernels/breakupKernel/breakupKernel.C |
26 | 27 | populationBalanceSubModels/breakupKernels/breakupKernel/newBreakupKernel.C | populationBalanceSubModels/breakupKernels/breakupKernel/newBreakupKernel.C |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/buoyancyInduced/buoyancyInduced.C changed (mode: 100644) (index f43bed1..5de7870) | |||
... | ... | Foam::populationBalanceSubModels::coalescenceKernels::buoyancyInduced | |
52 | 52 | ::buoyancyInduced | ::buoyancyInduced |
53 | 53 | ( | ( |
54 | 54 | const dictionary& dict, | const dictionary& dict, |
55 | const phaseModel& phase | ||
55 | const fvMesh& mesh | ||
56 | 56 | ) | ) |
57 | 57 | : | : |
58 | coalescenceKernel(dict, phase) | ||
58 | coalescenceKernel(dict, mesh), | ||
59 | Ucrit_(dict.lookup("Ucrit")) | ||
59 | 60 | {} | {} |
60 | 61 | ||
61 | 62 | ||
... | ... | Foam::populationBalanceSubModels::coalescenceKernels::buoyancyInduced::Ka | |
76 | 77 | ) const | ) const |
77 | 78 | { | { |
78 | 79 | ||
79 | // Info << "Printing objectRegistry Names abscissa1.mesh(): " << abscissa1.mesh().objectRegistry::names() << endl; | ||
80 | /* | ||
81 | if (!abscissa1.mesh().foundObject<fluidThermo>(basicThermo::dictName)) | ||
82 | { | ||
83 | FatalErrorInFunction | ||
84 | << "No valid thermophysical model found." | ||
85 | << abort(FatalError); | ||
86 | } | ||
87 | */ | ||
88 | /* | ||
89 | const fluidThermo& flThermo = | ||
90 | abscissa1.mesh().lookupObject<fluidThermo>(basicThermo::dictName); | ||
91 | |||
92 | typedef compressible::turbulenceModel cmpTurbModel; | ||
93 | |||
94 | if | ||
95 | ( | ||
96 | !abscissa1.mesh().foundObject<cmpTurbModel> | ||
97 | ( | ||
98 | cmpTurbModel::propertiesName | ||
99 | ) | ||
100 | ) | ||
101 | { | ||
102 | FatalErrorInFunction | ||
103 | << "No valid compressible turbulence model found." | ||
104 | << abort(FatalError); | ||
105 | } | ||
106 | |||
107 | const compressible::turbulenceModel& flTurb = | ||
108 | abscissa1.mesh().lookupObject<compressible::turbulenceModel> | ||
109 | ( | ||
110 | turbulenceModel::propertiesName | ||
111 | ); | ||
112 | */ | ||
113 | dimensionedScalar smallAbs("smallAbs", sqr(abscissa1.dimensions()), SMALL); | ||
80 | //Info << "Printing objectRegistry Names abscissa1.mesh(): " << abscissa1.mesh().objectRegistry::names() << endl; | ||
114 | 81 | ||
115 | /* return | ||
116 | 2.0*Foam::constant::physicoChemical::k*flThermo.T() | ||
117 | *sqr(abscissa1 + abscissa2)/(3.0*flThermo.mu() | ||
118 | *max(abscissa1*abscissa2, smallAbs)) | ||
119 | + 4.0/3.0*pow3(abscissa1 + abscissa2) | ||
120 | *sqrt(3.0*Foam::constant::mathematical::pi*flTurb.epsilon() | ||
121 | /(10.0*flTurb.nu())); | ||
122 | |||
82 | //Info << "Printing objectRegistry Names mesh(): " << mesh_.objectRegistry::names() << endl; | ||
83 | //Info << "Printing dictionary transportProperties: " << mesh_.lookupObject<IOdictionary>("transportProperties") << endl; | ||
84 | //Info << "Printing volVectorField U: " << mesh_.lookupObject<volVectorField>("U") << endl; | ||
123 | 85 | ||
124 | |||
86 | dimensionedScalar smallAbs("smallAbs", sqr(abscissa1.dimensions()), SMALL); | ||
87 | |||
88 | //- Read velocity of the associated phase | ||
125 | 89 | volScalarField Udisp_ | volScalarField Udisp_ |
126 | 90 | ( | ( |
127 | 91 | mag | mag |
128 | 92 | ( | ( |
129 | mesh().lookupObject<volVectorField>(IOobject::groupName("U", phase_.name())) | ||
93 | mesh_.lookupObject<volVectorField>("U") | ||
130 | 94 | ) | ) |
131 | 95 | ||
132 | 96 | ); | ); |
133 | 97 | ||
134 | word continuous_phase = "organic"; | ||
135 | |||
98 | //- Read velocity of the continuous phase | ||
99 | word Ucontinuous_ = "U.organic"; | ||
136 | 100 | volScalarField Ucont_ | volScalarField Ucont_ |
137 | 101 | ( | ( |
138 | 102 | mag | mag |
139 | 103 | ( | ( |
140 | U().mesh().lookupObject<volVectorField>(IOobject::groupName("U", continuous_phase)) | ||
104 | mesh_.lookupObject<volVectorField>(Ucontinuous_) | ||
141 | 105 | ) | ) |
142 | 106 | ||
143 | 107 | ); | ); |
144 | 108 | ||
109 | //- Evaluate relative velocity | ||
145 | 110 | volScalarField Urelative_(mag(Udisp_-Ucont_)); | volScalarField Urelative_(mag(Udisp_-Ucont_)); |
146 | */ | ||
147 | 111 | ||
148 | tmp<volScalarField> aggK | ||
149 | = Ca_*sqr(abscissa1 + abscissa2)*mag(sqr(abscissa1) - sqr(abscissa2)); | ||
112 | // Moved Ucrit to populationBalancedictionary | ||
113 | //dimensionedScalar Ucrit_("Ucrit_", dimensionSet(0,1,-1,0,0,0,0), 0.001); | ||
114 | |||
115 | //- Evaluate efficiency term | ||
116 | volScalarField lambda_(Foam::exp(-(Urelative_/Ucrit_))); | ||
117 | |||
118 | tmp<volScalarField> coalescenceK | ||
119 | = Ck_*sqr(abscissa1 + abscissa2)*Urelative_*lambda_; | ||
150 | 120 | ||
151 | aggK.ref().dimensions().reset(pow3(abscissa1.dimensions())/dimTime); | ||
121 | coalescenceK.ref().dimensions().reset(pow3(abscissa1.dimensions())/dimTime); | ||
152 | 122 | ||
153 | return aggK; | ||
123 | return coalescenceK; | ||
154 | 124 | } | } |
155 | 125 | ||
156 | 126 | // ************************************************************************* // | // ************************************************************************* // |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/buoyancyInduced/buoyancyInduced.H changed (mode: 100644) (index af53bd7..a365a9d) | |||
... | ... | class buoyancyInduced | |
68 | 68 | : | : |
69 | 69 | public coalescenceKernel | public coalescenceKernel |
70 | 70 | { | { |
71 | private: | ||
72 | |||
73 | // Private data | ||
74 | |||
75 | //- Critical velocity | ||
76 | dimensionedScalar Ucrit_; | ||
77 | |||
78 | |||
71 | 79 | public: | public: |
72 | 80 | ||
73 | 81 | //- Runtime type information | //- Runtime type information |
... | ... | public: | |
80 | 88 | buoyancyInduced | buoyancyInduced |
81 | 89 | ( | ( |
82 | 90 | const dictionary& dict, | const dictionary& dict, |
83 | const phaseModel& phase | ||
91 | const fvMesh& mesh | ||
84 | 92 | ); | ); |
85 | 93 | ||
86 | 94 |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/coalescenceKernel/coalescenceKernel.C changed (mode: 100644) (index 7fb2fb9..510828a) | |||
... | ... | namespace populationBalanceSubModels | |
43 | 43 | Foam::populationBalanceSubModels::coalescenceKernel::coalescenceKernel | Foam::populationBalanceSubModels::coalescenceKernel::coalescenceKernel |
44 | 44 | ( | ( |
45 | 45 | const dictionary& dict, | const dictionary& dict, |
46 | const fvMesh& mesh, | ||
47 | const phaseModel& phase | ||
46 | const fvMesh& mesh | ||
48 | 47 | ) | ) |
49 | 48 | : | : |
50 | 49 | dict_(dict), | dict_(dict), |
51 | 50 | mesh_(mesh), | mesh_(mesh), |
52 | phase_(phase), | ||
53 | Ca_ | ||
51 | Ck_ | ||
54 | 52 | ( | ( |
55 | 53 | dict.lookupOrDefault | dict.lookupOrDefault |
56 | 54 | ( | ( |
57 | "Ca", | ||
55 | "Ck", | ||
58 | 56 | dimensionedScalar("one", inv(dimTime), 1.0) | dimensionedScalar("one", inv(dimTime), 1.0) |
59 | 57 | ) | ) |
60 | 58 | ) | ) |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/coalescenceKernel/coalescenceKernel.H changed (mode: 100644) (index 27c9ea2..1b5259b) | |||
... | ... | protected: | |
72 | 72 | //- Reference to mesh | //- Reference to mesh |
73 | 73 | const fvMesh& mesh_; | const fvMesh& mesh_; |
74 | 74 | ||
75 | const phaseModel& phase_; | ||
76 | |||
77 | 75 | //- Coefficient of coalescence kernel | //- Coefficient of coalescence kernel |
78 | const dimensionedScalar Ca_; | ||
76 | const dimensionedScalar Ck_; | ||
79 | 77 | ||
80 | 78 | ||
81 | 79 | public: | public: |
... | ... | public: | |
91 | 89 | dictionary, | dictionary, |
92 | 90 | ( | ( |
93 | 91 | const dictionary& dict, | const dictionary& dict, |
94 | const fvMesh& mesh, | ||
95 | const phaseModel& phase | ||
92 | const fvMesh& mesh | ||
96 | 93 | ), | ), |
97 | (dict, mesh, phase) | ||
94 | (dict, mesh) | ||
98 | 95 | ); | ); |
99 | 96 | ||
100 | 97 | ||
... | ... | public: | |
104 | 101 | coalescenceKernel | coalescenceKernel |
105 | 102 | ( | ( |
106 | 103 | const dictionary& dict, | const dictionary& dict, |
107 | const fvMesh& mesh, | ||
108 | const phaseModel& phase | ||
104 | const fvMesh& mesh | ||
109 | 105 | ); | ); |
110 | 106 | ||
111 | 107 | ||
... | ... | public: | |
114 | 110 | static autoPtr<coalescenceKernel> New | static autoPtr<coalescenceKernel> New |
115 | 111 | ( | ( |
116 | 112 | const dictionary& dict, | const dictionary& dict, |
117 | const fvMesh& mesh, | ||
118 | const phaseModel& phase | ||
113 | const fvMesh& mesh | ||
119 | 114 | ); | ); |
120 | 115 | ||
121 | 116 |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/coalescenceKernel/newCoalescenceKernel.C changed (mode: 100644) (index b554cca..7db814d) | |||
... | ... | Foam::autoPtr<Foam::populationBalanceSubModels::coalescenceKernel> | |
31 | 31 | Foam::populationBalanceSubModels::coalescenceKernel::New | Foam::populationBalanceSubModels::coalescenceKernel::New |
32 | 32 | ( | ( |
33 | 33 | const dictionary& dict, | const dictionary& dict, |
34 | const fvMesh& mesh, | ||
35 | const phaseModel& phase | ||
34 | const fvMesh& mesh | ||
36 | 35 | ) | ) |
37 | 36 | { | { |
38 | 37 | word coalescenceKernelType(dict.lookup("coalescenceKernel")); | word coalescenceKernelType(dict.lookup("coalescenceKernel")); |
... | ... | Foam::populationBalanceSubModels::coalescenceKernel::New | |
53 | 52 | << abort(FatalError); | << abort(FatalError); |
54 | 53 | } | } |
55 | 54 | ||
56 | return autoPtr<coalescenceKernel>(cstrIter()(dict, mesh, phase)); | ||
55 | return autoPtr<coalescenceKernel>(cstrIter()(dict, mesh)); | ||
57 | 56 | } | } |
58 | 57 | ||
59 | 58 |
File multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/univariatePopulationBalance/univariatePopulationBalance.C changed (mode: 100644) (index fac36e3..738f68b) | |||
... | ... | Foam::PDFTransportModels::populationBalanceModels::univariatePopulationBalance | |
75 | 75 | Foam::populationBalanceSubModels::coalescenceKernel::New | Foam::populationBalanceSubModels::coalescenceKernel::New |
76 | 76 | ( | ( |
77 | 77 | dict.subDict("coalescenceKernel"), | dict.subDict("coalescenceKernel"), |
78 | U.mesh(), | ||
79 | phase.name() // so the function has access to phase properties (density, velocity, surface tension, temperature...) | ||
78 | U.mesh() | ||
80 | 79 | ) | ) |
81 | 80 | ), | ), |
82 | 81 | breakupKernel_ | breakupKernel_ |