modelIon

Base model for an ion

Extends from Fluid (Base model for a fluid species).

Information

Please see the Fluid model.

Parameters

TypeNameDefaultDescription
Integern_intra (from Species)0Number of exchange connections within the phase
Integern_inter (from Species)0Number of exchange connections with other phases
Initialization
InitinitMaterial (from Fluid)Init.pressureMethod of initializing the material state
InitinitEnergy (from Fluid)Init.temperatureMethod of initializing the thermal state
Q.AmountN_IC (from Species)Initial amount of material
Q.Densityrho_IC (from Species)Initial density
Q.VolumeV_IC (from Species)Initial volume
Q.PressureAbsolutep_IC (from Species)Initial pressure
Q.TemperatureAbsoluteT_IC (from Species)Initial temperature
Q.Potentialh_IC (from Species)Initial specific enthalpy
Q.Potentialg_IC (from Species)Initial Gibbs potential
Assumptions
Integern_trans (from Species)1Number of transport axes
Integern_chem (from Fluid)0Number of reaction and phase change processes
Independence factors
Q.NumberAbsolute[n_intra,n_trans]k_intra_Phi (from Species)ones(n_intra, n_trans)For translational exchange among species within the phase
Q.NumberAbsolute[n_intra]k_intra_Q (from Species)ones(n_intra)For thermal exchange among species within the phase
Assumptions › Formulation of the conservation equations
ConsThermoconsMaterial (from Fluid)ConsThermo.dynamicMaterial
BooleanconsRot (from Fluid)falseConserve rotational momentum
ConsTransconsTransX (from Fluid)ConsTrans.dynamicX-axis translational momentum
ConsTransconsTransY (from Fluid)ConsTrans.dynamicY-axis translational momentum
ConsTransconsTransZ (from Fluid)ConsTrans.dynamicZ-axis translational momentum
ConsThermoconsEnergy (from Fluid)ConsThermo.dynamicEnergy
Assumptions › Axes with upstream discretization
BooleanupstreamX (from Fluid)trueX
BooleanupstreamY (from Fluid)trueY
BooleanupstreamZ (from Fluid)trueZ
Assumptions › Flow conditions
BooleanapproxVelocity (from Fluid)trueCalculate normal boundary velocities assuming uniform density
Q.NumberAbsolute[Axis]Nu_Phi (from Fluid){4, 4, 4}Translational Nusselt numbers
Q.NumberAbsoluteNu_Q (from Fluid)1Thermal Nusselt number
Advanced
Q.AmountN0 (from Fluid)0Nominal amount of material to prevent depletion
Material properties
Q.ConductivityElectricalsigmaData.mu()/Data.v_Tp()Electrical conductivity

Connectors

TypeNameDefaultDescription
Connectors.Intra[n_intra]intra (from Species)Connectors to exchange translational momentum and energy within the phase
Connectors.Inter[n_inter]inter (from Species)Connectors to exchange translational momentum and energy with all other species
Connectors.Daltondalton (from Species)Connector for additivity of pressure
Connectors.Boundary[n_trans,Side]boundaries (from Fluid)Connectors for transport
Connectors.Chemical[n_chem]chemical (from Fluid)Connector for reactions and phase change

Components

TypeNameDefaultDescription
Q.Mobilitymu (from Species)Data.mu(T, v)Mobility
Q.TimeAbsolutenu (from Species)Data.nu(T, v)Thermal independity
Q.AmountN (from Species)Amount of material
Q.TemperatureAbsoluteT (from Species)Temperature
Q.Velocity[n_trans]phi (from Species)Velocity
Q.PressureAbsolutep (from Species)Pressure
Q.Potentialg (from Species)Specific Gibbs energy
Q.MassM (from Species)Mass
Q.VolumeSpecificv (from Species)Specific volume
Q.Potentialh (from Species)Specific enthalpy
Q.NumberAbsolutes (from Species)Specific entropy
Q.Densityrho (from Species)1/vDensity
Q.MassVolumicmrho (from Species)Data.m*rhoVolumic mass
Q.AmountS (from Species)N*sEntropy
Q.CapacityThermalSpecificc_p (from Species)Data.c_p(T, p)Isobaric specific heat capacity
Q.CapacityThermalSpecificc_v (from Species)Data.c_v(T, p)Isochoric specific heat capacity
Q.PressureReciprocalbeta (from Species)Data.beta(T, p)Isothermal compressibility
Q.TimeAbsolute[n_intra,n_trans]tau_PhiE_intra (from Species){Data.m*mu*k_intra_Phi[i, :] for i in 1:n_intra}Time constants for translational intra-phase exchange
Q.TimeAbsolute[n_inter,n_trans]tau_PhiE_inter (from Species){Data.m*mu*k_inter_Phi[i, :] for i in 1:n_inter}Time constants for translational inter-phase exchange
Q.TimeAbsolute[n_intra]tau_QE_intra (from Species)c_p*nu*k_intra_QTime constants for thermal intra-phase exchange
Q.TimeAbsolute[n_inter]tau_QE_inter (from Species)c_p*nu*k_inter_QTime constants for thermal inter-phase exchange
Q.Force[n_trans]f_DE (from Species)sum(intra[i].mPhidot for i in 1:n_intra) + sum(inter[i].mPhidot for i in 1:n_inter)Friction from other configurations (diffusive exchange)
Q.PowerEdot_DE (from Species)sum(intra[i].phi*intra[i].mPhidot for i in 1:n_intra) + sum(inter[i].phi*inter[i].mPhidot for i in 1:n_inter) + sum(intra.Qdot) + sum(inter.Qdot)Rate of diffusion of energy from other configurations
Q.Continuityzeta (from Fluid)Data.zeta(T, v)Continuity
Q.Fluidityeta (from Fluid)Data.eta(T, v)Fluidity
Q.ResistivityThermaltheta (from Fluid)Data.theta(T, v)Thermal resistivity
Q.TimeAbsolute[n_chem]tauprime (from Fluid)zeros(n_chem)Specific exchange currents
Q.Length[:]kL (from Fluid)L[cartTrans]Effective transport length
Q.Current[n_trans]I (from Fluid)Current
Q.Velocity[n_trans,Side]phi_boundaries (from Fluid)Normal velocities at the boundaries
Q.Force[n_trans]f (from Fluid)Total normal translational force on pairs of boundaries
Q.Force[n_trans]minusDeltaf (from Fluid)Dynamic and nonequilibrium compression forces
Q.Density[n_trans,Side]rho_boundaries (from Fluid)fill(1, n_trans, 2)./Data.v_Tp(boundaries.T, boundaries.p)Densities at the boundaries
Q.VolumeRate[n_trans,Side]Vdot_boundaries (from Fluid)boundaries.Ndot./rho_boundariesVolume flow rates into the boundaries
Q.PressureAbsolute[n_trans]q (from Fluid)(Data.m/2)*phi.*I./AprimeDynamic pressure
Q.Velocity[n_chem,n_trans]phi_chemical (from Fluid)actualStream(chemical.phi)Velocity of the chemical streams
Q.PotentialAbsolute[n_chem]sT_chemical (from Fluid)actualStream(chemical.sT)Specific entropy-temperature product of the chemical streams
Q.Temperature[n_trans]DeltaT (from Fluid)Delta(boundaries.T)Differences in temperatures across the boundaries
Q.Pressure[n_trans]Deltap (from Fluid)Delta(boundaries.p)Differences in pressures across the boundaries
Q.Power[n_trans,Side]Hprimedot (from Fluid)(Data.h(boundaries.T, boundaries.p) + Data.m*phi_boundaries.^2/2).*boundaries.NdotFlow rates of enthalpy + kinetic energy into the boundaries
Q.Potential[n_trans,Side]g_boundaries (from Fluid)Data.g(boundaries.T, boundaries.p)Gibbs potentials at the boundaries
Q.Potential[n_trans]Deltag (from Fluid)Delta(g_boundaries)Differences in Gibbs potentials across the boundaries
Q.TimeAbsolute[n_trans]tau_NT (from Fluid)fill(zeta*beta*N, n_trans)./(2*Aprime)Time constants for material transport
Q.TimeAbsolute[n_trans]tau_PhiT (from Fluid)M*eta*kL./(2*Nu_Phi[cartTrans].*Aprime)Time constants for transverse translational transport
Q.TimeAbsolute[n_trans]tau_QT (from Fluid)(N*c_v*theta/(2*Nu_Q))*kL./AprimeTime constants for thermal transport
Q.Number[n_trans]Pe_N (from Fluid)tau_NT.*I/NMaterial Peclet numbers
Q.Number[n_trans]Pe_Phi (from Fluid)tau_PhiT.*I/NTranslational Peclet numbers
Q.Number[n_trans]Pe_Q (from Fluid)tau_QT.*I/NThermal Peclet numbers
Q.Force[n_trans,n_trans]mphiI (from Fluid)outerProduct(I, Data.m*phi)Bulk rate of translational advection (1st index: transport axis, 2nd index: translational component)
Q.VolumeRate[n_trans]Vdot (from Fluid)v*IBulk volumetric flow rate
Q.Power[n_trans]hI (from Fluid)h*IBulk enthalpy flow rate
Q.Force[n_trans]Ma (from Fluid)M*(der(phi)/U.s + environment.a[cartTrans]) + N*Data.z*environment.E[cartTrans]Acceleration force (including acceleration due to body forces)
Q.Force[n_trans]f_thermo (from Fluid)-Delta(boundaries.p).*AprimeThermodynamic force
Q.Force[n_trans]f_AE (from Fluid)Data.m*sum((actualStream(chemical[i].phi) - phi)*chemical[i].Ndot for i in 1:n_chem)Acceleration force due to advective exchange
Q.Force[n_trans]f_AT (from Fluid){sum(((if i == j then phi_boundaries[j, :] else boundaries[j, :].phi[cartWrap(cartTrans[i] - cartTrans[j])]) - {phi[i], phi[i]})*boundaries[j, :].Ndot*Data.m for j in 1:n_trans) for i in 1:n_trans}Acceleration force due to advective transport
Q.Force[n_trans]f_DT (from Fluid){sum(sum(if i == j then {0, 0} else boundaries[j, :].mPhidot[cartWrap(cartTrans[i] - cartTrans[j])]) for j in 1:n_trans) for i in 1:n_trans}Shear force from other subregions (diffusive transport)
Q.PowerNdere (from Fluid)(N*T*der(Data.s(T, p)) + M*phi*der(phi))/U.sRate of energy storage (internal and kinetic) and boundary work at constant mass
Q.PowerEdot_AE (from Fluid)sum((chemical[i].g + actualStream(chemical[i].sT) - h + (actualStream(chemical[i].phi)*actualStream(chemical[i].phi) - phi*phi)*Data.m/2)*chemical[i].Ndot for i in 1:n_chem)Relative rate of energy (internal, flow, and kinetic) due to reactions and phase change
Q.PowerEdot_AT (from Fluid)sum((Data.h(boundaries[i, :].T, boundaries[i, :].p) - {h, h} + (phi_boundaries[i, :].^2 + sum(boundaries[i, :].phi[orient].^2 for orient in Orient) - fill(phi*phi, 2))*(Data.m/2))*boundaries[i, :].Ndot for i in 1:n_trans)Relative rate of energy (internal, flow, and kinetic) due to advective transport
Q.PowerEdot_DT (from Fluid)sum(sum(boundaries[i, :].phi[orient]*boundaries[i, :].mPhidot[orient] for orient in Orient) for i in 1:n_trans) + sum(boundaries.Qdot)Rate of diffusion of energy from other subregions