Message: neutron tracking -- geant4 freezes Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

None neutron tracking -- geant4 freezes 

Forum: Event and Track Management
Date: 20 Dec, 2015
From: Areg <Areg>

Hi. I am having a very strange problem when simulating 16.7 MeV neutrons.

I am shooting a beam of neutrons through a block of material. Every once in awhile, geant4 will just "freeze". The point at which this happens seems to depend on too many variables, but overall a) it seems to be random and b) it seems to go away for neutrons <12MeV.

To understand at which stage this is happening, I've put a print statement in the UserSteppingAction, to see what's happening to the track before it all hangs. Below is a printout

eventID particle ProcessName TrackID E_kin

------------

37860 neutron Transportation 1 16.7

37860 neutron Transportation 1 16.7

37860 neutron Transportation 1 16.7

Has anyone ever seen such behavior?

To be complete, here is the neutron-relevant physics list:

      else if (particleName == "neutron") {
	// elastic scattering
	G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
        theElasticProcess->AddDataSet(G4CrossSectionDataSetRegistry::Instance()->GetCrossSectionDataSet(G4ChipsNeutronElasticXS::Default_Name()));
        G4HadronElastic* elastic_neutronChipsModel = new G4ChipsElasticModel();
	elastic_neutronChipsModel->SetMinEnergy( 19.0*CLHEP::MeV );
        theElasticProcess->RegisterMe( elastic_neutronChipsModel );
	G4NeutronHPElastic * theElasticNeutronHP = new G4NeutronHPElastic;
        theElasticNeutronHP->SetMinEnergy( theHPMin );
        theElasticNeutronHP->SetMaxEnergy( theHPMax );
	theElasticProcess->RegisterMe( theElasticNeutronHP );
	theElasticProcess->AddDataSet( new G4NeutronHPElasticData );
	pmanager->AddDiscreteProcess( theElasticProcess );
	// inelastic scattering		
	G4NeutronInelasticProcess* theInelasticProcess =
	  new G4NeutronInelasticProcess("inelastic");
	theInelasticProcess->AddDataSet( new G4BGGNucleonInelasticXS( G4Neutron::Neutron() ) );
	theInelasticProcess->RegisterMe( theFTFModel1 );
        theInelasticProcess->RegisterMe( theBERTModel1 );
	G4NeutronHPInelastic * theNeutronInelasticHPModel = new G4NeutronHPInelastic;
        theNeutronInelasticHPModel->SetMinEnergy( theHPMin );
        theNeutronInelasticHPModel->SetMaxEnergy( theHPMax );
	theInelasticProcess->RegisterMe( theNeutronInelasticHPModel );
	theInelasticProcess->AddDataSet( new G4NeutronHPInelasticData );
	pmanager->AddDiscreteProcess(theInelasticProcess);
	// capture
	G4HadronCaptureProcess* theCaptureProcess =
	  new G4HadronCaptureProcess;
	G4NeutronHPCapture * theLENeutronCaptureModel = new G4NeutronHPCapture;
	theLENeutronCaptureModel->SetMinEnergy(theHPMin);
	theLENeutronCaptureModel->SetMaxEnergy(theHPMax);
	theCaptureProcess->RegisterMe(theLENeutronCaptureModel);
	theCaptureProcess->AddDataSet( new G4NeutronHPCaptureData);
	pmanager->AddDiscreteProcess(theCaptureProcess);

      }

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

1 Idea: Re: neutron tracking -- geant4 freezes   (Vladimir Ivanchenko - 04 Jan, 2016)
 Add Message Add Message
to: "neutron tracking -- geant4 freezes"

 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 ]