Message: Need help on hadron process at low energy Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Need help on hadron process at low energy 

Keywords: physics list/ hadron process
Forum: Physics List
Date: 04 Feb, 2007
From: Khem <kc8tn@virginia.edu>

Hi,

Help, my simulation stop and abort itself after a few run. I took the code from ExN02. And changed energy to 10 MeV. And added the following code I found in user forum.

 theParticleIterator->reset();
  while( (*theParticleIterator)() ){
    G4ParticleDefinition* particle = theParticleIterator->value();
    G4ProcessManager* pmanager = particle->GetProcessManager();
    G4String particleName = particle->GetParticleName();

    if(particleName =="proton"){
      G4HadronElasticProcess* theElasticProcess = new G4HadronElasticProcess;
      G4LElastic* theElasticModel = new G4LElastic;  
      theElasticProcess->RegisterMe(theElasticModel);
      pmanager->AddDiscreteProcess(theElasticProcess);
      G4ProtonInelasticProcess* theInelasticProcess = new G4ProtonInelasticProcess("inelastic");
      G4LEProtonInelastic* theLEInelasticModel = new G4LEProtonInelastic;
      theInelasticProcess->RegisterMe(theLEInelasticModel);
      G4ProtonInelasticCrossSection* theProtonData1= new G4ProtonInelasticCrossSection;
      theInelasticProcess->AddDataSet(theProtonData1); 
      pmanager->AddDiscreteProcess(theInelasticProcess);
}

 else if (particleName == "neutron") {        

      // elastic scattering
        G4HadronElasticProcess* theNeutronElasticProcess = new G4HadronElasticProcess;
       G4LElastic* theElasticModel1 = new G4LElastic;
       G4NeutronHPElastic * theElasticNeutron = new G4NeutronHPElastic;
       theNeutronElasticProcess->RegisterMe(theElasticModel1);
       theElasticModel1->SetMinEnergy(19*MeV);
       theNeutronElasticProcess->RegisterMe(theElasticNeutron);
       //G4CrossSectionDataStore * theStore = ((G4HadronElasticProcess*)theNeutronElasticProcess)->GetCrossSectionDataStore();
       G4NeutronHPElasticData * theNeutronData = new G4NeutronHPElasticData;
       //theStore->AddDataSet(theNeutronData);
	 theNeutronElasticProcess->AddDataSet(theNeutronData);
	 //theNeutronElasticProcess->DumpPhysicsTable(*particle);// 
         pmanager->AddDiscreteProcess(theNeutronElasticProcess);

	 // inelastic scattering
         G4NeutronInelasticProcess* theInelasticProcess =
	   new G4NeutronInelasticProcess("inelastic");
         G4LENeutronInelastic* theInelasticModel = new G4LENeutronInelastic;
         theInelasticModel->SetMinEnergy(19*MeV);
         theInelasticProcess->RegisterMe(theInelasticModel);
         G4NeutronHPInelastic * theLENeutronInelasticModel = new G4NeutronHPInelastic;
         theInelasticProcess->RegisterMe(theLENeutronInelasticModel);
	 //  G4CrossSectionDataStore * theStore1 = ((G4HadronInelasticProcess*)theInelasticProcess)->GetCrossSectionDataStore();
         G4NeutronHPInelasticData * theNeutronData1 = new G4NeutronHPInelasticData;
	 // theStore1->AddDataSet(theNeutronData1);
	 theInelasticProcess->AddDataSet(theNeutronData1);
         pmanager->AddDiscreteProcess(theInelasticProcess);

	 // fission
         G4HadronFissionProcess* theFissionProcess =
	   new G4HadronFissionProcess;
         G4LFission* theFissionModel = new G4LFission;
         theFissionModel->SetMinEnergy(19*MeV);
         theFissionProcess->RegisterMe(theFissionModel);
         G4NeutronHPFission * theLENeutronFissionModel = new G4NeutronHPFission;
         theFissionProcess->RegisterMe(theLENeutronFissionModel);
         //G4CrossSectionDataStore * theStore2 = ((G4HadronFissionProcess*)theFissionProcess)->GetCrossSectionDataStore();  
         G4NeutronHPFissionData * theNeutronData2 = new G4NeutronHPFissionData;
	 theFissionProcess->AddDataSet(theNeutronData2);
         //theStore2->AddDataSet(theNeutronData2);
         pmanager->AddDiscreteProcess(theFissionProcess);

         // capture
         G4HadronCaptureProcess* theCaptureProcess =
	   new G4HadronCaptureProcess;
         G4LCapture* theCaptureModel = new G4LCapture;
         theCaptureModel->SetMinEnergy(19*MeV);
         theCaptureProcess->RegisterMe(theCaptureModel);
         G4NeutronHPCapture * theLENeutronCaptureModel = new G4NeutronHPCapture;
         theCaptureProcess->RegisterMe(theLENeutronCaptureModel);
	 //  G4CrossSectionDataStore * theStore3 = ((G4HadronCaptureProcess*)theCaptureProcess)->GetCrossSectionDataStore();
         G4NeutronHPCaptureData * theNeutronData3 = new G4NeutronHPCaptureData;
         //theStore3->AddDataSet(theNeutronData3);
	 theCaptureProcess->AddDataSet(theNeutronData3);
         pmanager->AddDiscreteProcess(theCaptureProcess);
      }
  }

Then when I compile, there's a messege

Using granular libraries ...

Linking b ...

/usr/bin/ld: `.gnu.linkonce.t._ZNK23G4NeutronHPInterpolator11InterpolateE21G4InterpolationSchemeddddd' referenced in section `.rodata' of /opt/geant4.8.0.p01/lib/geant4/Linux-g++/libG4had_neu_hp.a(G4NeutronHPVector.o): defined in discarded section `.gnu.linkonce.t._ZNK23G4NeutronHPInterpolator11InterpolateE21G4InterpolationSchemeddddd' of /opt/geant4.8.0.p01/lib/geant4/Linux-g++/libG4had_neu_hp.a(G4NeutronHPVector.o)

/usr/bin/ld: `.gnu.linkonce.t._ZNK23G4NeutronHPInterpolator11InterpolateE21G4InterpolationSchemeddddd' referenced in section `.rodata' of /opt/geant4.8.0.p01/lib/geant4/Linux-g++/libG4had_neu_hp.a(G4NeutronHPVector.o): defined in discarded section `.gnu.linkonce.t._ZNK23G4NeutronHPInterpolator11InterpolateE21G4InterpolationSchemeddddd' of /opt/geant4.8.0.p01/lib/geant4/Linux-g++/libG4had_neu_hp.a(G4NeutronHPVector.o)

and so on.

I don't know if there is any problem here. Cause, I can run the simulation, but after a few run it abort itseft. (I use G4NDL3.10 for NeutronHPCrossSections) Is there anything wrong?

Thank you very much, Khem

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

1 None: Re: Need help on hadron process at low energy   (Vladimir IVANTCHENKO - 05 Feb, 2007)
(_ None: Re: Need help on hadron process at low energy   (Khem - 05 Feb, 2007)
(_ None: Re: Need help on hadron process at low energy   (Vladimir IVANTCHENKO - 05 Feb, 2007)
 Add Message Add Message
to: "Need help on hadron process at low energy"

 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 ]