Skip to content

Commit d85246c

Browse files
authored
Merge pull request #18 from BattMoTeam/bruggeman_prm
Make Bruggeman non-hardcoded / parameter in elyte
2 parents bf73b78 + 3d385cb commit d85246c

File tree

3 files changed

+14
-9
lines changed

3 files changed

+14
-9
lines changed

src/models/battmo_types.jl

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,9 @@ minimum_value(::C) = 0.
3737
# relative_increment_limit(::C) = 0.1
3838

3939
struct Temperature <: Potential end
40+
struct BruggemanCoefficient <: ScalarVariable end
41+
42+
Jutul.default_value(model, ::BruggemanCoefficient) = 1.5
4043

4144
struct Conductivity <: ScalarVariable end
4245
struct Diffusivity <: ScalarVariable end

src/models/elyte.jl

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,9 @@ function select_parameters!(S ,
6060
)
6161

6262
S[:Temperature] = Temperature()
63+
S[:BruggemanCoefficient] = BruggemanCoefficient()
6364
S[:VolumeFraction] = VolumeFraction()
64-
65+
6566
end
6667

6768
function select_equations!(eqs ,
@@ -201,37 +202,37 @@ end
201202

202203
# ? Does this maybe look better ?
203204
@jutul_secondary(
204-
function update_conductivity!(kappa, kappa_def::Conductivity, model::ElectrolyteModel, Temperature, C, VolumeFraction, ix)
205+
function update_conductivity!(kappa, kappa_def::Conductivity, model::ElectrolyteModel, Temperature, C, VolumeFraction, BruggemanCoefficient, ix)
205206
""" Register conductivity function
206207
"""
207208

208209
# We use Bruggeman coefficient
209210
for i in ix
210-
211+
b = BruggemanCoefficient[i]
211212
if Jutul.haskey(model.system.params, :conductivity_data)
212213

213-
@inbounds kappa[i] = model.system[:conductivity_func](C[i]) * VolumeFraction[i]^1.5
214+
@inbounds kappa[i] = model.system[:conductivity_func](C[i]) * VolumeFraction[i]^b
214215

215216
else
216-
@inbounds kappa[i] = model.system[:conductivity_func](C[i], Temperature[i]) * VolumeFraction[i]^1.5
217+
@inbounds kappa[i] = model.system[:conductivity_func](C[i], Temperature[i]) * VolumeFraction[i]^b
217218
end
218219
end
219220
end
220221
)
221222

222-
@jutul_secondary function update_diffusivity!(D, D_def::Diffusivity, model::ElectrolyteModel, C, Temperature, VolumeFraction, ix)
223+
@jutul_secondary function update_diffusivity!(D, D_def::Diffusivity, model::ElectrolyteModel, C, Temperature, VolumeFraction, BruggemanCoefficient, ix)
223224
""" Register diffusivity function
224225
"""
225226

226227
for i in ix
227-
228+
b = BruggemanCoefficient[i]
228229
if Jutul.haskey(model.system.params, :diffusivity_data)
229230

230-
@inbounds D[i] = model.system[:diffusivity_func](C[i])*VolumeFraction[i]^1.5
231+
@inbounds D[i] = model.system[:diffusivity_func](C[i])*VolumeFraction[i]^b
231232

232233
else
233234

234-
@inbounds D[i] = model.system[:diffusivity_func](C[i], Temperature[i])*VolumeFraction[i]^1.5
235+
@inbounds D[i] = model.system[:diffusivity_func](C[i], Temperature[i])*VolumeFraction[i]^b
235236
end
236237

237238
end

src/setup/model_setup.jl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -629,6 +629,7 @@ function setup_battery_parameters(inputparams::InputParams,
629629

630630
prm_elyte = Dict{Symbol, Any}()
631631
prm_elyte[:Temperature] = T0
632+
prm_elyte[:BruggemanCoefficient] = inputparams["Electrolyte"]["bruggemanCoefficient"]
632633

633634

634635
parameters[:Elyte] = setup_parameters(model[:Elyte], prm_elyte)

0 commit comments

Comments
 (0)