The current in a parallel plate chamber was calculated, the result is:
but the classic current signal from a parallel plate chamber is:
so why no current signal by ion?
The current in a parallel plate chamber was calculated, the result is:
so why no current signal by ion?
How did you produce this plot? Did you include ion transport in the simulation?
@hschindl , the current plot is similar with “Examples/DriftTube” but not ConvoluteSignals;
the ions were drifted, the codes are:
while (track.GetCluster(xc, yc, zc, tc, nc, ec, extra)) {
for (int ijk = 0; ijk< nc; ++ijk) {
drift.DriftElectron(xc, yc, zc, tc);
drift.DriftIon(xc, yc, zc, tc);
}
}
Hi,
it’s difficult to diagnose without having more information on how you set up the geometry, defined the active medium (if you use a gas mixture, did you load an ion mobility file?) etc. and what output you got when running your program.
Maybe have a look at this example?
It simulates the induced current signal from a charged-particle track in a parallel-plate geometry (with silicon as the active medium).
@hschindl , the ComponentComsol class object is used, and the medium is used like this:
MediumMagboltz gas;
gas.LoadGasFile("Ar90_CH4_10_1bar.gas");
ComponentComsol fm;
const unsigned int nMaterials = fm.GetNumberOfMaterials();
for (unsigned int i = 0; i < nMaterials; ++i) {
const double eps = fm.GetPermittivity(i);
if (eps == 1) fm.SetMedium(i, &gas);
if(eps==1e10)fm.SetMedium(i,&cu);
}
the ion mobility file is loaded like this:
const std::string path = std::getenv("GARFIELD_INSTALL");
gas.LoadIonMobility(path + "/share/Garfield/Data/IonMobility_Ar+_Ar.txt");
the output comment on the terminal is:
MediumMagboltz::LoadGasFile:
Reading file Ar90_CH4_10_1bar.gas.
Version 12.
Gas composition set to Ar/CH4 (90/10).
MediumMagboltz::LoadMobility:
Read 36 values from file /usr/local/Garfield/share/Garfield/Data/IonMobility_Ar+_Ar.txt
ComponentComsol::Initialise: 209692 nodes.
ComponentComsol::Initialise: 155589 elements.
ComponentComsol::Initialise: Reading potentials.
ComponentComsol::Prepare:==============================================]
Caching the bounding boxes of all elements... done.
Initialized tetrahedral tree.
ComponentComsol::Initialise: Done.
ComponentComsol::SetWeightingPotential:
Reading field map for electrode Anode.
**********************************************************=============]
**********************************************************
**********************************************************
**********************************************************
**********************************************************
weighting field== 2.854e-05 -5.86979e-06 -0.504098
**********************************************************
**********************************************************
**********************************************************
**********************************************************
**********************************************************
weighting potential==0.494956
**********************************************************
**********************************************************
**********************************************************
**********************************************************
**********************************************************
ComponentComsol::PrintRange:
Dimensions of the elementary block
-2.1 < x < 2.1 cm,
-2.1 < y < 2.1 cm,
0 < z < 3 cm,
0 < V < 500 V.
Periodicities
x: none
y: none
z: none
ComponentComsol::PrintMaterials:
Currently 2 materials are defined.
Index Permittivity Resistivity Notes
0 1 -1 Ar/CH4, drift medium, ionisable (drift medium)
1 1e+10 -1 Conductor
E = ( 0.01427002, -0.00293489, -252.04903112), V = 247.47781616, status = 0
Info in <TCanvas::Print>: SVG file ElectricField.svg has been created
Info in <TCanvas::Print>: SVG file ElectricPotential.svg has been created
Info in <TCanvas::Print>: SVG file XZ_Plane_ElectricField.svg has been created
Info in <TCanvas::Print>: SVG file XZ_Plane_ElectricPotential.svg has been created
Info in <TCanvas::Print>: SVG file ElectricField_3D.svg has been created
Ew = ( 0.00002854, -0.00000587 -0.50409806)
Vw = 0.49495563
Info in <TCanvas::Print>: SVG file WeightingField.svg has been created
Info in <TCanvas::Print>: SVG file WeightPotential.svg has been created
Sensor::AddElectrode:
Added readout electrode "Anode".
All signals are reset.
DriftLineRKF::SetGainFluctuationsPolya: Mean avalanche size set to 20000.
Sensor::SetTimeWindow: Resetting all signals.
Sensor::ExportSignal: File 'Current.csv' exported.
Info in <TCanvas::Print>: SVG file DriftLine.svg has been created
Info in <TCanvas::Print>: SVG file signal.svg has been created
it seems the application worked well.
This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.