SHIELDOSE-2
Model API name: sd2
Calculates, for arbitrary proton and electron incident spectra, the dose absorbed in small volumes of different detector materials for planar and spherical aluminium shield geometries.
Version: v2
External Input: trappedParticleSpectrum
Trapped particle spectrum
Input | Value |
---|---|
Model name |
ae8ap8
flumic
trep_larb
trapped-spectrum-ud
trep_upload
irene
jorem-trapped
omep
|
trep
|
Quantity | energy_flux_spectrum |
External Input: solarParticleSpectrum
Solar particle spectrum
External Input: gcrSpectrum
GCR particle spectrum
Input | Value |
---|---|
Model name |
iso_15390
creme-86-gcr
creme-96-gcr
|
nymmik-96-gcr
|
Quantity | energy_flux_spectrum |
Input group: sd2 / multiplicity: one
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
nuclearAttenuation | Nuclear attenuation flag |
1=No nuclear attenuation for protons in shield 2=Nuclear attenuation, local charged-secondary energy deposition 3=Nuclear attenuation, local charged-secondary energy deposition and approx. exponential distribution of neutron dose |
1 | number |
detector
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
detectorMaterial | Detector material |
1=Aluminium 2=Graphite 3=Silicon 4=Air 5=Bone 6=CaF2 7=GaAs 8=LiF 9=SiO2 10=Tissue 11=Water |
3 | number |
shield
Input | Description | Valid values | Default | Quantity |
---|---|---|---|---|
shieldDepthUnits | Shield thickness units |
1=mils 2=g cm^-2 3=mm |
3 | number |
shieldConfiguration | Shield configuration |
1=Finite slab 2=Semi-infinite medium 3=Centre of spheres |
3 | number |
shieldDepthValues | Shield depths/thicknesses |
0=Default values 1=User defined |
0 | number |
userShieldDepths |
User defined depths.
Used if shieldDepthValues==1 |
|
[0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1, 1.5, 2, 2.5, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20] | thickness |
|
None
import matplotlib.pyplot as plt
from nom_client.nom_client import NoMClient
nom_client = NoMClient("SD2 model example")
sapre_model = nom_client.get_model('sapre')
sapre_model.set_params(orbitType="GEN")
sapre_result = nom_client.run_model(sapre_model)
print(sapre_result)
# Running trapped radiation model
ap8ae8_model = nom_client.get_model('ae8ap8')
ap8ae8_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
ap8ae8_results = nom_client.run_model(ap8ae8_model)
print(ap8ae8_results)
# Running GCR model
creme_96_gcr_model = nom_client.get_model('creme-96-gcr')
creme_96_gcr_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
creme_96_gcr_results = nom_client.run_model(creme_96_gcr_model)
print(creme_96_gcr_results)
# Running SEP model
sapphire_total_fluence_model = nom_client.get_model('sapphire-total-fluence')
sapphire_total_fluence_model.set_external_input(external_input_name="trajectory", external_input=sapre_result)
sapphire_total_fluence_results = nom_client.run_model(sapphire_total_fluence_model)
print(sapphire_total_fluence_results)
# Running SD2 model
sd2_model = nom_client.get_model('sd2')
sd2_model.set_external_input(external_input_name="trappedParticleSpectrum", external_input=ap8ae8_results)
sd2_model.set_external_input(external_input_name="solarParticleSpectrum", external_input=sapphire_total_fluence_results)
sd2_model.set_external_input(external_input_name="gcrSpectrum", external_input=creme_96_gcr_results)
sd2_model.set_params(detectorMaterial=1, shieldDepthValues=1,
userShieldDepths=[0.05, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.8, 1, 1.5, 2,
2.5, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 16, 18, 20])
sd2_result = nom_client.run_model(sd2_model)
print(sd2_result)
# Explore results
dose_depth_curve = sd2_result.get_model_result_by_name(result_name="dose_depth_curve")
thickness = dose_depth_curve['thickness'].values
absorbed_dose = dose_depth_curve['absorbed_dose'].values
plt.rcParams['figure.figsize'] = [15, 10]
plt.rc('font', size=18)
plt.loglog(thickness.T, absorbed_dose.T, '-', linewidth=2.0, markersize=12.0,
label=dose_depth_curve['source'].values.squeeze().T)
plt.title('Dose depth curve', fontsize=18)
plt.grid(True)
plt.legend(bbox_to_anchor=(0.95, 0.95), loc=1, borderaxespad=0., fancybox=True, fontsize=18, shadow=True)
plt.xlabel("Thickness (mm)")
plt.ylabel("Absorbed dose (rad(Si))")
plt.show()
No references