Message: Neutron Interaction Setup and Application Memory Footprint Not Logged In (login)
 Next-in-Thread Next-in-Thread
 Next-in-Forum Next-in-Forum

Question Neutron Interaction Setup and Application Memory Footprint 

Forum: Physics List
Date: 28 Mar, 2005
From: Stephen Sekula <sekula@mit.edu>

Hi Folks,

I am running GEANT4 6.2 on Linux and Darwin, and have been developing a
simulation of a cosmic ray veto shield. In particular, neutrons are
of interest to my colleagues and I, and we need to enable their simulation
in GEANT4. We have done so by following the example in the advanced
example "underground_physics" ($G4INSTALL/examples/advanced/underground_physics/),
which enables hadronic processes for neutrons as follows:

.
.
.
      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);
        G4NeutronHPElasticData * theNeutronData = new G4NeutronHPElasticData;
        theNeutronElasticProcess->AddDataSet(theNeutronData);
        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);
        G4NeutronHPInelasticData * theNeutronData1 =
          new G4NeutronHPInelasticData;
        theInelasticProcess->AddDataSet(theNeutronData1);
        pmanager->AddDiscreteProcess(theInelasticProcess);

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

When this physics is turned off (i.e., by commenting out the above code),
the memory footprint of the application is ~50M. Once this is enabled,
the footprint expands to ~350M. 

Is there a way to enable this processes, loading the appropriate data, etc.
without using that much memory? 

Regards,
Steve Sekula

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

 Add Message Add Message
to: "Neutron Interaction Setup and Application Memory Footprint"

 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 ]