-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
updating branch to keep up to date with main fastsim-2 branch
- Loading branch information
Showing
15 changed files
with
294 additions
and
199 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -10,6 +10,7 @@ jobs: | |
test: | ||
runs-on: ubuntu-latest | ||
|
||
|
||
strategy: | ||
fail-fast: true | ||
matrix: | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -56,7 +56,12 @@ Developers might want to install the code in place so that FASTSim files can be | |
|
||
## Usage | ||
|
||
To see and run examples, navigate to `./python/fastsim/demos` and run the various *demo.py files to see fastsim use cases. There are other examples in fastsim/tests. | ||
To see and run examples, download the FASTSim demo files using the following code (with your Python environment activated and FASTSim installed): | ||
```python | ||
from fastsim import utils | ||
utils.copy_demo_files() | ||
``` | ||
This code downloads demo files into a specified local directory (if no directory is specified, it will create a `\demos` folder in the current working directory). WARNING: If you download the demo files to a location where files of the same name already exist, the original files will be overwritten. | ||
|
||
## Adding FASTSim as a Dependency in Rust | ||
|
||
|
@@ -105,51 +110,6 @@ ach = achieved value | |
in = component input | ||
out = component output | ||
|
||
## Known Issues | ||
|
||
Rust versions of classes have limited Language Server Protocol integration, and we are actively working on fixing this. | ||
|
||
## Release Notes | ||
|
||
2.1.2 -- SerdeAPI revamp with many new functions, various new vehicles, calibration demo, better error propagation, demo testing | ||
2.1.1 -- license changed to Apache 2.0, default cycle grade and road type to zero if not provided, defaults to regenerative braking parameters, optional documentation fields now generated in Rust | ||
2.1.0 -- release and installation improvements, RustVehicle init cleanup, calibration improvements | ||
2.0.11 - 2.0.22 -- PyPI fixes. Also, Rust version is now >100x faster than Python version. | ||
2.0.10 -- logging fixes, proc macro reorganization, some CAVs performance fixes | ||
2.0.9 -- support for mac ARM/RISC architecture | ||
2.0.8 -- performance improvements | ||
2.0.6 -- `dist_v2_m` fixes and preliminary CAV functionality | ||
2.0.5 -- added `to_rust` method for cycle | ||
2.0.4 -- exposed `veh.set_veh_mass` | ||
2.0.3 -- exposed `veh.__post_init__` | ||
2.0.2 -- provisioned for non-default vehdb path | ||
2.0.1 -- bug fix | ||
2.0.0 -- All second-by-second calculations are now implemented in both rust and python. Rust provides a ~30x speedup | ||
1.3.1 -- `fastsim.simdrive.copy_sim_drive` function can deepcopy jit to non-jit (and back) for pickling | ||
1.2.6 -- time dilation bug fix for zero speed | ||
1.2.4 -- bug fix changing `==` to `=` | ||
1.2.3 -- `veh_file` can be passed as standalone argument. `fcEffType` can be anything if `fcEffMap` is provided, but typing is otherwise enforced. | ||
1.2.2 -- added checks for some conflicting vehicle parameters. Vehicle parameters `fcEffType` and `vehPtType` must now be str type. | ||
1.2.1 -- improved time dilation and added test for it | ||
1.1.7 -- get_numba_veh() and get_numba_cyc() can now be called from already jitted objects | ||
1.1.6 -- another bug fix for numba compatibility with corresponding unit test | ||
1.1.5 -- bug fix for numba compatibility of fcPeakEffOverride and mcPeakEffOverride | ||
1.1.4 -- nan bug fix for fcPeakEffOverride and mcPeakEffOverride | ||
1.1.3 -- provisioned for optional load time motor and engine peak overrides | ||
1.1.2 -- made vehicle loading _more_ more robust | ||
1.1.1 -- made vehicle loading more robust | ||
1.1.0 -- separated jitclasses into own module, made vehicle engine and motor efficiency setting more robust | ||
1.0.4 -- bug fix with custom engine curve | ||
1.0.3 -- bug fixes, faster testing | ||
1.0.2 -- forced type np.float64 on vehicle mass attributes | ||
1.0.1 -- Added `vehYear` attribute to vehicle and other minor changes. | ||
1.0.0 -- Implemented unittest package. Fixed energy audit calculations to be based on achieved speed. Updated this file. Improved documentation. Vehicle can be instantiated as dict. | ||
0.1.5 -- Updated to be compatible with ADOPT | ||
0.1.4 -- Bug fix: `mcEffMap` is now robust to having zero as first element | ||
0.1.3 -- Bug fix: `fastsim.vehicle.Vehicle` method `set_init_calcs` no longer overrides `fcEffMap`. | ||
0.1.2 -- Fixes os-dependency of xlwings by not running stuff that needs xlwings. Improvements in functional test. Refinment utomated typying of jitclass objects. | ||
0.1.1 -- Now includes label fuel economy and/or battery kW-hr/mi values that match excel and test for benchmarking against Excel values and CPU time. | ||
|
||
## Contributors | ||
|
||
Chad Baker -- <[email protected]> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
# How to compile/test Rust code | ||
|
||
## cargo build | ||
`cargo build` will not compile when run in `/rust` due to problems compiling `/rust/fastsim-py`. | ||
`cargo build` should compile when run in the `/rust/fastsim-core`. | ||
|
||
## cargo test | ||
`cargo test` should compile when run in /rust because there are no tests in `/rust/fastsim-py`. | ||
|
||
## build_and_test.sh | ||
Running `sh build_and_test.sh` from the root fastsim directory compile/tests the Rust code, and tests the Python code. It should compile without errors. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,4 +2,6 @@ | |
|
||
## [Python](./python-doc.md) | ||
|
||
## [Rust](./rust-doc.md) | ||
## [Rust](./rust-doc.md) | ||
|
||
## [Developers](./developers.md) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,41 @@ | ||
## Release Notes | ||
|
||
2.1.2 -- SerdeAPI revamp with many new functions, various new vehicles, calibration demo, better error propagation, demo testing | ||
2.1.1 -- license changed to Apache 2.0, default cycle grade and road type to zero if not provided, defaults to regenerative braking parameters, optional documentation fields now generated in Rust | ||
2.1.0 -- release and installation improvements, RustVehicle init cleanup, calibration improvements | ||
2.0.11 - 2.0.22 -- PyPI fixes. Also, Rust version is now >100x faster than Python version. | ||
2.0.10 -- logging fixes, proc macro reorganization, some CAVs performance fixes | ||
2.0.9 -- support for mac ARM/RISC architecture | ||
2.0.8 -- performance improvements | ||
2.0.6 -- `dist_v2_m` fixes and preliminary CAV functionality | ||
2.0.5 -- added `to_rust` method for cycle | ||
2.0.4 -- exposed `veh.set_veh_mass` | ||
2.0.3 -- exposed `veh.__post_init__` | ||
2.0.2 -- provisioned for non-default vehdb path | ||
2.0.1 -- bug fix | ||
2.0.0 -- All second-by-second calculations are now implemented in both rust and python. Rust provides a ~30x speedup | ||
1.3.1 -- `fastsim.simdrive.copy_sim_drive` function can deepcopy jit to non-jit (and back) for pickling | ||
1.2.6 -- time dilation bug fix for zero speed | ||
1.2.4 -- bug fix changing `==` to `=` | ||
1.2.3 -- `veh_file` can be passed as standalone argument. `fcEffType` can be anything if `fcEffMap` is provided, but typing is otherwise enforced. | ||
1.2.2 -- added checks for some conflicting vehicle parameters. Vehicle parameters `fcEffType` and `vehPtType` must now be str type. | ||
1.2.1 -- improved time dilation and added test for it | ||
1.1.7 -- get_numba_veh() and get_numba_cyc() can now be called from already jitted objects | ||
1.1.6 -- another bug fix for numba compatibility with corresponding unit test | ||
1.1.5 -- bug fix for numba compatibility of fcPeakEffOverride and mcPeakEffOverride | ||
1.1.4 -- nan bug fix for fcPeakEffOverride and mcPeakEffOverride | ||
1.1.3 -- provisioned for optional load time motor and engine peak overrides | ||
1.1.2 -- made vehicle loading _more_ more robust | ||
1.1.1 -- made vehicle loading more robust | ||
1.1.0 -- separated jitclasses into own module, made vehicle engine and motor efficiency setting more robust | ||
1.0.4 -- bug fix with custom engine curve | ||
1.0.3 -- bug fixes, faster testing | ||
1.0.2 -- forced type np.float64 on vehicle mass attributes | ||
1.0.1 -- Added `vehYear` attribute to vehicle and other minor changes. | ||
1.0.0 -- Implemented unittest package. Fixed energy audit calculations to be based on achieved speed. Updated this file. Improved documentation. Vehicle can be instantiated as dict. | ||
0.1.5 -- Updated to be compatible with ADOPT | ||
0.1.4 -- Bug fix: `mcEffMap` is now robust to having zero as first element | ||
0.1.3 -- Bug fix: `fastsim.vehicle.Vehicle` method `set_init_calcs` no longer overrides `fcEffMap`. | ||
0.1.2 -- Fixes os-dependency of xlwings by not running stuff that needs xlwings. Improvements in functional test. Refinment utomated typying of jitclass objects. | ||
0.1.1 -- Now includes label fuel economy and/or battery kW-hr/mi values that match excel and test for benchmarking against Excel values and CPU time. | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.