wmd-group / carriercapture.jl Goto Github PK
View Code? Open in Web Editor NEWJulia package to compute trap-assisted electron and hole capture in semiconductors
Home Page: https://wmd-group.github.io/CarrierCapture.jl/dev/
License: MIT License
Julia package to compute trap-assisted electron and hole capture in semiconductors
Home Page: https://wmd-group.github.io/CarrierCapture.jl/dev/
License: MIT License
The documentation includes a section on "Usage". In addition to this, there is a separate "Typical Usage" section in the example directory that goes into much more technical detail. As far as I can tell, there are no links to this information anywhere else in the documentation; I only see a link to the /example/notebook
subdirectory, which makes this easy to miss. I recommend that you incorporate the information in /example/README.md
more coherently into the documentation, either by linking to it prominently or by moving it elsewhere.
A built-in solver or a registered package is required as the current solver (Brooglie) is not registered, and it is required for a user to install manually.
A candidate: https://github.com/JuliaDiffEq/DiffEqTutorials.jl
Can you detail somewhere how to run the unit tests, to ensure everything has been installed correctly?
Part of openjournals/joss-reviews#2102
Help strings are very useful for checking what a command line program does without having to open the docs on the website. I.e., so you can type:
get_cc_struct.py -h
Currently, all the tools provided in CarrierCapture.jl/script/
do not have help strings. It would be nice to add them (even if they are only very short descriptions) to make it clear what the scripts do.
argparse
makes this very easy. For example:
import argparse
parser = argparse.ArgumentParser(description='This is my help string.')
See https://docs.python.org/3.7/library/argparse.html#example for more information.
Part of openjournals/joss-reviews#2102
The installation instructions are straightforward enough for anyone with prior experience using Julia, but could potentially confuse others. It would be worthwhile to clarify that the "Pkg.add" command should be executed (1) within the context of the Julia REPL and (2) after executing a "using Pkg" command. Once users reach this point, you can rely on your examples to help ease them into the language.
I'm sure he would be very pleased to know CarrierCapture.jl is licensed under his name...
Line 3 in 9f99fea
Part of openjournals/joss-reviews#2102
During the execution of the script, I received an error message, and I am uncertain about its root cause. The error message I encountered is as follows:
"Julia> calc_overlap!(cc_e; cut_off = cut_off, σ = σ , Q₀ = 0)
Julia> calc_capt_coeff!(cc_e, Volume, temperature)
ERROR: AssertionError: occ(ϵ_max, T_max): 2.0207251001010498e-5 should be less than 1.0e-5
Stacktrace:
[1] calc_capt_coeff!(cc::conf_coord, V::Float64, temperature::StepRangeLen{Float64, Base.TwicePrecision{Float64}, Base.TwicePrecision{Float64}, Int64})
@ CarrierCapture C:\Users\9527.julia\packages\CarrierCapture\RaoWA\src\CaptureRate.jl:118
[2] top-level scope
@ REPL[173]:1"
Now I have a problem about the installation of Carriercapture.jl code, the question as follow:
Exception calling "DownloadFile" with "2" argument(s): "An exception occurred during a WebClient request."
At C:\ps_script\testjava.ps1:41 char:31
$client.DownloadFile <<<< ($source, $destination)
The example notebooks would be a lot more clear if you added some descriptions of what each section is trying to achieve. For someone with no familiarity of the code, I found it quite difficult to parse what each code block was doing. As the notebooks are the main tutorials for the bulk of the code, I think they should be made as clear as possible.
Each notebook should have some discussion at the top, maybe introducing the theory but definitely describing what the notebook will achieve. I would also add the date and version of CarrierCapture.jl used when the notebook was originally run, as this will make it clear when things go out of date.
You can see some excellent example notebooks in these repositories:
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.