Group Abstract Group Abstract

Message Boards Message Boards

How to numerical solve equation with 3x-integrals

Posted 5 years ago

Good day everyone. I have a big problem with Mathematica. I cannot calculate equation with 3x-integrals. Equation will be needed solve numerically. Please, help me, I don't know how to solve this.

I need to find Delta:

Delta = mu + 2*U*(sigma - rho)

where

rho = (1/2)*
  NIntegrate[(eps + Delta)/Ek - 1, {kx, -Pi, Pi}, {ky, -Pi, 
    Pi}, {kz, -Pi, Pi}]
sigma = -(1/2)*
  NIntegrate[Delta/Ek, {kx, -Pi, Pi}, {ky, -Pi, Pi}, {kz, -Pi, Pi}]

where

m = 0.02
J = 50
muB = 0.67
Dst = 7.1
U = 313
g = 2.06
mu = muB*g*Hext - Dst
eps = J*(3 - Cos[kx] - Cos[ky] - Cos[kz])
Ek = eps^(1/2)*(eps + Delta)^(1/2)

Here Hext should change from 6 to 12 with the step 0.5

Please, help me.

4 Replies
Anonymous User
Anonymous User
Posted 5 years ago
POSTED BY: Anonymous User

Ok. Your integrand has indeed a singularity at the origin. See below. Are you sure that your model / equations are correct?

m = 0.02
J = 50
muB = 0.67
Dst = 7.1
U = 313
g = 2.06
mu = muB*g*Hext - Dst
eps[kx_, ky_, kz_] := J*(3 - Cos[kx] - Cos[ky] - Cos[kz])
Ek[Delta_, kx_, ky_, kz_] := 
 eps[kx, ky, kz]^(1/2)*(eps[kx, ky, kz] + Delta)^(1/2)

eps[0, 0, 0]
Ek[del, 0, 0, 0]

So the expression containing Ek will tend to infinitiy whern Ek is evaulated at the origin

fac = .2;
Plot3D[((eps[kx, ky, 0] + 1)/Ek[2, kx, ky, 0] - 1) Boole[   kx^2 + ky^2 + 0 > .0004], {kx, -Pi fac, Pi fac}, {ky, -Pi fac, 
  Pi fac}, PlotRange -> All, PlotPoints -> 20]


Plot[((eps[kx, 0, 0] + 1)/Ek[2, kx, 0, 0] - 1), {kx, -Pi fac, Pi fac},
  PlotRange -> All, PlotStyle -> {Thick, Red}, AxesOrigin -> {0, 0}]
POSTED BY: Hans Dolhaine

Thank you for your answer. It will be helpful for me. I try to simplify the integral, previously. Thank you.

POSTED BY: Hans Dolhaine
Reply to this discussion
Community posts can be styled and formatted using the Markdown syntax.
Reply Preview
Attachments
Remove
or Discard