
El modelado y la simulación de celdas de combustible de membrana de intercambio de protones (PEMFC) pueden funcionar como una herramienta poderosa en la investigación y el desarrollo de fuentes de energía renovables. La herramienta de simulación PEMFC de código abierto (OPEM) es una herramienta de modelado para evaluar el rendimiento de las celdas de combustible de membrana de intercambio de protones. Este paquete es una combinación de modelos (estáticos/dinámicos) que predicen los parámetros operativos óptimos de PEMFC. OPEM contenía modelos genéricos que aceptarán como entrada, no solo los valores de las variables operativas, como el gas de alimentación y el cátodo, la presión y las composiciones, la temperatura celular y la densidad de corriente, sino también los parámetros celulares, incluido el área activa y el grosor de la membrana. Además, algunos de los diferentes modelos de PEMFC que se han propuesto en el OPEM, solo se centran en una pila de FC en particular, y algunos otros tienen en cuenta una parte o todos los auxiliarios como los reformadores. OPEM es una plataforma para el desarrollo colaborativo de los modelos PEMFC.

Fig. Diagrama de bloques de opem
| Centro abierto | |
| Contador de pypi | |
| Estrellas de Github |
| Rama | maestro | desarrollar |
| CI | ![]() | ![]() |
| Calidad del código |
Abra CMD (Windows) o Terminal (UNIX)
Ejecute opem o python -m opem (o ejecute OPEM.exe )
Ingrese los parámetros de la celda PEM (o ejecute vectores de prueba estándar)
Modelo estático de Anflett
| Aporte | Descripción | Unidad |
| T | Temperatura de operación celular | K |
| PH2 | Presión parcial | cajero automático |
| Po2 | Presión parcial | cajero automático |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
| A | Área activa | CM^2 |
| l | Espesor de la membrana | centímetro |
| lambda | Un parámetro ajustable con un valor mínimo de 14 y un valor máximo de 23 | - |
| R (*opcional) | R-electrónico | ohm |
| Jmax | Densidad de corriente máxima | A/(CM^2) |
| norte | Número de celdas individuales | - |
Modelo de lechinie-dicks estático
| Aporte | Descripción | Unidad |
| E0 | Voltaje de pérdida de pila de combustible sin pérdida | V |
| A | La pendiente de la línea Tafel | V |
| T | Temperatura de operación celular | K |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
| en | Corriente interna | A |
| i_0 | Corriente de intercambio a la que la sobretensión comienza a moverse de cero | A |
| Illinois | Corriente limitante | A |
| RM | La membrana y las resistencias de contacto | ohm |
| norte | Número de celdas individuales | - |
Modelo estático de la línea de cámara-kim
| Aporte | Descripción | Unidad |
| E0 | Voltaje de circuito abierto | V |
| b | Parámetro de Tafel para la reducción de oxígeno | V |
| Riñonal | Resistencia | ohm.cm^2 |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
| A | Área activa | CM^2 |
| metro | Parámetros de difusión | V |
| norte | Parámetros de difusión | (A^-1) (cm^2) |
| norte | Número de celdas individuales | - |
Padúles Modelo dinámico I
| Aporte | Descripción | Unidad |
| E0 | Sin voltaje de carga | V |
| T | Temperatura de la pila de combustible | K |
| Kh2 | Válvula de hidrógeno constante | kmol.s^(-1) .atm^(-1) |
| KO2 | Válvula de oxígeno constante | kmol.s^(-1) .atm^(-1) |
| TH2 | Constante de tiempo de hidrógeno | s |
| to2 | Constante de tiempo de oxígeno | s |
| B | Constante de voltaje de activación | V |
| do | Parámetro constante de activación | A^(-1) |
| Rinco | Resistencia interna de la pila de combustible | ohm |
| rho | Relación de flujo de hidrógeno-oxígeno | - |
| QH2 | Flujo molar de hidrógeno | kmol/s |
| N0 | Número de celdas | - |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
Padúles Modelo dinámico II
| Aporte | Descripción | Unidad |
| E0 | Sin voltaje de carga | V |
| T | Temperatura de la pila de combustible | K |
| Kh2 | Válvula de hidrógeno constante | kmol.s^(-1) .atm^(-1) |
| KH2O | Constante de válvula de agua | kmol.s^(-1) .atm^(-1) |
| KO2 | Válvula de oxígeno constante | kmol.s^(-1) .atm^(-1) |
| TH2 | Constante de tiempo de hidrógeno | s |
| TH2O | Constante de tiempo de agua | s |
| to2 | Constante de tiempo de oxígeno | s |
| B | Constante de voltaje de activación | V |
| do | Parámetro constante de activación | A^(-1) |
| Rinco | Resistencia interna de la pila de combustible | ohm |
| rho | Relación de flujo de hidrógeno-oxígeno | - |
| QH2 | Flujo molar de hidrógeno | kmol/s |
| N0 | Número de celdas | - |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
Modelo dinámico de Padulles-Hauer
| Aporte | Descripción | Unidad |
| E0 | Sin voltaje de carga | V |
| T | Temperatura de la pila de combustible | K |
| Kh2 | Válvula de hidrógeno constante | kmol.s^(-1) .atm^(-1) |
| KH2O | Constante de válvula de agua | kmol.s^(-1) .atm^(-1) |
| KO2 | Válvula de oxígeno constante | kmol.s^(-1) .atm^(-1) |
| TH2 | Constante de tiempo de hidrógeno | s |
| TH2O | Constante de tiempo de agua | s |
| to2 | Constante de tiempo de oxígeno | s |
| T1 | Constante de tiempo del reformador | s |
| T2 | Constante de tiempo del reformador | s |
| B | Constante de voltaje de activación | V |
| do | Parámetro constante de activación | A^(-1) |
| CV | Factor de conversión | - |
| Rinco | Resistencia interna de la pila de combustible | ohm |
| rho | Relación de flujo de hidrógeno-oxígeno | - |
| qmetanol | Flujo molar de metanol | kmol/s |
| N0 | Número de celdas | - |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
Modelo dinámico de Padulles-Amphlett
| Aporte | Descripción | Unidad |
| E0 | Sin voltaje de carga | V |
| T | Temperatura de la pila de combustible | K |
| Kh2 | Válvula de hidrógeno constante | kmol.s^(-1) .atm^(-1) |
| KH2O | Constante de válvula de agua | kmol.s^(-1) .atm^(-1) |
| KO2 | Válvula de oxígeno constante | kmol.s^(-1) .atm^(-1) |
| TH2 | Constante de tiempo de hidrógeno | s |
| TH2O | Constante de tiempo de agua | s |
| to2 | Constante de tiempo de oxígeno | s |
| T1 | Constante de tiempo del reformador | s |
| T2 | Constante de tiempo del reformador | s |
| A | Área activa | CM^2 |
| l | Espesor de la membrana | centímetro |
| lambda | Un parámetro ajustable con un valor mínimo de 14 y un valor máximo de 23 | - |
| R (*opcional) | R-electrónico | ohm |
| Jmax | Densidad de corriente máxima | A/(CM^2) |
| CV | Factor de conversión | - |
| rho | Relación de flujo de hidrógeno-oxígeno | - |
| qmetanol | Flujo molar de metanol | kmol/s |
| N0 | Número de celdas | - |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
Modelo dinámico de Chakraborty
| Aporte | Descripción | Unidad |
| E0 | Sin voltaje de carga | V |
| T | Temperatura de operación celular | K |
| Kh2 | Válvula de hidrógeno constante | kmol.s^(-1) .atm^(-1) |
| KH2O | Constante de válvula de agua | kmol.s^(-1) .atm^(-1) |
| KO2 | Válvula de oxígeno constante | kmol.s^(-1) .atm^(-1) |
| rho | Relación de flujo de hidrógeno-oxígeno | - |
| Rinco | Resistencia interna de la pila de combustible | ohm |
| N0 | Número de celdas | - |
| u | Relación de utilización de combustible | - |
| I-Canche | Punto de inicio de corriente de funcionamiento celular | A |
| I-STEP | Paso de corriente de funcionamiento celular | A |
| i-paral | Punto final de corriente de funcionamiento celular | A |
Model_Name Registro de pantalla
Modelo estático de Anflett
>>> from opem.Static.Amphlett import Static_Analysis
>>> Test_Vector = { " T " : 343.15 , " PH2 " : 1 , " PO2 " : 1 , " i-start " : 0 , " i-stop " : 75 , " i-step " : 0.1 , " A " : 50.6 , " l " : 0.0178 , " lambda " : 23 , " N " : 1 , " R " : 0 , " JMax " : 1.5 , " Name " : " Amphlett_Test " }
>>> data = Static_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| EtA_Active | Activación ETA | Lista |
| Eta_conc | Concentración de ETA | Lista |
| Eta_OHMIC | Etahmic | Lista |
| Ver | Voltaje FC estimado | Lista |
Modelo de lechinie-dicks estático
>>> from opem.Static.Larminie_Dicks import Static_Analysis
>>> Test_Vector = { " A " : 0.06 , " E0 " : 1.178 , " T " : 328.15 , " RM " : 0.0018 , " i_0 " : 0.00654 , " i_L " : 100.0 , " i_n " : 0.23 , " N " : 23 , " i-start " : 0.1 , " i-stop " : 98 , " i-step " : 0.1 , " Name " : " Larminiee_Test " }
>>> data = Static_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| Ver | Voltaje FC estimado | Lista |
Modelo estático de la línea de cámara-kim
>>> from opem.Static.Chamberline_Kim import Static_Analysis
>>> Test_Vector = { " A " : 50.0 , " E0 " : 0.982 , " b " : 0.0689 , " R " : 0.328 , " m " : 0.000125 , " n " : 9.45 , " N " : 1 , " i-start " : 1 , " i-stop " : 42.5 , " i-step " : 0.1 , " Name " : " Chamberline_Test " }
>>> data = Static_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| Ver | Voltaje FC estimado | Lista |
Padúles Modelo dinámico I
>>> from opem.Dynamic.Padulles1 import Dynamic_Analysis
>>> Test_Vector = { " T " : 343 , " E0 " : 0.6 , " N0 " : 88 , " KO2 " : 0.0000211 , " KH2 " : 0.0000422 , " tH2 " : 3.37 , " tO2 " : 6.74 , " B " : 0.04777 , " C " : 0.0136 , " Rint " : 0.00303 , " rho " : 1.168 , " qH2 " : 0.0004 , " i-start " : 0 , " i-stop " : 100 , " i-step " : 0.1 , " Name " : " PadullesI_Test " }
>>> data = Dynamic_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Po2 | Presión parcial | Lista |
| PH2 | Presión parcial | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| Ver | Voltaje FC estimado | Lista |
Padúles Modelo dinámico II
>>> from opem.Dynamic.Padulles2 import Dynamic_Analysis
>>> Test_Vector = { " T " : 343 , " E0 " : 0.6 , " N0 " : 5 , " KO2 " : 0.0000211 , " KH2 " : 0.0000422 , " KH2O " : 0.000007716 , " tH2 " : 3.37 , " tO2 " : 6.74 , " tH2O " : 18.418 , " B " : 0.04777 , " C " : 0.0136 , " Rint " : 0.00303 , " rho " : 1.168 , " qH2 " : 0.0004 , " i-start " : 0.1 , " i-stop " : 100 , " i-step " : 0.1 , " Name " : " Padulles2_Test " }
>>> data = Dynamic_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Po2 | Presión parcial | Lista |
| PH2 | Presión parcial | Lista |
| PH2O | Presión parcial | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| Ver | Voltaje FC estimado | Lista |
Modelo dinámico de Padulles-Hauer
>>> from opem.Dynamic.Padulles_Hauer import Dynamic_Analysis
>>> Test_Vector = { " T " : 343 , " E0 " : 0.6 , " N0 " : 5 , " KO2 " : 0.0000211 , " KH2 " : 0.0000422 , " KH2O " : 0.000007716 , " tH2 " : 3.37 , " tO2 " : 6.74 , " t1 " : 2 , " t2 " : 2 , " tH2O " : 18.418 , " B " : 0.04777 , " C " : 0.0136 , " Rint " : 0.00303 , " rho " : 1.168 , " qMethanol " : 0.0002 , " CV " : 2 , " i-start " : 0.1 , " i-stop " : 100 , " i-step " : 0.1 , " Name " : " Padulles_Hauer_Test " }
>>> data = Dynamic_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Po2 | Presión parcial | Lista |
| PH2 | Presión parcial | Lista |
| PH2O | Presión parcial | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| Ver | Voltaje FC estimado | Lista |
Modelo dinámico de Padulles-Amphlett
>>> from opem.Dynamic.Padulles_Amphlett import Dynamic_Analysis
>>> Test_Vector = { " A " : 50.6 , " l " : 0.0178 , " lambda " : 23 , " JMax " : 1.5 , " T " : 343 , " N0 " : 5 , " KO2 " : 0.0000211 , " KH2 " : 0.0000422 , " KH2O " : 0.000007716 , " tH2 " : 3.37 , " tO2 " : 6.74 , " t1 " : 2 , " t2 " : 2 , " tH2O " : 18.418 , " rho " : 1.168 , " qMethanol " : 0.0002 , " CV " : 2 , " i-start " : 0.1 , " i-stop " : 75 , " i-step " : 0.1 , " Name " : " Padulles_Amphlett_Test " }
>>> data = Dynamic_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Po2 | Presión parcial | Lista |
| PH2 | Presión parcial | Lista |
| PH2O | Presión parcial | Lista |
| Ph | Potencia térmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| EtA_Active | Activación ETA | Lista |
| Eta_conc | Concentración de ETA | Lista |
| Eta_OHMIC | Etahmic | Lista |
| Ver | Voltaje FC estimado | Lista |
Modelo dinámico de Chakraborty
>>> from opem.Dynamic.Chakraborty import Dynamic_Analysis
>>> Test_Vector = { " T " : 1273 , " E0 " : 0.6 , " u " : 0.8 , " N0 " : 1 , " R " : 3.28125 * 10 ** ( - 3 ), " KH2O " : 0.000281 , " KH2 " : 0.000843 , " KO2 " : 0.00252 , " rho " : 1.145 , " i-start " : 0.1 , " i-stop " : 300 , " i-step " : 0.1 , " Name " : " Chakraborty_Test " }
>>> data = Dynamic_Analysis( InputMethod = Test_Vector, TestMode = True , PrintMode = False , ReportMode = False )| Llave | Descripción | Tipo |
| Estado | Estado de simulación | Bool |
| PAG | Fuerza | Lista |
| I | Corriente de operación celular | Lista |
| V | Voltaje FC | Lista |
| Efectivo | Eficiencia | Lista |
| Po2 | Presión parcial | Lista |
| PH2 | Presión parcial | Lista |
| PH2O | Presión parcial | Lista |
| Ph | Potencia térmica | Lista |
| Nernst ganancia | Nernst ganancia | Lista |
| Pérdidahmica | Pérdidahmica | Lista |
| V0 | Intersección lineal-apx | Flotar |
| K | Pendiente lineal-apx | Flotar |
| Ver | Voltaje FC estimado | Lista |
TestMode : modo de prueba activo y obtener/retorno los datos como dict , (predeterminado: False )ReportMode : Generar informes ( .csv , .opem , .html ) e imprimir el resultado en consola, (predeterminado: True )PrintMode : Control Impresión en la consola (predeterminada: True )Folder : Carpeta de informes, (predeterminado: os.getcwd() ) dict/start a OPEM Bot¡OPEM se puede usar en línea en cuadernos interactivos Jupyter a través del servicio Binder! ¡Pruébalo ahora! :
.ipynb en la carpeta DocumentsTest_Vector en la sección Full Run Simplemente llene un problema y descríbelo. ¡Lo comprobaremos lo antes posible! O envíe un correo electrónico a [email protected].
También puede unirse a nuestro servidor Discord
1- JC Amphlett, RM Baumert, RF Mann, Ba Peppley y PR Roberge. 1995. "Modelado de rendimiento de la celda de combustible de electrolitos de polímero sólido Ballard Mark IV". J. Electrochem. Soc. (The Electrochemical Society, Inc.) 142 (1): 9-15. doi: 10.1149/1.2043959.
2- Jeferson M. Correa, Felix A. Farret, Vladimir A. Popov, Marcelo G. Simoes. 2005. "Análisis de sensibilidad de los parámetros de modelado utilizados en la simulación de celdas de combustible de membrana de intercambio de protones". Transacciones IEEE en Conversión de Energía (IEEE) 20 (1): 211-218. doi: 10.1109/tec.2004.842382.
3- Junbom Kim, Seong-Min Lee, Supramaniam Srinivasan, Charles E. Chamberlin. 1995. "Modelado del rendimiento de la celda de combustible de membrana de intercambio de protones con una ecuación empírica". Journal of the Electrochemical Society (The Electrochemical Society) 142 (8): 2670-2674. doi: 10.1149/1.2050072.
4- I. Sadli, P. Thounthong, J.-P. Martin, S. Rael, B. Davat. 2006. "Comportamiento de un PEMFC que suministra un convertidor estático de bajo voltaje". Journal of Power Fources (Elsevier) 156: 119–125. doi: 10.1016/j.jpowsour.2005.08.021.
5- J. Padulles, GW Ault, Jr McDonald. 2000. "Un modelo dinámico de planta SOFC integrado para la simulación de sistemas de energía". Journal of Power Fources (Elsevier) 86 (1-2): 495-500. doi: 10.1016/s0378-7753 (99) 00430-9.
6- Hauer, K.-H. 2001. "Herramienta de análisis para hardware y software (controles) de vehículos de celdas de combustible con una aplicación para comparaciones de economía de combustible de diseños de sistemas alternativos". Doctor en Filosofía. Disertación, Tecnología y Política de Transporte, Universidad de California Davis.
7- A. Saadi, M. Becherif, A. Aboubou, My Ayad. 2013. "Comparación de modelos estáticos de celdas de combustible de membrana de intercambio de protones". Energía renovable (Elsevier) 56: 64-71. doi: dx.doi.org/10.1016/j.enene.2012.10.012.
8- Diego Feroldi, Marta Basualdo. 2012. "Descripción del sistema de celdas de combustible PEM". Energía y tecnología verde (Springer) 49-72. doi: 10.1007/978-1-84996-184-4_2
9- Gottesfeld, Shimshon. y la celda de combustible electrolítica de polímero: problemas de materiales en una fuente de energía alimentada por hidrógeno. http://physics.oregonstate.edu/~hetheriw/energy/topics/doc/electrochemistry/fc/basic/the_polymer_electrolyte_fuel_cell.htm
10- Mohamed Becherif, Aïcha Saadi, Daniel Hissel, Abdennacer Aboubu, Mohamed Yacine Ayad. 2011. "Modelos de celdas de combustible de membrana de intercambio de protones estática y dinámica". Journal of Hydrocarbons Mines and Environmental Research 2 (1)
11- Larminie, J., Dicks, A. y McDonald, MS 2003. Sistemas de celdas de combustible explicada (Vol. 2, pp. 207-225). Chichester, Reino Unido: J. Wiley. doi: 10.1002/9781118706992.
12- Rho, YW, Srinivasan, S. y Kho, YT 1994. '' Fenómenos de transporte de masas en las mezclas de membrana de intercambio de protones usando las mezclas O 2/He 2/Ar y O 2/N 2 II. Análisis teórico. '' Revista de la Sociedad Electroquímica, 141 (8), 2089-2096. doi: 10.1149/1.2055066.
13- U. Chakraborty, un nuevo modelo para la utilización constante del combustible y el flujo de combustible constante en las celdas de combustible, Appl. Sci. 9 (2019) 1066. Https://doi.org/10.3390/app9061066.
Si usa OPEM en su investigación, cite este documento:
@article {haghighi2018,
doi = {10.21105/joss.00676},
url = {https://doi.org/10.21105/Joss.00676},
año = {2018},
mes = {jul},
editor = {The Open Journal},
volumen = {3},
número = {27},
páginas = {676},
Autor = {Sepand Haghighi y Kasra Askari y Sarmin Hamidi y Mohammad Mahdi Rahimi},
title = {{Opem}: Open Source {PEM} Cell Simulation Tool},
Journal = {Journal of Open Source Software}
}
Descargar OPEM.BIB (formato de bibtex)
| Joss | |
| Zenodo |
¡Dale una osa si este proyecto te ayudó!
Si le gusta nuestro proyecto y esperamos que lo haga, ¿puede apoyarnos? Nuestro proyecto no es y nunca va a trabajar con fines de lucro. Necesitamos el dinero solo para poder seguir haciendo lo que hacemos ;-).