Message: Large system, very slow field tracking... how to improve? Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None Large system, very slow field tracking... how to improve? 

Forum: Fields: Magnetic and Otherwise
Date: 27 Jun, 2005
From: Tim Chambers <Tim Chambers>

I have built a full-size Earth (~6400km radius) with its ~10^22 J/T 
dipole, and I'm having a bit of trouble with run speed.  I know 
the field is the cause of the slowness because when I set the field =0, 
the simulation runs quickly and with about the results I expect.  
I also tested a small dipole with a 1m sphere and got the usual 
behavior one expects from a dipole magnet, with a short run time.

I currently have the field initialized in the DetectorConstruction class:

	SolarField* theField = new SolarField();
	G4FieldManager* fieldMgr =
		G4TransportationManager::GetTransportationManager()
		->GetFieldManager();
	
	fieldMgr->CreateChordFinder(theField);
	fieldMgr->SetDetectorField(theField);

like so.  I figured there were two things I could do to speed up the 
performance: use a lower-order integrator, and increase step size.  
When I tried to use the following code, the program compiles and runs...
somewhat.  It works fine until I command /run/beamOn at which point it 
says "Run Start" and then locks up.  It doesn't crash, it simply doesn't
do anything after that.  The code:

	SolarField* theField = new SolarField();
	G4FieldManager* fieldMgr =
		G4TransportationManager::GetTransportationManager()
		->GetFieldManager();
	
	G4EqMagElectricField* theEqn = new G4EqMagElectricField(theField);
	G4MagIntegratorStepper* theStepper = new G4SimpleHeum(theEqn);	
	
	G4double MinStep = 10*m;
	G4MagInt_Driver* theDriver = new G4MagInt_Driver(MinStep,theStepper, 
					theStepper->GetNumberOfVariables() );
	G4ChordFinder* theFinder = new G4ChordFinder(theDriver);
	
	fieldMgr->SetChordFinder(theFinder);
	fieldMgr->SetDetectorField(theField);

Can anybody help me figure out why this refuses to run, or give me any 
other advice for speeding up the program?  In the time it's taken me to
write this, one electron has managed to travel a whole centimeter in 
vacuum...

Thanks,
Tim Chambers

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

1 None: Re: Large system, very slow field tracking... how to improve?   (Tom Roberts - 27 Jun, 2005)
(_ Ok: Re: Large system, very slow field tracking... how to improve?   (Tim Chambers - 29 Jun, 2005)
 Add Message Add Message
to: "Large system, very slow field tracking... how to improve?"

 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 ]