He estado mirando algunas páginas más, también la página que comenta drizzt pero no termino de sacar nada en concreto.
Las fórmulas que estoy usando funcionan "correctamente", pero hasta cierto límite. El problema lo tengo cuando por ejemplo tengo que partir de una concentración 0 y llegar a otra 0 de nicotina.
Por ejemplo, si parto de una base 50/50 y quiero llegar a una concentración 70/30, lo lógico sería mezclar la base con el componente de más alta concentración (70) hasta llegar a esa concentración final. Esta parte no conozco como hacerla con concentración de nicotina 0.
Pongo aquí las fórmulas de como estoy haciendo los cálculos. No hago referencia a los aromas para no liar y resolver lo sencillo:
Variables:
total - total a calcular en ml
nicoIni - % inicial de nicotina de la base
VGIni - % de VG inicial de la base
PGIni - % de PG inicial de la base
nicoFin - % final de nicotina a obtener
VGFin - % final de VG a obtener
PGFin - % final de PG a obtener
Resultados finales
nicoMix - base a usar en ml
VGMix - VG a usar en ml
PGMix - PG a usar en ml
Las fórmulas:
Cálculos intermedios
nicoAuxIni = nicoMix * nicoIni / 100
VGAuxIni = (nicoMix - nicoAuxIni) * VGIni / 100
PGAuxIni = (nicoMix - nicoAuxIni) * PGIni / 100
nicoMix = (nicoIni == 0) ? 0 : total * nicoFin / nicoIni // Significa que cuando la concentración inicial de nicoIni = 0 entonces el valor de nicoMix será 0
VGMix = (total - nicoAuxIni) * VGFin / 100 - VGAuxIni
PGMix = (total - nicoAuxIni) * PGFin / 100 - PGAuxIni
Como veis es bastante sencillo.
El problema está en "nicoMix = (nicoIni == 0) ? 0 : total * nicoFin / nicoIni". Como veis, si nicoIni es 0 entonces falla al no poder dividir entre 0. Así que obligo a la fórmula a que SI nicoIni = 0 ENTONCES nicoMix = 0.
Gracias.
Por lo que veo, tienes una ensalada de denominaciones, cuando la cosa es mucho más simple. Haz caso el científico loco.
NBi nicoinis ni porras. ¿Son concentraciones? Pues llámalas C"algo". ¿Son volúmenes? Pues llámalos V"algo". Entonces la cantidad de algo es el producto de Calgo x Valgo (supongo la concentración en mg/mL, si es % hay una conversión añadida).
Así que, partes de una base de C0nic mg/mL de nicotina, si está disuelta en PG, cuya densidad es casi 1, eso es también [C0nic/10] %. La quieres llevar a Cfnic (mg/mL finales) con otra base sin nicotina con Cpg y Cvg (porcentajes) en la base Vbase.
No olvides que PG tiene densidad 1,04 g/mL y el VG 1,26 g/mL. Supondremos que la nicotina disuelta en PG (y los aromas) mantienen esos 1,04 g/mL:
Qnic = C0nic x Vnic
Cfnic = C0nic x Vnic / [Vnic + Vpg + Vvg]
%fnic = 100 x C0nic x Vnic / [1,04 x Vnic + 1,04 x Vpg + 1,26 x Vvg]
y de aquí todo lo complicado que desees (adición de aromas, etc.).
Echa un vistazo a mi calculadora particular, una hoja de cálculo de Libreoffice que puedes ver
aquí.