Skip to content

Commit

Permalink
update vapor example
Browse files Browse the repository at this point in the history
  • Loading branch information
Gorkowski committed May 25, 2024
1 parent dfe9fc3 commit ae8f689
Show file tree
Hide file tree
Showing 3 changed files with 24 additions and 19 deletions.
39 changes: 21 additions & 18 deletions docs/documentation/next/next_vapor_pressure.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -179,7 +179,7 @@
"\u001b[1;31m---------------------------------------------------------------------------\u001b[0m",
"\u001b[1;31mValueError\u001b[0m Traceback (most recent call last)",
"Cell \u001b[1;32mIn[3], line 6\u001b[0m\n\u001b[0;32m 1\u001b[0m \u001b[38;5;66;03m# failed build due to missing parameters\u001b[39;00m\n\u001b[0;32m 2\u001b[0m styrene_fail \u001b[38;5;241m=\u001b[39m (\n\u001b[0;32m 3\u001b[0m \u001b[43mvapor_pressure_builders\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mAntoineBuilder\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 4\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mset_a\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstyrene_coefficients\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43ma\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 5\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mset_b\u001b[49m\u001b[43m(\u001b[49m\u001b[43mstyrene_coefficients\u001b[49m\u001b[43m[\u001b[49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[38;5;124;43mb\u001b[39;49m\u001b[38;5;124;43m'\u001b[39;49m\u001b[43m]\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m----> 6\u001b[0m \u001b[43m \u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mbuild\u001b[49m\u001b[43m(\u001b[49m\u001b[43m)\u001b[49m\n\u001b[0;32m 7\u001b[0m )\n",
"File \u001b[1;32mC:\\GitHub\\particula\\particula\\next\\gas\\vapor_pressure_builders.py:89\u001b[0m, in \u001b[0;36mAntoineBuilder.build\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 87\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ma, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mb, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mc]:\n\u001b[0;32m 88\u001b[0m missing \u001b[38;5;241m=\u001b[39m [p \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ma\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mc\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, p) \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m]\n\u001b[1;32m---> 89\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMissing coefficients: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(missing)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 90\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m AntoineVaporPressureStrategy(\n\u001b[0;32m 91\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ma, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mb, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mc)\n",
"File \u001b[1;32mC:\\GitHub\\particula\\particula\\next\\gas\\vapor_pressure_builders.py:91\u001b[0m, in \u001b[0;36mAntoineBuilder.build\u001b[1;34m(self)\u001b[0m\n\u001b[0;32m 89\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ma, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mb, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mc]:\n\u001b[0;32m 90\u001b[0m missing \u001b[38;5;241m=\u001b[39m [p \u001b[38;5;28;01mfor\u001b[39;00m p \u001b[38;5;129;01min\u001b[39;00m [\u001b[38;5;124m'\u001b[39m\u001b[38;5;124ma\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m'\u001b[39m, \u001b[38;5;124m'\u001b[39m\u001b[38;5;124mc\u001b[39m\u001b[38;5;124m'\u001b[39m] \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;28mgetattr\u001b[39m(\u001b[38;5;28mself\u001b[39m, p) \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m]\n\u001b[1;32m---> 91\u001b[0m \u001b[38;5;28;01mraise\u001b[39;00m \u001b[38;5;167;01mValueError\u001b[39;00m(\u001b[38;5;124mf\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mMissing coefficients: \u001b[39m\u001b[38;5;132;01m{\u001b[39;00m\u001b[38;5;124m'\u001b[39m\u001b[38;5;124m, \u001b[39m\u001b[38;5;124m'\u001b[39m\u001b[38;5;241m.\u001b[39mjoin(missing)\u001b[38;5;132;01m}\u001b[39;00m\u001b[38;5;124m\"\u001b[39m)\n\u001b[0;32m 92\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m AntoineVaporPressureStrategy(\n\u001b[0;32m 93\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39ma, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mb, \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mc)\n",
"\u001b[1;31mValueError\u001b[0m: Missing coefficients: c"
]
}
Expand Down Expand Up @@ -473,7 +473,7 @@
},
{
"cell_type": "code",
"execution_count": 5,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -553,7 +553,7 @@
},
{
"cell_type": "code",
"execution_count": 6,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -585,7 +585,7 @@
},
{
"cell_type": "code",
"execution_count": 9,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -615,7 +615,7 @@
},
{
"cell_type": "code",
"execution_count": 10,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -727,46 +727,49 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 5,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on function vapor_pressure_factory in module particula.next.gas.vapor_pressure:\n",
"Help on function vapor_pressure_factory in module particula.next.gas.vapor_pressure_factories:\n",
"\n",
"vapor_pressure_factory(strategy: str, **kwargs) -> particula.next.gas.vapor_pressure.VaporPressureStrategy\n",
" Factory method to create a concrete VaporPressureStrategy object.\n",
"vapor_pressure_factory(strategy: str, parameters: Optional[dict] = None) -> particula.next.gas.vapor_pressure_strategies.VaporPressureStrategy\n",
" Factory method to create a concrete VaporPressureStrategy object using\n",
" builders.\n",
" \n",
" Args:\n",
" ----\n",
" - strategy (str): The strategy to use for vapor pressure calculations.\n",
" options: \"constant\", \"antoine\", \"clausius_clapeyron\", \"water_buck\".\n",
" - **kwargs: Additional keyword arguments required for the strategy.\n",
" Options: \"constant\", \"antoine\", \"clausius_clapeyron\", \"water_buck\".\n",
" - parameters (dict): A dictionary containing the necessary parameters for\n",
" the strategy. If no parameters are needed, this can be left as None.\n",
" \n",
" Returns:\n",
" -------\n",
" - vapor_pressure_strategy (VaporPressureStrategy): A concrete\n",
" implementation of the VaporPressureStrategy.\n",
" implementation of the VaporPressureStrategy built using the appropriate\n",
" builder.\n",
"\n"
]
}
],
"source": [
"help(vapor_pressure_strategies.vapor_pressure_factory)"
"help(vapor_pressure_factory)"
]
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 6,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on class ConstantVaporPressureStrategy in module particula.next.gas.vapor_pressure:\n",
"Help on class ConstantVaporPressureStrategy in module particula.next.gas.vapor_pressure_strategies:\n",
"\n",
"class ConstantVaporPressureStrategy(VaporPressureStrategy)\n",
" | ConstantVaporPressureStrategy(vapor_pressure: Union[float, numpy.ndarray[Any, numpy.dtype[numpy.float64]]])\n",
Expand Down Expand Up @@ -885,7 +888,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -1019,7 +1022,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down Expand Up @@ -1166,7 +1169,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": null,
"metadata": {},
"outputs": [
{
Expand Down
1 change: 1 addition & 0 deletions particula/next/gas/species.py
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,7 @@ class GasSpecies:
"""

def __init__(self):
# We could use an empty list instead of None, might be better for types
self.name = None
self.molar_mass = None
self.pure_vapor_pressure_strategy = None
Expand Down
3 changes: 2 additions & 1 deletion particula/next/gas/vapor_pressure_factories.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,8 @@ def vapor_pressure_factory(
----
- strategy (str): The strategy to use for vapor pressure calculations.
Options: "constant", "antoine", "clausius_clapeyron", "water_buck".
- **kwargs: Additional keyword arguments required for the strategy.
- parameters (dict): A dictionary containing the necessary parameters for
the strategy. If no parameters are needed, this can be left as None.
Returns:
-------
Expand Down

0 comments on commit ae8f689

Please sign in to comment.