Message: Electric field array from a TOSCA simulation Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Electric field array from a TOSCA simulation 

Keywords: electric field
Forum: Fields: Magnetic and Otherwise
Date: 16 Dec, 2004
From: G.A.P.Cirrone <G.A.P.Cirrone>

Dear All, in order to simulate in all its detail a ionisation chamber I decided to insert in a GEANT4 simulation anot a simple uniform field but an array calculated from a TOSCA simulation. The TOSCA output is an array specifing the electric field value in each point of a given volume.

Inside the GEANT4 examples, the advanced Purg_Mag shows how read and insert a TOSCA file, but in that case the field is a magnetic field.

I tried to insert the TOSCA electric field but with bad results.

** When I run the code with electrons they show a very strange behaviour and this warning are reported:

---> Begin Of Event: 0
G4MagIntegratorDriver::OneGoodStep: Stepsize underflow in Stepper
  Step's start x=0.470003 and end x= 0.470003 are equal !!
  Due to step-size= 1.00213e-20 . Note that input step was 0.0100213
G4MagIntegratorDriver::OneGoodStep: Stepsize underflow in Stepper
  Step's start x=0.0600006 and end x= 0.0600006 are equal !!
  Due to step-size= 1.04199e-21 . Note that input step was 0.0104199
G4MagIntegratorDriver::OneGoodStep: Stepsize underflow in Stepper
  Step's start x=0.0800005 and end x= 0.0800005 are equal !!
  Due to step-size= 1.07168e-21 . Note that input step was 0.0107168
G4MagIntegratorDriver::OneGoodStep: Stepsize underflow in Stepper

** When I run with proton a segmentation fault is produced.

This is my DetectorConstruction.cc in which the TOSCA file (data1.table) is read and then the electric field "should be" activated:

G4ElectricField* myField= new PurgMagTabulatedField3D("data1.table", zOffset);

G4FieldManager *pFieldMgr;

G4MagIntegratorStepper* pStepper;

G4ChordFinder* pChordFinder;

G4EqMagElectricField* fEquation = new G4EqMagElectricField(myField);

G4MagInt_Driver* pIntgrDriver;

G4TransportationManager* pTransportMgr = G4TransportationManager::GetTransportationManager();

G4PropagatorInField* pFieldPropagator;

pFieldPropagator = pTransportMgr -> GetPropagatorInField();

pStepper = new G4ClassicalRK4(fEquation, 8);

pFieldMgr = pTransportMgr -> GetFieldManager();

pFieldMgr -> SetFieldChangesEnergy(true);

pFieldMgr -> SetDetectorField(myField);

pIntgrDriver = new G4MagInt_Driver(0.01 *mm, pStepper, pStepper -> GetNumberOfVariables());

pChordFinder = new G4ChordFinder(pIntgrDriver);

pFieldMgr -> SetChordFinder(pChordFinder);

The code function perfectly if I substitute the line

G4ElectricField* myField= new PurgMagTabulatedField3D("data1.table", zOffset)

with

 G4UniformElectricField* myField = new G4UniformElectricField(G4ThreeVector(0,900 *kilovolt/cm, 0));

for an uniform electric field.

Can someone give me some indication on this problem? Thank you very much Pablo Cirrone

Inline Depth:
 1 1
 All All
Outline Depth:
 1 1
 2 2
 All All
Add message: (add)

 Add Message Add Message
to: "Electric field array from a TOSCA simulation"

 Subscribe Subscribe

This site runs SLAC HyperNews version 1.11-slac-98, derived from the original HyperNews


[ Geant 4 Home | Geant 4 HyperNews | Search | Request New Forum | Feedback ]