Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
64 commits
Select commit Hold shift + click to select a range
72aa484
update dependencies to Bevy 0.16 and adjust ECS component imports
Apr 29, 2025
cf5c552
archive
Apr 29, 2025
528cfbd
refactor: implement serialization for archive feature and remove unus…
chengts95 May 15, 2025
b69b11a
feat: update default features and configure bevy_archive dependency f…
chengts95 May 15, 2025
58de265
fix: correct archive feature configuration and improve resource regis…
chengts95 May 15, 2025
ffe4976
fix: update bindgen version and correct resource registration in Arch…
May 15, 2025
9231b9a
init rustpower-sol-klu crate with KLU bindings and solver implementation
May 15, 2025
bebfee0
fix: update dependency path for rustpower-sol-klu in Cargo.toml and a…
May 15, 2025
4659289
fix: refactor network and archive handling in pandapower module
May 15, 2025
5491367
fix: update package version and edition in Cargo.toml; rename field t…
May 15, 2025
78b3de6
fix: refactor ecs_net example to improve structure and add serializat…
May 15, 2025
2292294
fix: refactor units module for improved structure and add UnitKind enum
May 15, 2025
6662b60
feat: Add Bus and Switch components for power flow network
May 16, 2025
93e28ea
fix: update dependencies in Cargo.toml and refactor node lookup logic…
May 16, 2025
41c8a32
fix: update Cargo.toml dependencies and refactor solver initializatio…
chengts95 May 19, 2025
ecdd085
feat: add generator and line modules with components and snapshot reg…
chengts95 May 19, 2025
0d5a422
feat: add load and shunt modules; enhance units module with debug sup…
chengts95 May 19, 2025
911fab8
feat: enhance solver architecture by introducing DefaultSolver; add F…
chengts95 May 20, 2025
83e5e90
feat: refactor and enhance elements with new load, shunt, generator, …
May 20, 2025
3ee4910
clean up old oop methods
May 20, 2025
c60892d
feat: add rustpower_proc_marco crate and implement DeferBundle for en…
May 20, 2025
55182d6
feat: refactor DeferBundle and DeferredEntityBuilder to DeferredBundl…
chengts95 May 21, 2025
80c847c
feat: enhance DeferBundle and related components; refactor entity man…
May 21, 2025
a04ffb4
feat: implement LoadPandapowerNet trait and enhance world loading fun…
May 21, 2025
567eb49
feat: refactor PQRange to PQLim with proxy struct for serialization; …
May 21, 2025
b45aad7
feat: enhance switch handling and snapshot registration; refactor ele…
May 22, 2025
14c4100
feat: update default features to include 'archive' alongside 'rsparse'
May 22, 2025
a4f2a93
feat: add base frequency in Hz to PFCommonData; implement node lookup…
May 22, 2025
12293af
feat: add power flow components and systems; initialize node tagging …
chengts95 May 25, 2025
2758c18
feat: enhance power flow system; refactor bus handling, add bus ID, a…
May 26, 2025
bffd2f3
feat: refactor power flow module; reorganize imports, add power flow …
May 27, 2025
0127a25
feat: enhance power flow components; add SparseSet storage to bus com…
May 27, 2025
818e325
remove old pandapower ecs conversion
May 27, 2025
4304246
feat: update test cases to run process_switch_state system before mat…
chengts95 May 28, 2025
f1a46fa
fix: update snapshot registration methods and clean up unused variabl…
May 28, 2025
ee440e9
refactor: remove unused imports and clean up code in elements and net…
May 28, 2025
4c7b0e2
refactor: clean up unused code and improve macro visibility in archiv…
May 28, 2025
27b7a2f
Merge branch 'bevy-0.16' of https://github.com/chengts95/rustpower in…
May 29, 2025
122f5d7
feat: add example for time measurement and enhance ECS application in…
May 29, 2025
ca4c0b6
feat: enhance archive example with snapshot registration and file saving
May 29, 2025
497e321
feat: update archive example to use new manifest loading and add a ca…
chengts95 May 29, 2025
568578a
Refactor archive_example.rs: Remove unused imports and streamline code
chengts95 May 30, 2025
2592b16
Refactor power flow and snapshot management in RustPower
May 30, 2025
12036eb
refactor: remove unused snapshot registration and world manifest savi…
May 30, 2025
9d9fdbb
refactor: remove unused import of save_world_manifest in ecs_net example
May 30, 2025
6a09eb6
refactor: clean up archive_example by removing unused imports and red…
May 30, 2025
be69385
refactor: simplify imports and comment out unused plugin in archive_e…
May 30, 2025
1c0b96a
feat: add time series module with scheduling and time management func…
May 30, 2025
8fb8c55
feat: enhance time series functionality with scheduling and time mana…
Jun 3, 2025
ed6b7c1
refactor: clean up time_series and network examples by removing unuse…
chengts95 Jun 4, 2025
518e79d
refactor: improve time_series example by consolidating imports and en…
chengts95 Jun 4, 2025
5f12354
feat(timeseries): integrate TimeSeriesArchivePlugin and update file p…
chengts95 Jun 4, 2025
19ffbb5
fix(dependencies): update zip dependency version from 3.0.0 to 4.0.0
chengts95 Jun 4, 2025
f7fd285
Merge branch 'bevy-0.16' into v.0.3
Jun 4, 2025
2e4dabe
Enhance ECS elements and power flow modules with detailed documentati…
Jun 4, 2025
fe92d3d
Merge branch 'bevy-0.16' into v.0.3
Jun 4, 2025
7993121
chore(docs): remove example code snippets from unit and snapshot macr…
Jun 4, 2025
712c0e7
feat(docs): enhance documentation for time-series and state managemen…
Jun 4, 2025
d48cbe5
chore(docs): update README and manifest documentation; fix example re…
Jun 4, 2025
dbde47c
feat(docs): add new features and solvers to the 0.3.0 release notes i…
Jun 4, 2025
05026fc
chore(docs): update release date and enhance changelog for version 0.3.0
Jun 4, 2025
b745a83
style: format code for better readability in archive_example.rs, ecs_…
Jun 4, 2025
26efa97
style: format code for better readability in archive_example.rs, ecs_…
Jun 4, 2025
b9ea2f2
Merge branch 'main' into v.0.3
Jun 4, 2025
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
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ Cargo.lock
/.cargo/

# Generated documentation
/doc/
/target/doc/

# OS-specific files
Expand Down
43 changes: 29 additions & 14 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,28 @@
[package]
name = "rustpower"
version = "0.2.1"
edition = "2021"
version = "0.3.0"
edition = "2024"

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[features]
default=[]
klu = ["dep:klu-rs"]

[workspace]
members = [
"crates/*"
]
default-members = [
".",
"crates/rustpower_proc_marco",
]
[features]
default=["rsparse","archive"]
klu = ["dep:rustpower-sol-klu"]
faer = ["dep:faer"]
rsparse = ["dep:rsparse"]
archive = []
[profile.release]
opt-level = 3 # Use slightly better optimizations.
opt-level = 3
overflow-checks = false # Disable integer overflow checks.
lto = true
lto = "fat"

[dependencies]
ordered-float = { version = ">3.0", default-features = false }
Expand All @@ -23,14 +34,18 @@ serde_json = ">=1.0"
num-traits = ">=0.2"
num-derive = ">=0.3"
num-complex = ">=0.4"
rsparse = "^1.2"
rsparse = {version ="^1.2", optional = true}
csv = "^1.3.0"
zip = "^2.2.0"
bevy_ecs = "^0.15.0"
bevy_app = "^0.15.0"
bevy_hierarchy = "^0.15.0"
zip = "^4.0.0"
bevy_ecs = "^0.16.0"
bevy_app = "^0.16.0"
derive_more = { version = "^1.0", features = ["full"] }
tabled = "^0.16.0"
[dependencies.klu-rs]
path = "./klu_rs"
bevy_archive = {version = "0.1.4"}
const_format = {version = "^0.2.34"}
faer = {version = "^0.22", optional = true}
rustpower_proc_marco = {path = "crates/rustpower_proc_marco"}
bumpalo = "^3.17.0"
[dependencies.rustpower-sol-klu]
path = "./crates/rustpower-sol-klu"
optional = true
11 changes: 9 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,15 @@
# RustPower

[![Crates.io](https://img.shields.io/crates/v/rustpower.svg)](https://crates.io/crates/rustpower)
[![Docs.rs](https://docs.rs/rustpower/badge.svg)](https://docs.rs/rustpower)
[![CI](https://github.com/chengts95/rustpower/actions/workflows/rust.yml/badge.svg)](https://github.com/chengts95/rustpower/actions)
RustPower is a cutting-edge power flow calculation library written in Rust, specifically designed for steady-state analysis of electrical power systems. With the introduction of **ECS-based architecture** in version 0.2.0, RustPower offers unparalleled modularity and extensibility.

---
## **What's New in 0.3.0**
- **New Solvers**:
**faer**: A highly efficient and scalable solver for large-scale power systems.
- **Inital support for native ECS archive files**
- **Initali support for time-series simulations**

## **What's New in 0.2.0**
- **World's First ECS-Based Power Flow Solver**:
Expand Down Expand Up @@ -90,7 +97,7 @@ fn main() {
}
```

For more examples, check the `cases` folder.
For more examples, check the `examples` and `cases` folder.

---

Expand Down
Loading