List of commits:
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
Commit d0e321233fe4d6aff922bb7f6aaae40a1e7be589 - temporary fix for buoyancy coalescence kernel
Author: Anurag Misra
Author date (UTC): 2017-10-12 20:50
Committer name: Anurag Misra
Committer date (UTC): 2017-10-12 20:50
Parent(s): 1bfcdde0095170abed22b5a75a0f295b19fd91d0
Signer:
Signing key:
Signing status: N
Tree: 78e5cb5c574eddb64e2cd8fddd1adb51cd48e947
File Lines added Lines deleted
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/Make/files 1 0
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/buoyancyInduced/buoyancyInduced.C 25 55
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/buoyancyInduced/buoyancyInduced.H 9 1
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/coalescenceKernel/coalescenceKernel.C 3 5
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/coalescenceKernel/coalescenceKernel.H 5 10
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/populationBalanceSubModels/coalescenceKernels/coalescenceKernel/newCoalescenceKernel.C 2 3
multiphaseEulerPbeFoam/quadratureMethods/populationBalanceModels/univariatePopulationBalance/univariatePopulationBalance.C 1 2
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_
Hints:
Before first commit, do not forget to setup your git environment:
git config --global user.name "your_name_here"
git config --global user.email "your@email_here"

Clone this repository using HTTP(S):
git clone https://rocketgit.com/user/velagala/MultiPhaseQBMM

Clone this repository using ssh (do not forget to upload a key first):
git clone ssh://rocketgit@ssh.rocketgit.com/user/velagala/MultiPhaseQBMM

Clone this repository using git:
git clone git://git.rocketgit.com/user/velagala/MultiPhaseQBMM

You are allowed to anonymously push to this repository.
This means that your pushed commits will automatically be transformed into a merge request:
... clone the repository ...
... make some changes and some commits ...
git push origin main