Commit 887f3a73 authored by Simon Spannagel's avatar Simon Spannagel
Browse files

Transient: add more tests, copying from GenericProp

parent 2a45e0b8
Loading
Loading
Loading
Loading
+34 −0
Original line number Diff line number Diff line
# SPDX-FileCopyrightText: 2023 CERN and the Allpix Squared authors
# SPDX-License-Identifier: MIT

#DESC uses the Runge-Kutta-Fehlberg integration of the equations of motion implemented in the drift-diffusion model to propagate the charge carriers to the implants under the influence of a constant magnetic field. The monitored output comprises the total number of charges moved, the number of integration steps taken and the simulated propagation time.
[Allpix]
detectors_file = "detector.conf"
number_of_events = 1
random_seed = 0

[MagneticFieldReader]
log_level = INFO
model = "constant"
magnetic_field = 500mT 2T 0

[DepositionPointCharge]
model = "fixed"
source_type = "point"
position = 445um 220um 0um
number_of_charges = 20

# We use a custom field here to not trigger the warning about linear fields being inappropriate
[ElectricFieldReader]
model = "custom"
field_function = "[0]*z + [1]"
field_parameters = -3750V/cm/cm, -1000V/cm

[WeightingPotentialReader]
model = pad

[TransientPropagation]
log_level = TRACE
temperature = 293K

#PASS [R:TransientPropagation:mydetector]  Propagated 10 to (507.281um,189.926um,200um) in 13.94ns time, induced 12e, final state: halted
 No newline at end of file
+37 −0
Original line number Diff line number Diff line
# SPDX-FileCopyrightText: 2023 CERN and the Allpix Squared authors
# SPDX-License-Identifier: MIT

#DESC test recombination of charge carriers during drift
[Allpix]
detectors_file = "detector.conf"
number_of_events = 1
random_seed = 0

[DepositionPointCharge]
model = "fixed"
source_type = "point"
position = 445um 220um 0um
number_of_charges = 1

[DopingProfileReader]
log_level = DEBUG
model = "constant"
doping_concentration = 30000000000000000

# We use a custom field here to not trigger the warning about linear fields being inappropriate
[ElectricFieldReader]
model = "custom"
field_function = "[0]*z + [1]"
field_parameters = -3750V/cm/cm, -1000V/cm

[WeightingPotentialReader]
model = pad

[TransientPropagation]
log_level = INFO
temperature = 293K
charge_per_step = 1
max_charge_groups = 0
recombination_model = "srh_auger"

#PASS Recombined 2 charges during transport
+31 −0
Original line number Diff line number Diff line
# SPDX-FileCopyrightText: 2023 CERN and the Allpix Squared authors
# SPDX-License-Identifier: MIT

#DESC tests if the selection of doping-dependent mobility models without doping information is caught correctly
[Allpix]
detectors_file = "detector.conf"
number_of_events = 1
random_seed = 0

[DepositionPointCharge]
model = "fixed"
source_type = "point"
position = 445um 220um 0um
number_of_charges = 20

# We use a custom field here to not trigger the warning about linear fields being inappropriate
[ElectricFieldReader]
model = "custom"
field_function = "[0]*z + [1]"
field_parameters = -3750V/cm/cm, -1000V/cm

[WeightingPotentialReader]
model = pad

[TransientPropagation]
log_level = INFO
temperature = 293K
mobility_model = "masetti"

#PASS (FATAL) [I:TransientPropagation:mydetector] Error in the configuration:\nValue "masetti" of key 'mobility_model' in section 'TransientPropagation' is not valid: Model not suitable for this simulation: No doping profile available
                                                             
 No newline at end of file
+30 −0
Original line number Diff line number Diff line
# SPDX-FileCopyrightText: 2023 CERN and the Allpix Squared authors
# SPDX-License-Identifier: MIT

#DESC tests if non-existing mobility models selected in the configuration file are detected
[Allpix]
detectors_file = "detector.conf"
number_of_events = 1
random_seed = 0

[DepositionPointCharge]
model = "fixed"
source_type = "point"
position = 445um 220um 0um
number_of_charges = 20

# We use a custom field here to not trigger the warning about linear fields being inappropriate
[ElectricFieldReader]
model = "custom"
field_function = "[0]*z + [1]"
field_parameters = -3750V/cm/cm, -1000V/cm

[WeightingPotentialReader]
model = pad

[TransientPropagation]
log_level = INFO
temperature = 293K
mobility_model = "nonexistent"

#PASS (FATAL) [I:TransientPropagation:mydetector] Error in the configuration:\nValue "nonexistent" of key 'mobility_model' in section 'TransientPropagation' is not valid: Model with name "nonexistent" does not exist
+29 −0
Original line number Diff line number Diff line
# SPDX-FileCopyrightText: 2023 CERN and the Allpix Squared authors
# SPDX-License-Identifier: MIT

#DESC tests the fallback of infinite charge carrier lifetime in case no recombination model is chosen
[Allpix]
detectors_file = "detector.conf"
number_of_events = 1
random_seed = 0

[DepositionPointCharge]
model = "fixed"
source_type = "point"
position = 445um 220um 0um
number_of_charges = 1

# We use a custom field here to not trigger the warning about linear fields being inappropriate
[ElectricFieldReader]
model = "custom"
field_function = "[0]*z + [1]"
field_parameters = -3750V/cm/cm, -1000V/cm

[WeightingPotentialReader]
model = pad

[TransientPropagation]
log_level = INFO
temperature = 293K

#PASS No charge carrier recombination model chosen, finite lifetime not simulated
Loading