_Geant4 Version:_10.5.1
_Operating System:_Debian 12
_Compiler/Version:_gcc 12.2
_CMake Version:_3.25.1
— I am using Geant4 to calculate the neutron yield from the D-Be reaction, with an incident particle number of 6.25×1086.25 \times 10^86.25×108. In the low-energy region (500 keV), no neutrons are produced. At an incident deuteron energy of 2 MeV, the neutron yield is two orders of magnitude smaller than the experimental values. Below is my physics list and geometry/material code. Could you suggest how I should modify it?
// Hadron Elastic scattering
fHadronElastic = new HadronElasticPhysicsHP(verb);
RegisterPhysics(fHadronElastic);
// Hadron Inelastic Physics
fHadronInelastic = new G4HadronPhysicsQGSP_BIC_AllHP(verb);
RegisterPhysics(fHadronInelastic);
// Ion Elastic Physics
fIonElastic = new G4IonElasticPhysics(verb);
RegisterPhysics(fIonElastic);
// Ion Inelastic Physics
fIonInelastic = new G4IonPhysicsPHP( verb );
RegisterPhysics(fIonInelastic);
// stopping Particles
RegisterPhysics( new G4StoppingPhysics(verb));
// Gamma-Nuclear Physics
fGammaNuclear = new GammaNuclearPhysics(“gamma”);
RegisterPhysics(fGammaNuclear);
// EM physics
fElectromagnetic = new ElectromagneticPhysics();
RegisterPhysics(fElectromagnetic);
// Decay
fDecay = new G4DecayPhysics();
RegisterPhysics(fDecay);
// Radioactive decay
fRadioactiveDecay = new RadioactiveDecayPhysics();
RegisterPhysics(fRadioactiveDecay);
G4double density = 1.848 * g / cm3;
G4Isotope* Be = new G4Isotope( "Be9", 4, 9, 9.0122 * g/mole );
G4Element* elBe = new G4Element("Beryllium", "Be", 1);
elBe->AddIsotope(Be, 100 * perCent);
G4Material* BeMaterial = new G4Material( "BeTarget", density, 1 );
BeMaterial->AddElement( elBe, 100 * perCent );
G4Material* world_mat = nist->FindOrBuildMaterial( "G4_Galactic" );
G4Box* sworld = new G4Box( "World", 0.5*world_x, 0.5*world_y, 0.5*world_z );
G4LogicalVolume* lworld = new G4LogicalVolume( sworld, world_mat, "world" );
G4VPhysicalVolume* pworld = new G4PVPlacement( 0, G4ThreeVector(), lworld, "world", 0, false, 0 );
G4double targetDiameter = 2 * cm;
G4double targetThickness = 0.1 * cm;
G4Tubs* solidTarget = new G4Tubs( "BeTarget", 0., targetDiameter / 2, targetThickness / 2, 0., 360. * deg );
G4LogicalVolume* logicTarget = new G4LogicalVolume( solidTarget, BeMaterial, "Target" );
G4ThreeVector targetPosition( 0., 0., 0. );
new G4PVPlacement( nullptr, targetPosition, logicTarget, "Target", lworld, false, 0, true );