Skip to content

Releases: JuliaPhysics/SolidStateDetectors.jl

v0.11.0

18 Feb 04:36
3f6997a

Choose a tag to compare

SolidStateDetectors v0.11.0

Diff since v0.10.27

SolidStateDetectors.jl now provides support for simulating inactive layers. This includes:

All the changes are combined in PR #540.
Find an example for inactive layer simulations and the determination of charge-collection efficiency curves in this tutorial.

inactive_layer.gif

Major breaking changes

  • #489:
    The internal implementation of CartesianPoint and CylindricalPoint is updated.
    • CartesianPoint and CylindricalPoint are not subtypes of StaticVector{3} anymore, and some semantically incorrect operations (point + point, mean(::Vector{Point}), ...) are not allowed anymore.
    • There is a new method to determine the barycenter of CartesianPoints (replacing Statistics.mean).
    • CartesianVector still has all Vector functionality, and points can be converted to vectors using cartesian_zero:
      vector = point - cartesian_zero, cartesian_zero + vector = point.
  • #560:
    CartesianPoints are now saved with their own "datatype" to HDF5 with LegendHDF5IO
  • #562:
    The temperature dependence implementation for ADLChargeDriftModel and ADL2016ChargeDriftModel is completely reworked.
    The old temperature dependence models (linear, boltzmann, powerlaw) are discontinued and replaced by a new PowerLawTemperatureModel based on M. Omar and L. Reggiani (1987).
  • #573:
    The config file syntax for linear and cylindrical impurity/charge densities is updated.
    Instead of defining an offset and gradient for each grid dimension, the config file now expects one field offset for the overall offset and gradient with fields for each dimension. Find an example with the new syntax here.

Minor changes

  • #572:
    The default min_tick_distance is not hard-coded to 10µm anymore, but takes the grid dimensions into account to provide a good default for smaller-scale simulations.
  • #580:
    Renamed two functions in table_utils.jl to fix typos:
    • blow_up_to_commen_length --> blow_up_to_common_length
    • groub_by_evt_number --> group_by_evt_number
  • #554:
    Removed deprecation warnings related with breaking changes from v0.6 to v0.7.
  • #590:
    Removed old_estimate_depletion_voltage.

Merged pull requests:

  • Add support for simulation for dead layer-Step1: position dependent mobility function (#475) (@zpdg)
  • Add support for simulation for dead layer-Step2: DiffusionModelTiedWithDrifting (#476) (@zpdg)
  • Add support for simulation for dead layer-Step3: ConstantLifetimeChargeTrappingModel (#480) (@zpdg)
  • Change AbstractCoordinatePoint to not be a FieldVector (#489) (@oschulz)
  • Add support for simulation for dead layer-Step4: impurity model based on the lithium thermal diffusion process (#493) (@zpdg)
  • Add support for simulation for dead layer-Step5: charge drift model (#496) (@zpdg)
  • Add support for simulation for dead layer: optimization, more geometry support, tutorials, etc (#502) (@zpdg)
  • Add support for simulation for dead layer - Step6: Support using point types to define the inactive layer (#512) (@claudiaalvgar)
  • Add support for simulation for dead layer - Step7: Support plotting full range of point types (#525) (@fhagemann)
  • Add support for simulation for dead layer - Step8: Refactor combining charge trapping models for bulk and inactive layer (#532) (@claudiaalvgar)
  • Add support for simulation for dead layer - Step9: Identification of the inactive layer contact and allow for depletion voltage calculation with inactive layer (#535) (@claudiaalvgar)
  • Add support for simulation for dead layer (#540) (@fhagemann)
  • Fix PtypePNJunction Impurity Density to read bulk_impurity_density from yaml (#546) (@claudiaalvgar)
  • Add keyword argument to return waveforms in units of energy (#549) (@fhagemann)
  • Fix plotting CartesianPoint with correct units (#551) (@fhagemann)
  • Use vectors instead of points to move_charges_inside_semiconductor (#553) (@hervasa2)
  • Remove old deprecation warnings (#554) (@fhagemann)
  • Fix parsing of linear and cylindrical charge densities (#555) (@fhagemann)
  • Fix getVe for ADL2016ChargeDriftModel (#556) (@fhagemann)
  • Allow creating ConstantImpurityDensity with units (#557) (@fhagemann)
  • Fix plotting methods with new CartesianPoint implementation (#558) (@fhagemann)
  • Add option to split MC-table events into separate events by time (#559) (@sm2909)
  • Create new datatype when saving CartesianPoint to HDF5 using LegendHDF5IO (#560) (@claudiaalvgar)
  • Adding temperature dependence to drift model parameters (#562) (@hervasa2)
  • Update DetectorHitEvents and add documentation (#563) (@fhagemann)
  • Bump actions/checkout from 5 to 6 (#566) (@dependabot[bot])
  • Bump minimum compat for JSON to 1.1 (#569) (@fhagemann)
  • Test Coverage for CartesianPoint: Part 1 (#570) (@claudiaalvgar)
  • Test Coverage for CartesianPoint: Part 2 (#571) (@claudiaalvgar)
  • Adjust default min_tick_distance based on the grid dimensions (#572) (@claudiaalvgar)
  • Redefinition of offsets in linear and cylindrical impurity/charge densities (#573) (@fhagemann)
  • Update _in for Cone and Torus (#575) (@claudiaalvgar)
  • Fix formulas in docs on electric field (#576) (@fhagemann)
  • Refactor ThermalDiffusionLithiumDensity to remove hardcoded parameters (#578) (@SimonePellegrini)
  • Test coverage for AbstractCoordinatePoint and AbstractVector (#580) (@benedikt-nagler)
  • Extend test coverage for CartesianPoint and CylindricalPoint (#581) (@claudiaalvgar)
  • Implement distance_to_surface for all surface primitives (#583) (@claudiaalvgar)
  • Run Downgrade tests on julia version 1 (#584) (@fhagemann)
  • Further extend code coverage (#585) (@fhagemann)
  • Pass correct type when creating RBArray and RBExtBy2Array (#586) (@fhagemann)
  • Increase code coverage for CSG (#587) (@fhagemann)
  • Fix distance_to_surface for ConeMantle (#588) (@fhagemann)
  • Implement missing cases in IO of Cones (#589) (@fhagemann)
  • Allow input to estimate_depletion_voltage to have units (#590) (@fhagemann)
  • Fix normal orientation in surfaces for OpenPrimitives (#591) (@fhagemann)
  • Update documentation for 0.11 release (#593) (@fhagemann)

Closed issues:

  • Fully support CartesianPoints with units (#183)
  • The user should be able to choose the "unit" of waveforms. (#284)
  • Update default value of min_tick_distance in potential calculation (#448)
  • Add more documentation on boundary types when defining grids in config files (#479)
  • Add option to cluster detector hits by time (#523)
  • Plotting CartesianPoints does not seem to be correct (#550)
  • Operations with CartesianPoints not supported and causing errors (#552)
  • simulate_waveforms Table columns types (#561)
  • Cloud size (#564)
  • Remove hardcoded values from ThermalDiffusionLithiumDensity and InactiveLayerChargeDriftModel (#567)
  • Check all implementations of distance_to_surface (#582)

v0.10.28

18 Feb 05:28
8e33f9b

Choose a tag to compare

SolidStateDetectors v0.10.28

Diff since v0.10.27

Merged pull requests:

  • [Backport 0.10] Fix validating the input to linear and cylindrical impurity/charge density (#574) (@fhagemann)
  • [Backport 0.10] Enhancements and bug fixes (#592) (@fhagemann)

v0.10.27

26 Oct 17:37
6a8fdcd

Choose a tag to compare

SolidStateDetectors v0.10.27

Diff since v0.10.26

Merged pull requests:

  • Switch SplineBouleImpurityDensity to FritschCarlsonMonotonicInterpolation (#547) (@hervasa2)
  • Make corrections of impurity densities optional (#548) (@fhagemann)

v0.10.26

24 Oct 16:46
f1d3c48

Choose a tag to compare

SolidStateDetectors v0.10.26

Diff since v0.10.25

Merged pull requests:

v0.10.25

11 Oct 18:49
e754672

Choose a tag to compare

SolidStateDetectors v0.10.25

Diff since v0.10.24

Merged pull requests:

  • Add geometry_check to LegendHDF5IO method of simulate_waveforms (#541) (@fhagemann)

v0.10.24

09 Oct 19:19
5bfcc6d

Choose a tag to compare

SolidStateDetectors v0.10.24

Diff since v0.10.23

Merged pull requests:

  • Add geometric validation for electrode termination in charge drift (#505) (@zql2021)

v0.10.23

06 Oct 03:07
eae97a6

Choose a tag to compare

SolidStateDetectors v0.10.23

Diff since v0.10.22

Merged pull requests:

  • CompatHelper: bump compat for JSON to 1, (keep existing compat) (#538) (@github-actions[bot])
  • Fix weighting potential calculation using floating passives on Cartesian grids (#539) (@fhagemann)

v0.10.22

29 Sep 17:44
dceca89

Choose a tag to compare

SolidStateDetectors v0.10.22

Diff since v0.10.21

Merged pull requests:

v0.10.21

28 Aug 21:45
dbf8742

Choose a tag to compare

SolidStateDetectors v0.10.21

Diff since v0.10.20

Merged pull requests:

  • Bump julia-actions/julia-downgrade-compat from 1 to 2 (#519) (@dependabot[bot])
  • Exclude plot recipes from codecov (#520) (@fhagemann)
  • CompatHelper: bump compat for DataStructures to 0.19, (keep existing compat) (#521) (@github-actions[bot])
  • Bump actions/checkout from 4 to 5 (#524) (@dependabot[bot])
  • Fix bug in source emission in Geant4 extension (#526) (@fhagemann)
  • Correct default value in calculate_potential! docstrings (#531) (@fhagemann)

Closed issues:

  • Deprecate the use of deg in config files (#450)
  • Geant4 extension isotope source opening angle not changing (#513)

v0.10.20

25 Jul 22:53
929daa7

Choose a tag to compare

SolidStateDetectors v0.10.20

Diff since v0.10.19

Merged pull requests:

Closed issues:

  • How to compute a capacitance-voltage curve (#514)