Problema con mathematica

gianlu_1
Ciao a tutti! chiedo il vostro aiuto per un problema che ho con mathematica, incomincio con il dire che non sono molto pratico della sua sintassi e del suo linguaggio dato che ci sto lavorando da non molto, quindi scusatemi in anticipo se non riesco a farmi capire :?
Passando alla mia richiesta....sto facendo una serie di integrali che mi portano a un risultato numerico corretto per il problema che sto trattando, e fin qui ok, ora devo sommare questi integrali e quindi avendo salvato il risultato numerico in delle variabili che ho chiamato INT12 e INT13 INT14 INT15 faccio banalmente la somma, ma come risultato mi stampa

-4.18363*10^-58 - 8.235614529*10^-59 ,non so spiegarmi perchè non mi calcola quella somma :(

spero di essere stato chiaro, grazie in anticipo per qualsiasi risposta che sicuramente sarà di mio aiuto!


rbhorps = 10.582*10^(-11);(*RAGGIO BHOR PER POSITRONIO [m]*) 
htag = 1.054571726*10^(-34);(*h tagliato [J*s]*)

me = 9.10938188*10^(-31);(*MASSA ELETTRONE [kg]*)

rcav = 1.5*10^(-9);(*RAGGIO CAVITA' [m]*)

e = 1.602*10^(-19);(*CARICA ELETTRONE [C] *)

epsilon = 8.854187817*10^(-12);(*COSTANTE DIELETTRICA NEL VUOTO[F/m]*)

wf = -3.0;(*WORK FUNCTION [eV]*)



funz[R_, r_] := (Sin[Pi*R/(rcav + a)]*Exp[-r/(rbhorps)])/(Pi*
     R/(rcav + a));(*FUNZIONE D'ONDA NON NORMALIZZATA*)

modquad[R_, r_] := 
  Power[Abs[funz[R, r]], 
   2];(*MODULO QUADRO FUNZIONE D'ONDA NON NORMALIZZATA*)

BLOCK2[a_] := Module[{costante = a},
   
   (*INTEGRALE POTENZIALE DI BULK*)
   
   INT12 = 
     NIntegrate[((modquad[R, r])*(8*Pi^2)*(R^2)*(r^2)*
        wf*(1 - ((r^2) + 4*((R^2) - (rcav^2)))/(4*r*R))), {R, (rcav), 
       rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
      MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO R*)
   
   INT13 = ((-2*(htag^2)*(Pi^2))/(me*e))*
     NIntegrate[((modquad[R, r])*(Power[((Pi*R)/(rcav + a)), 
          2])*(r^2)*(1 - ((r^2) + 4*((R^2) - (rcav^2)))/(4*r*R))), {R,
        rcav, rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
      MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO r*)
   
   INT14 = ((8*(Pi^2)*(htag^2))/(me*e))*
     NIntegrate[((modquad[R, 
          r])*(R^2)*(r^2)*((2/r*
            rbhorps) - (1/(rbhorps^2)))*(1 - (((r^2) + 
              4*((R^2) - (rcav^2)))/(4*r*R)))), {R, rcav, 
       rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
      MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE POTENZIALE COULOMB*)
   
   INT15 = 
    NIntegrate[((-(modquad[R, r]))*((e)/(4*Pi*epsilon*
           r))*(R^2)*(r^2)*(8*
         Power[Pi, 
          2])*(1 - (((r^2) + 4*((R^2) - (rcav^2)))/(4*r*R)))), {R, 
      rcav, rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
     MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
     WorkingPrecision -> 10];
   
   INT12 + INT13 + INT14 + INT15
   
   ];
a = 0.17*10^(-9);
BLOCK2[a]


Risposte
gianlu_1
grazie per il benvenuto :-D
Sul mio notebook in realtà ho altri pezzi di codice, relativi però a altri calcoli integrali che non mi creano problemi e che non interagiscono in nessun modo con il "BLOCK2" che ho postato.
Quindi non penso che il risultato differente che ottieni copiando e incollando sia derivante dal fatto che non ho postato i restanti pezzi oppure no :? ? in ogni caso ho provato a usare il comando da te indicato ma ottengo sempre lo stesso risultato: -4.18363*10^-58 - 8.235614529*10^-59

gianlu_1
eccolo qui, grazie mille per la pazienza :D


rbhorps = 10.582*10^(-11);(*RAGGIO BHOR PER POSITRONIO [m]*) 
htag = 1.054571726*10^(-34);(*h tagliato [J*s]*)

me = 9.10938188*10^(-31);(*MASSA ELETTRONE [kg]*)

rcav = 1.5*10^(-9);(*RAGGIO CAVITA' [m]*)

e = 1.602*10^(-19);(*CARICA ELETTRONE [C] *)

epsilon = 8.854187817*10^(-12);(*COSTANTE DIELETTRICA NEL VUOTO[F/m]*)

wf = -3.0;(*WORK FUNCTION [eV]*)



funz[R_, r_] := (Sin[Pi*R/(rcav + a)]*Exp[-r/(rbhorps)])/(Pi*
     R/(rcav + a));(*FUNZIONE D'ONDA NON NORMALIZZATA*)

modquad[R_, r_] := 
  Power[Abs[funz[R, r]], 
   2];(*MODULO QUADRO FUNZIONE D'ONDA NON NORMALIZZATA*)

(*R = coordinata Cm, r= coordinata relativa*)



(*VALORE MEDIO HAMILTONIANA QUANDO R<Rc-a0 CON H = Tcmq+Tr+Vcou*)

BLOCK0[a_] := Module[{costante = a},
   
   (*INTEGRALE TERMINE CINETICO R*)
   
   INT1 = ((-(htag^2))/(4*me*e))*
     NIntegrate[((modquad[R, 
          r])*(r^2)*((4*Pi)^2)*(Power[(Pi*R/(rcav + a)), 2])), {R, 
       0, (rcav - rbhorps)}, {r, 0, Infinity}, MaxRecursion -> 20, 
      PrecisionGoal -> 2, WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO r*)
   
   INT2 = (((htag^2))/(me*e))*
     NIntegrate[((modquad[R, 
          r])*(R^2)*(r^2)*((2/r*rbhorps) - (1/(rbhorps^2)))), {R, 
       0, (rcav - rbhorps)}, {r, 0, Infinity}, MaxRecursion -> 20, 
      PrecisionGoal -> 2, WorkingPrecision -> 10];
   
   (*INTEGRALE POTENZIALE COULOMB*)
   
   INT3 = 
    NIntegrate[((-(modquad[R, r]))*((e)/(4*Pi*epsilon*
           r)) (R^2)*(r^2)*((4*Pi)^2)), {R, 0, (rcav - rbhorps)}, {r, 
      0, Infinity}, MaxRecursion -> 20, PrecisionGoal -> 2, 
     WorkingPrecision -> 10];
   
   INT1 + INT2 + INT3
   
   ];



(*VALORE MEDIO HAMILTONIANA QUANDO Rc-a0<R<Rc CON H = Tcmq+Tr+Vcou ---- \
1 PARTE*)

BLOCK1[a_] := Module[{costante = a},
   
   
   
   (*INTEGRALE TERMINE CINETICO R*)
   
   INT5 = ((-2*(htag^2)*(Pi^2))/(me*e))*
     NIntegrate[((modquad[R, r])*(Power[((Pi*R)/(rcav + a)), 
          2])*(r^2)*2), {R, (rcav - rbhorps), rcav}, {r, 0, 
       2*(R - (rcav))}, MaxRecursion -> 20, PrecisionGoal -> 2, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO r*)
   
   INT6 = ((8*(Pi^2)*(htag^2))/(me*e))*
     NIntegrate[((modquad[R, 
          r])*(R^2)*(r^2)*((2/r*
            rbhorps) - (1/(rbhorps^2)))*2), {R, (rcav - rbhorps), 
       rcav}, {r, 0, 2*(R - (rcav))}, MaxRecursion -> 20, 
      PrecisionGoal -> 2, WorkingPrecision -> 10];
   
   (*INTEGRALE POTENZIALE COULOMB*)
   
   INT7 = 
    NIntegrate[((-(modquad[R, r]))*((e)/(4*Pi*epsilon*
           r))*(R^2)*(r^2)*(8*Power[Pi, 2])*2), {R, (rcav - rbhorps), 
      rcav}, {r, 0, 2*(R - (rcav))}, MaxRecursion -> 20, 
     PrecisionGoal -> 2, WorkingPrecision -> 10];
   
   
   INT5 + INT6 + INT7
   
   ];


(*VALORE MEDIO HAMILTONIANA QUANDO Rc-a0<R<Rc CON H = \
Tcmq+Tr+Vcou+Vbulk --- 2 PARTE *)

BLOCK12[a_] := 
  Module[{costante = a},(*SOLO QUI CI VA LA THETA DI HEAVISIDE*)
   
   tm[R_, r_] = 
    Pi - ArcCos[((-(r^2) + 4*((rcav^2) - (R^2)))/(4*r*
          R))];(*ANGOLO THETA MASSIMO*)
   
   (*INTEGRALE POTENZIALE DI BULK*)
   
   INT8 = 
     wf*NIntegrate[((modquad[R, r])*(8*Pi^2)*(R^2)*(r^2)*
        HeavisideTheta[((r/2)^2) + (R^2) + 
          R*r*Cos[tm[R, r]] - (rcav^2)]*
        Sin[teta]), {R, (rcav - rbhorps), rcav}, {r, 2*(R - (rcav)), 
       2*(R + rcav)}, {teta, 0, tm[R, r]}, MaxRecursion -> 20, 
      PrecisionGoal -> 2, AccuracyGoal -> 8, WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO R*)
   
   INT9 = ((-2*(htag^2)*(Pi^2))/(me*e))*
     NIntegrate[((modquad[R, r])*(Power[((Pi*R)/(rcav + a)), 
          2])*(r^2)*(1 + ((-(r^2) + 4*((rcav^2) - (R^2)))/(4*r*
              R)))), {R, (rcav - rbhorps), rcav}, {r, 2*(R - (rcav)), 
       2*(R + rcav)}, MaxRecursion -> 20, PrecisionGoal -> 2, 
      AccuracyGoal -> 8, WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO r*)
   
   INT10 = ((8*(Pi^2)*(htag^2))/(me*e))*
     NIntegrate[((modquad[R, 
          r])*(R^2)*(r^2)*((2/r*
            rbhorps) - (1/(rbhorps^2)))*(1 + ((-(r^2) + 
              4*((rcav^2) - (R^2)))/(4*r*R)))), {R, (rcav - rbhorps), 
       rcav}, {r, 2*(R - (rcav)), 2*(R + rcav)}, MaxRecursion -> 20, 
      PrecisionGoal -> 2, AccuracyGoal -> 8, WorkingPrecision -> 10];
   
   (*INTEGRALE POTENZIALE COULOMB*)
   
   INT11 = 
    NIntegrate[((-(modquad[R, r]))*((e)/(4*Pi*epsilon*
           r))*(R^2)*(r^2)*(8*
         Power[Pi, 
          2])*(1 + ((-(r^2) + 4*((rcav^2) - (R^2)))/(4*r*
             R)))), {R, (rcav - rbhorps), rcav}, {r, 2*(R - (rcav)), 
      2*(R + rcav)}, MaxRecursion -> 20, PrecisionGoal -> 2, 
     AccuracyGoal -> 8, WorkingPrecision -> 10];
   
   
   INT8 + INT9 + INT10 + INT11
   
   ];



(*VALORE MEDIO HAMILTONIANA QUANDO Rc<R<Rc+a CON H = \
Tcmq+Tr+Vcoul+Vbulk*)

BLOCK2[a_] := Module[{costante = a},
   
   (*INTEGRALE POTENZIALE DI BULK*)
   
   INT12 = 
     NIntegrate[((modquad[R, r])*(8*Pi^2)*(R^2)*(r^2)*
        wf*(1 - ((r^2) + 4*((R^2) - (rcav^2)))/(4*r*R))), {R, (rcav), 
       rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
      MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO R*)
   
   INT13 = ((-2*(htag^2)*(Pi^2))/(me*e))*
     NIntegrate[((modquad[R, r])*(Power[((Pi*R)/(rcav + a)), 
          2])*(r^2)*(1 - ((r^2) + 4*((R^2) - (rcav^2)))/(4*r*R))), {R,
        rcav, rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
      MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE TERMINE CINETICO r*)
   
   INT14 = ((8*(Pi^2)*(htag^2))/(me*e))*
     NIntegrate[((modquad[R, 
          r])*(R^2)*(r^2)*((2/r*
            rbhorps) - (1/(rbhorps^2)))*(1 - (((r^2) + 
              4*((R^2) - (rcav^2)))/(4*r*R)))), {R, rcav, 
       rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
      MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
      WorkingPrecision -> 10];
   
   (*INTEGRALE POTENZIALE COULOMB*)
   
   INT15 = 
    NIntegrate[((-(modquad[R, r]))*((e)/(4*Pi*epsilon*
           r))*(R^2)*(r^2)*(8*
         Power[Pi, 
          2])*(1 - (((r^2) + 4*((R^2) - (rcav^2)))/(4*r*R)))), {R, 
      rcav, rcav + a}, {r, 2*(R - (rcav)), 2*(R + rcav)}, 
     MaxRecursion -> 20, PrecisionGoal -> 2, AccuracyGoal -> 8, 
     WorkingPrecision -> 10];
   
  INT12 + INT13 + INT14 + INT15
   
   ];







a = 0.17*10^(-9);
BLOCK0[a]
BLOCK1[a]
BLOCK12[a]
BLOCK2[a]

gianlu_1
:lol: oh cavolo, sarà il mio pc impazzito! almeno non ci sono errori :smt023

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.