-
Notifications
You must be signed in to change notification settings - Fork 1.1k
ENH: add methods and tests for a explicit IV curve calculation of single-diode model #409
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from 1 commit
Commits
Show all changes
76 commits
Select commit
Hold shift + click to select a range
22d2e5c
add methods and tests for a faster way to calculate single-diode model
mikofski bb7c49a
log estimate of speedup in test
mikofski 36d4f78
use ordered dict for output, match inputs and outputs, add iv-curve
mikofski 817a303
add "slow" but reliable ways to calculate i_from_v and vv
mikofski b17a8cd
add check for numerical errors
mikofski 0666d29
use float64, output symbols for fun, make executable
mikofski 595e254
add tests for slower_way using fminbound
mikofski 5ade588
change voc to v_oc
mikofski 7179096
add numeric type to args in docstrings
mikofski 4b66f87
replace custom newton method with scipy.optimize.newton
mikofski 664d7d8
get lambdas working in fast_i_from_v
mikofski 09a9e14
add fast_v_from_i using newton
mikofski 06be522
add fast_mppt
mikofski 1aba56a
calculate i_x and i_xx too for both fast and slow
mikofski f09be91
test i_x and i_xx too
mikofski 4905363
use brentq instead of fminbound
mikofski a3d2bb4
change test for numerical errors to use data file
mikofski 8ee1b94
working on #410
mikofski c9a893a
helping test_singlediode pass tests
mikofski c5248bb
add the requires scipy decorator
mikofski 68c65c3
fixes #410
mikofski 41e0c83
add i, v, and p to out
mikofski d7b6e62
need to calculate i-v curve points to compare
mikofski aa3d29a
add mppt method, update docs
mikofski 9fc350d
fix latex and other sphinx formatting issue sand typos
mikofski 54e8d18
fix circular import issues?
mikofski 16ad9b4
try something remove redundant package imports
mikofski 7aca302
don't raise import error at module level if no scipy
mikofski 086e73f
okay I think I fixed it, now return pvlib module objects
mikofski 9f2b157
try to modify i_from_v
mikofski 555e946
implement v_from_i wrapper
mikofski 52a8e88
respond to @thunderfish24 review items:
mikofski c0e18a5
change default argument for method to "gold"
mikofski 09c6a75
update test_singlediode_methods to use lambertw in comparison
mikofski ff8cc0b
change name from mppt -> mpp
mikofski 446fa9e
add test to check for verbose yet graceful failure of v_from_i
mikofski f976f61
fix pytest.raise context, add test_v_from_i
mikofski db88022
change mppt->mpp in api.rst docs
mikofski a509dd3
fix what's new to point to mpp in docs, also add links to bishop88 an…
mikofski 62010c2
Merge branch 'master' into faster_way
mikofski 5c939b8
TST: fix precision test to use new calcparams* API
mikofski 66a801d
TST: update singlediode test for updated atol in #415
mikofski df1423b
DOC: update what's new for 0.6 with proposed explicit SDM solution
mikofski eb20cf4
DOC: update docstring to conform to numpydoc style in sdm methods
mikofski e3805ef
Merge branch 'master' into faster_way
mikofski 5f89578
ENH: refactor est_voc -> estimate_voc
mikofski ba84fcf
ENH refactor pvsystem.estimate_voc too, also update docs to numpy style
mikofski 0f3893c
ENH refactor vd->diode_voltage in bishop88
mikofski d6023b1
ENH: TST: refactor reshaping conditions for _array_newton
mikofski 80b3352
ENH: TST: make brentq vectorized always
mikofski ef20676
ENH: TST: can't vectorize brentq because it treats args as array
mikofski 98d1c01
BUG: TST: use "brentq" instead of "gold"
mikofski 4ecd913
TST: change test fixtures with nonsensical values in quadrant four
mikofski bf05d2d
TST: fix mpp tests
mikofski edc445d
ENH: clean up last little bit
mikofski f542d15
ENH: BUG: TST: DOC: remove all traces for "fast" or "slow"
mikofski cc6c976
TST: BUG: fix the boolean mask numpy<1.14 bug in tests
mikofski 22c53fc
ENH: TST: ignore .pytest_cache/ folder
mikofski 442a3d4
DOC: MAINT: respond to review by @cwhanse , clean up docstrings
mikofski 6bcffe8
MAINT: update comment about mpp search algorithm
mikofski e6b60c6
MAINT: update what's new for v0.6
mikofski 0fc9c83
DOC: make sure docs render well
mikofski fc6cee1
DOC: MAINT: rewording what's new with @cwhanse comments to make it clear
mikofski 28c8ffb
API: change bishop88 and estimate_voc to be used from singlediode_met…
mikofski 58361c1
DOC: link to new singlediode_methods subfunctions in what's new
mikofski 5f9ed41
API: DOC: ENH: change pvsystem.mpp() -> max_power_point()
mikofski 43475cc
MAINT: address comments by @wholmgren
mikofski c79ab97
Merge branch 'master' into faster_way
mikofski 1ad6031
MAINT: add comment to explain why we import brentq in try-except
mikofski f14ba04
MAINT: move lambertw methods to singlediode_methods.py
mikofski 8d86560
MAINT: add docstring elaborating the numerical precision test
mikofski 337d7b4
MAINT: use np.expm1(x) for exp(x) - 1 in bishop88 single diode method
mikofski ce5b0f5
MAINT: replace boilerplate code for broadcasting newton array args
mikofski 3e009f8
MAINT: TEST: parametrize i_from_v and v_from_i for methods, atol
mikofski 082dfd5
MAINT: remove import of functools.partial in pvsystem.py
mikofski ceb69cd
MAINT: wrap lines longer than 79 characters
mikofski File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
add fast_v_from_i using newton
- Loading branch information
commit 09a9e147564ae9bd520a26b860b6fc2dd3a6799f
There are no files selected for viewing
This file contains hidden or 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
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm not sure if "unreliable" is the best choice of words here. It's more of an "unchecked" result.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
✔️