diff --git a/README.md b/README.md
index 2355eae..2824290 100644
--- a/README.md
+++ b/README.md
@@ -78,8 +78,8 @@ Modeling and simulation of proton-exchange membrane fuel cells (PEMFC) may work
- Open `CMD` (Windows) or `Terminal` (UNIX)
- Run `opem` or `python -m opem` (or run `OPEM.exe`)
- Enter PEM cell parameters (or run standard test vectors)
-#### 1. Amphlett Static Model
+#### 1. Amphlett Static Model
Input |
@@ -765,617 +765,620 @@ Modeling and simulation of proton-exchange membrane fuel cells (PEMFC) may work
- Find your reports in `Model_Name` folder
#### Screen Record
-
-
-
-
-
Screen Record
-
+
+
+
+
+
Screen Record
+
### Library
-
- #### 1. Amphlett Static Model
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- Eta_Active |
- Eta activation |
- List |
-
-
- Eta_Conc |
- Eta concentration |
- List |
-
-
- Eta_Ohmic |
- Eta ohmic |
- List |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+#### 1. Amphlett Static Model
+```pycon
+>>> 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)
+ ```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ Eta_Active |
+ Eta activation |
+ List |
+
+
+ Eta_Conc |
+ Eta concentration |
+ List |
+
+
+ Eta_Ohmic |
+ Eta ohmic |
+ List |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
+
#### 2. Larminie-Dicks Static Model
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
+
#### 3. Chamberline-Kim Static Model
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
+
#### 4. Padulles Dynamic Model I
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- PO2 |
- Partial pressure |
- List |
-
-
- PH2 |
- Partial pressure |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ PO2 |
+ Partial pressure |
+ List |
+
+
+ PH2 |
+ Partial pressure |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
+
#### 5. Padulles Dynamic Model II
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- PO2 |
- Partial pressure |
- List |
-
-
- PH2 |
- Partial pressure |
- List |
-
-
- PH2O |
- Partial pressure |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ PO2 |
+ Partial pressure |
+ List |
+
+
+ PH2 |
+ Partial pressure |
+ List |
+
+
+ PH2O |
+ Partial pressure |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
+
#### 6. Padulles-Hauer Dynamic Model
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- PO2 |
- Partial pressure |
- List |
-
-
- PH2 |
- Partial pressure |
- List |
-
-
- PH2O |
- Partial pressure |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ PO2 |
+ Partial pressure |
+ List |
+
+
+ PH2 |
+ Partial pressure |
+ List |
+
+
+ PH2O |
+ Partial pressure |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
+
#### 7. Padulles-Amphlett Dynamic Model
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- PO2 |
- Partial pressure |
- List |
-
-
- PH2 |
- Partial pressure |
- List |
-
-
- PH2O |
- Partial pressure |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- Eta_Active |
- Eta activation |
- List |
-
-
- Eta_Conc |
- Eta concentration |
- List |
-
-
- Eta_Ohmic |
- Eta ohmic |
- List |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ PO2 |
+ Partial pressure |
+ List |
+
+
+ PH2 |
+ Partial pressure |
+ List |
+
+
+ PH2O |
+ Partial pressure |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ Eta_Active |
+ Eta activation |
+ List |
+
+
+ Eta_Conc |
+ Eta concentration |
+ List |
+
+
+ Eta_Ohmic |
+ Eta ohmic |
+ List |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
+* For more information about this model visit here
#### 8. Chakraborty Dynamic Model
- ```pycon
- >>> 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)
- ```
-
-
- Key |
- Description |
- Type |
-
-
- Status |
- Simulation status |
- Bool |
-
-
- P |
- Power |
- List |
-
-
- I |
- Cell operating current |
- List |
-
-
- V |
- FC voltage |
- List |
-
-
- EFF |
- Efficiency |
- List |
-
-
- PO2 |
- Partial pressure |
- List |
-
-
- PH2 |
- Partial pressure |
- List |
-
-
- PH2O |
- Partial pressure |
- List |
-
-
- Ph |
- Thermal power |
- List |
-
-
- Nernst Gain |
- Nernst Gain |
- List |
-
-
- Ohmic Loss |
- Ohmic Loss |
- List |
-
-
- V0 |
- Linear-Apx intercept |
- Float |
-
-
- K |
- Linear-Apx slope |
- Float |
-
-
- VE |
- Estimated FC voltage |
- List |
-
-
+```pycon
+>>> 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)
+```
+
+
+ Key |
+ Description |
+ Type |
+
+
+ Status |
+ Simulation status |
+ Bool |
+
+
+ P |
+ Power |
+ List |
+
+
+ I |
+ Cell operating current |
+ List |
+
+
+ V |
+ FC voltage |
+ List |
+
+
+ EFF |
+ Efficiency |
+ List |
+
+
+ PO2 |
+ Partial pressure |
+ List |
+
+
+ PH2 |
+ Partial pressure |
+ List |
+
+
+ PH2O |
+ Partial pressure |
+ List |
+
+
+ Ph |
+ Thermal power |
+ List |
+
+
+ Nernst Gain |
+ Nernst Gain |
+ List |
+
+
+ Ohmic Loss |
+ Ohmic Loss |
+ List |
+
+
+ V0 |
+ Linear-Apx intercept |
+ Float |
+
+
+ K |
+ Linear-Apx slope |
+ Float |
+
+
+ VE |
+ Estimated FC voltage |
+ List |
+
+
- - For more information about this model visit here
-
- #### Parameters
+* For more information about this model visit here
+#### Parameters
1. `TestMode` : Active test mode and get/return data as `dict`, (Default : `False`)
2. `ReportMode` : Generate reports(`.csv`,`.opem`,`.html`) and print result in console, (Default : `True`)
3. `PrintMode` : Control printing in console, (Default : `True`)
4. `Folder` : Reports folder, (Default : `os.getcwd()`)
- #### Note
-
+#### Note
- Return type : `dict`