[Nek5000-users] Impose localized noise

nek5000-users at lists.mcs.anl.gov nek5000-users at lists.mcs.anl.gov
Mon Dec 6 03:47:34 CST 2010


Hi Nek's,

I would like to impose noise localized in time and space in my stenotic
pipe, pretty much like an impulse.
I would be tempted to use the userf subroutine like this:

subroutine userf (ix,iy,iz,eg)
include 'SIZE'
include 'TOTAL'
include 'NEKUSE'

integer e,f,eg
real z_0, sigma_z, istep_0, istep_min, istep_max, Amplitude, Theta

z_0 = 0.
sigma_z = 1.

istept_0 = 100.
istep_min = 90.
istep_max = 110.
sigma_t = 1.

if(istep.GE.istep_min.AND.istep.LE.istep_max)

Theta = atan2(y,x)
                           ! I would like my forcing to be on u_theta only
Amplitude = exp(-((z-z_0)/sigma_z)**2 - ((istep-istep_0)/sigma_t)**2)

ffx = - sin(Theta) * Amplitude * Random Noise
ffy = cos(Theta) * Amplitude * Random Noise
ffz = 0.0

return
end

The thing is I don't know how I could impose some random noise on the whole
domain. Using " call random_number(Random_Noise) " would only give me one
single random number. I assume the solution is not to hard but I am however
missing the point. Any idea?

Kind regards,
JC
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/nek5000-users/attachments/20101206/23ab6b11/attachment.html>


More information about the Nek5000-users mailing list