void KVWilckeReactionParameters::Print() const { printf("-------------------------------------------\n"); printf("PARAMETERS INDEPENDENT OF BOMBARDING ENERGY\n"); printf("-------------------------------------------\n\n"); KVNucleus fus(ZC,AC); printf("ATOMIC NUMBERS: ZP=%3d ZT=%3d ZC=%3d (%s)\n", ZP, ZT, ZC, fus.GetSymbol()); printf("NEUTRON NUMBERS: NP=%3d NT=%3d NC=%3d\n\n", NP, NT, NC); printf("AP**1/3=%7.3f AT**1/3=%7.3f\n", pow(AP,THIRD), pow(AT,THIRD)); printf("REDUCED MASS NUMBER=%6.2f AP+AT=AC=%3d\n\n", MU, AC); printf("INTERACTION RADIUS RINT=%5.2f fm R0=%5.2f fm\n\n", RINT, R0); printf("MATTER HALF-DENSITY RADII [fm]:\n"); printf("CP=%5.2f CT=%5.2f CT+CP=%5.2f CBAR=%5.2f\n\n", CP, CT, (CP+CT), CBAR); printf("EQUIVALENT SHARP SURFACE RADII [fm]:\n"); printf("RP=%5.2f RT=%5.2f\n\n", RP, RT); printf("COULOMB RADII [fm]:\n"); printf("RCP=%5.2f RCT=%5.2f RC=RCP+RCT=%5.2f\n\n", RCP, RCT, RCTOTAL); printf("BSS-COULOMB POTENTIAL [MeV]:\n"); printf("VC(r)=%5.3f*ZP*ZT/r for r>RC\n", e2_Wilcke); printf("VC(r)=V0-K*r**n for r<RC\n"); printf("V0=%7.2f MeV K=%7.5f n=%5.3f\n",V0, BSS_K, BSS_N); printf("VC(RINT)=%6.1f MeV\n\n", VC_RINT); printf("FISSION-TKE=%5.0f MeV\n", FISSIONTKE); printf("ASYMM. FISSION-TKE=%5.0f MeV\n\n", ASYMMFISSIONTKE); printf("LIQUID DROP PARAMETERS:\n"); printf("GAMMA=%6.3f MeV/fm**2 PROX-FACTOR=%6.2f MeV\n\n", GAMMA, PROXFACTOR); printf("FUSION RELATED PARAMETERS:\n"); printf("R-BARRIER=%5.2f fm V(RB)=%6.1f MeV\n", RBARRIER, VRB); printf("L-CRITICAL=%4.0f HBAR\n", LCRIT); printf("-------------------------------------------------------------------------\n"); printf("EL/u ELAB ECM ECM/VC k ETA LMAX SGMAR SGFUS QP-CM QP-LP EP-QP\n"); printf("-------------------------------------------------------------------------\n"); Double_t e=1; Int_t nlines=0; while(e<51){ printf(" %4.1f %4.0f %4.0f %5.2f %4.1f %5.1f %4.0f %4.0f %4.0f %5.1f %5.1f %4.0f\n", e, AP*e, ECM(e), ECM(e)/VC_RINT, k(e), Eta(e), Lmax(&e,0), SigmaR(&e,0), SigmaFus(&e,0), TMath::RadToDeg()*QuarterPointAngle(&e,0), TMath::RadToDeg()*ProjectileLabQP(e), ProjectileLabEQP(e)); nlines++; if(e<4) e+=1; else if(e<12) e+=0.5; else if(e<20) e+=1; else e+=5; if(!(nlines%5)) printf("\n"); } printf("************************************************************************\n"); }
void compute(const vle::devs::Time& /* t */) { PAR = 0.5 * 0.01 * RG(); Tmean = std::max(0.0, (Tmin() + Tmax()) / 2); if (SemRec() == 2) { SemRecVar = 0; } else if (SemRec() == 1) { SemRecVar = 1; } if (SemRecVar() == 0) { ST = 0; LAI = 0; } else if (SemRecVar() == 1) { ST = ST() + Tmean(); LAI = std::max(0.0, Lmax() * ((1 / (1 + std::exp(-A() * (ST() - TI())))) - std::exp(B() * (ST() - Tr())))); } U = U(-1) + Eb() * Eimax() * (1 - std::exp(-K() * LAI())) * PAR(); }