Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ This replaces `specific_share_to_other_effects_*` parameters and inverts the dir
- Rewrote README and landing page with clearer vision, roadmap, and universal applicability emphasis
- Removed deprecated `docs/SUMMARY.md`, updated `mkdocs.yml` for new structure
- Tightened docstrings in core modules with better cross-referencing
- Added recipies section to docs
- Added recipes section to docs

### 🚧 Known Issues

Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ We believe that optimization modeling should be **approachable for beginners** y
- **Interactive tutorials**: Browser-based, reactive tutorials for learning FlixOpt without local installation (marimo)
- **Standardized cost calculations**: Align with industry standards (VDI 2067) for CAPEX/OPEX calculations
- **Advanced result analysis**: Time-series aggregation, automated reporting, and rich visualization options
- **Recipe collection**: Community-driven library of common modeling patterns, data manipulation techniques, and optimization strategies (see [Recipes](user-guide/recipies/index.md) - help wanted!)
- **Recipe collection**: Community-driven library of common modeling patterns, data manipulation techniques, and optimization strategies (see [Recipes](user-guide/recipes/index.md) - help wanted!)

**Long-term vision:**

Expand Down
47 changes: 0 additions & 47 deletions docs/user-guide/recipies/index.md

This file was deleted.

7 changes: 3 additions & 4 deletions examples/02_Complex/complex_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -75,9 +75,8 @@
on_hours_total_min=0, # Minimum operating hours
on_hours_total_max=1000, # Maximum operating hours
consecutive_on_hours_max=10, # Max consecutive operating hours
consecutive_on_hours_min=np.array(
[1, 1, 1, 1, 1, 2, 2, 2, 2]
), # min consecutive operation hoursconsecutive_off_hours_max=10, # Max consecutive off hours
consecutive_on_hours_min=np.array([1, 1, 1, 1, 1, 2, 2, 2, 2]), # min consecutive operation hours
consecutive_off_hours_max=10, # Max consecutive off hours
effects_per_switch_on=0.01, # Cost per switch-on
switch_on_total_max=1000, # Max number of starts
),
Expand Down Expand Up @@ -191,7 +190,7 @@
flow_system.add_elements(bhkw_2) if use_chp_with_piecewise_conversion else flow_system.add_elements(bhkw)

pprint(flow_system) # Get a string representation of the FlowSystem
flow_system.start_network_app() # Start the network app. DOes only work with extra dependencies installed
flow_system.start_network_app() # Start the network app. Does only work with extra dependencies installed

# --- Solve FlowSystem ---
calculation = fx.FullCalculation('complex example', flow_system, time_indices)
Expand Down
4 changes: 3 additions & 1 deletion examples/03_Calculation_types/example_calculation_types.py
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,9 @@
excess_penalty = 1e5 # or set to None if not needed

# Data Import
data_import = pd.read_csv(pathlib.Path('Zeitreihen2020.csv'), index_col=0).sort_index()
data_import = pd.read_csv(
pathlib.Path(__file__).parent.parent / 'resources' / 'Zeitreihen2020.csv', index_col=0
).sort_index()
filtered_data = data_import['2020-01-01':'2020-01-02 23:45:00']
# filtered_data = data_import[0:500] # Alternatively filter by index

Expand Down
9 changes: 7 additions & 2 deletions examples/04_Scenarios/scenario_example.py
Original file line number Diff line number Diff line change
Expand Up @@ -132,8 +132,13 @@
# Convert the results for the storage component to a dataframe and display
df = calculation.results['Storage'].node_balance_with_charge_state()
print(df)
calculation.results['Storage'].plot_charge_state(engine='matplotlib')

# Plot charge state using matplotlib
fig, ax = calculation.results['Storage'].plot_charge_state(engine='matplotlib')
# Customize the plot further if needed
ax.set_title('Storage Charge State Over Time')
# Or save the figure
# fig.savefig('storage_charge_state.png')

# Save results to file for later usage
calculation.results.to_file()
fig, ax = calculation.results['Storage'].plot_charge_state(engine='matplotlib')
Loading