Draft
Conversation
14cc2ac to
99aff01
Compare
Closed
9adb19d to
f54e8a1
Compare
janvdijk
reviewed
Feb 7, 2026
janvdijk
reviewed
Feb 7, 2026
janvdijk
reviewed
Feb 7, 2026
b14e760 to
36f0f46
Compare
The function computes an analytic solution to the u*sig*f collision integrals, assuming sig to be locally linearly dependent on u, and f to the locally exponentially dependent on u.
Adds functions `collision_integral_sink` and `collision_integral_source` that do the piecewise integration of the inelastic source terms.
This function uses the new method of computing the inelastic collision integrals. The solution now requires iteration, hence the new function. The nonconservative terms have been temporarily disabled in `invertLinearMatrix`, to allow for comparison between the two functions.
These functions directly interpolate the given cross section from the raw data (skipping an interpolation onto the grid faces). These functions are a bit more involved, as the cross section grid needs to be taken into account when splitting up the energy domain for integration.
Done to compare the original solution to the solution proposed on this branch. This currently includes growth schemes, ionization, attachment and e-e collisions.
To compare to the Scharfetter-Gummel scheme.
There is a bug in the source term.
Change perspective of u_start to upper energy.
This is used as a test case for integrating different quantities.
Currently it only computes the mobility in two different ways.
The idea is that using this machinery we can easily build expressions that fold the EEDF with other quantities, while also easily being able to switch between the different interpolating expressions for the EEDF.
These functions use the new iterator/integrator machinery.
The grid iterator sometimes got stuck when integrating the superelastic source on (very) large grids. This is fixed by adding a small epsilon in the lhs of the predicate.
The procedures now use a linear integrator.
The new `InterpolatingIterator` machinery only work for cross sections that start their energy domain at zero energy for now.
36f0f46 to
3728dcc
Compare
Resolves comments by @janvdijk.
3728dcc to
a72102a
Compare
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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This patch aims to implement a multitude of numerical improvements. I have opened this draft PR to track the progress, I might split the PR into multiple smaller PRs later down the line.
Resolves #197
Relates to #205