All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
KeyError
s in the*_experiments
dictionaries becausePath
s were used as keys
- Vectorize derivative computation in
Simulation
class - Update Intersphinx versions in documentation
- Exception no longer raised when the EOC time is changed of an experiment that was mischaracterized as non-reactive
3.0.4 - 2017-06-21
- EOC time not respected after it had been changed in
change_EOC_time
3.0.3 - 2017-06-16
- Function to manually set the EOC time,
change_EOC_time
- Comparing T_EOC between reactive and non-reactive caused a
ValueError
- Add
copy
argument toAltExperiment
class initializer - Fix how adding cases is handled in
AltCondition
3.0.2 - 2017-04-19
- CITATION file
- PyPI packages
- Deploy doctr to the root directory (see drdoctr/doctr#157 and drdoctr/doctr#160)
- DOI badges point to latest DOI from Zenodo
- Relicensed to BSD 3-Clause
3.0.1 - 2017-02-21
- Copy keyword in Experiment init to avoid auto-copy to clipboard
- Regression tests for Experiment, including ignition delay, p_EOC, and T_EOC estimate
kwargs
are passed through to the Experiment init inadd_experiment
copy=False
kwarg passed toadd_experiment
in tests fixes tests on Travis- Load CTI file instead of from source string to avoid Cantera/cantera#416
- Butterworth filter is now first order
- Butterworth filter cutoff frequency is no longer corrected
- End point for linear fit of filter residuals is chosen automatically
- Derivative is smoothed with moving average
3.0.0 - 2017-02-07
- Print warning when the simulated TCs don't match
- Python 3.6 builds on Travis
- Conda builds on Travis/Appveyor upload to anaconda.org when a tag is pushed.
- Appveyor builds for Windows tests/packaging
- Prompt user for filter frequency when auto-setting fails
- Label for raw pressure line
- Refactor
Simulation
class to new module - Conda recipe
- Summary output from
Condition
- String input to
Experiment
- Add types to the docs for constants
__repr__
for all classes- Text-file output from relevant trace-type classes
reactive_file
is an attribute ofCondition
as a property- This CHANGELOG file
- Automatic filter cutoff frequency selection and override functions
- Upload docs to gh-pages with doctr
- Disable Cantera thermo warnings after loading a CTI file for the first time
volume-trace.yaml
file is automatically written- Version information is stored in
_version.py
- Travis builds now fail appropriately
- Added MANIFEST.in and modified setup.py to include test data files
- Replot lines when filtering frequency is changed
- Fix docs after
dataprocessing
->conditions
/experiments
module split - Unsuppress thermo warnings before loading a new CTI file
- Properly set
reactive_case
andnonreactive_case
, and other attributes important for theVolumeTrace
generation - Filter frequency has to be set after the experiment sampling frequency is calculated
- Writing the
volume-trace.yaml
file now has filenames instead ofPath
reprs - Time in figure legend has a colon
- Catch
FileNotFoundError
s instead ofOSError
s when files are missing - Raise exceptions if CTI arguments are specified incorrectly to
Experiment
- Convert all time axes on figures to ms
- Split the dataprocessing module into experiments and conditions modules
- Use slices to compute the derivative of the experimental pressure trace
- A CTI filename is required as input when Condition is instantiated
- The creation of the volume trace is controlled by instance attributes rather than
volume-trace.yaml
- Minimum version of Cantera is 2.3.0
- CanSen dependency is no longer required
- Voltage traces are no longer smoothed, and the smoothing function has been removed
2.1.0 - 2016-05-31
- Docs for
dataprocessing
- Matplotlib to intersphinx
- Alternate class for processing experimental data
AltExperiment
- The year is stored in the
experiment_parameters
dictionary - Plot the P0 fit line on nonreactive plots
- Axis labels on figures
- Default documentation role is
py:obj
- Import from
experiment
module should bedataprocessing
module - Wrong version in docs
- Get the non-reactive experiment to plot in
create_volume_trace
- The zeroed time and pressure trace should come from the
pressure_trace
instance inprocess_folder
- Include offset in pressure trace timing calculations
- Documentation typos in filtering function and finding PC
- Using a float as an index to a NumPy array is deprecated, so don't do that
- Use online Cantera docs for intersphinx
- The exception generated if calculation of TC fails is printed
parse_file_name
is a method ofExperiment
- Reduce the search increment for finding PC from 100 to 50
PressureFromVolume
andVolumeFromPressure
state can no longer be set by P and v
2.0.2 - 2016-01-24
Condition
is imported in__init__.py
2.0.1 - 2016-01-23
- Wrong figure name used in
compare_to_sim
- Derivative of simulated pressure trace was computed incorrectly
- Only get the parameters needed from the YAML file, instead of loading the whole thing every time
- Simulations are plotted with the time-axis in ms and with the zero at EOC
2.0.0 - 2016-01-23
- Sphinx documentation
- Clipboard pasting works on OS X and Windows
- Refactor most functionality into classes
- Remove
ParsedFilename
class - Remove old, unused, modules including
nonreactive.py
,volume_trace.py
, andexperiments.py
->dataprocessing.py
- Set the overall and first stage ignition delays, and the TC of nonreactive experiments to 0
1.0.7 - 2016-12-01
- Low-pass filtering function for the voltage signal
- First stage ignition delay is automatically calculated
- Errors in computing the temperature are caught now, instead of crashing the analysis
- Eliminate deprecation warning about
ReactorNet.step()
by checking the version of Cantera being used
- Change offset for ignition delay calculation from 5 ms to 2 ms
- Use FFT convolve from
scipy
instead ofconvolve
fromnumpy
because the FFT was 100x faster - The voltage is low-pass filtered and then moving-average smoothed, rather than just being smoothed
- Increase the smoothing window for the derivative from 5 to 151
- The compression time from the YAML file is used as the end time when fitting the initial period of the pressure trace
1.0.6 - 2015-07-18
- Option to specify
end_time
orend_temp
to the simulation in the class constructor
1.0.5 - 2015-07-16
- Option to plot results in the
ign_loop
script
1.0.4 - 2015-07-16
- Bugs related to missing
pathlib
imports in traces files
1.0.3 - 2015-07-16
- New dependency on the
pathlib
module, requiring Python >= 3.4
- The path to search for files to process in
ign_loop
is computed at runtime rather than import-time - Fix typo in
ParsedFilename
docs
1.0.2 - 2015-07-16
- Ignore the build directory
- Rename class
PressureTrace
toExperimentalPressureTrace
- The smoothing function sets the first
(span-1)/2
data points equal to the value there - Refactor
voltage
variable name to besignal
- Smooth the voltage first, then compute the pressure, rather than the other way around
1.0.1 - 2015-07-16
- Filename for the reactive experiment is loaded from the
volume-trace.yaml
file
- Minimize code inside with-statement for YAML file
- Ignore
dist
folder from Git
- The name of the script to run an analysis of a folder is changed from
process-ignition-loop
toignloop
1.0.0 - 2015-06-28
- Basic functionality of class-based interface to process data