-
Notifications
You must be signed in to change notification settings - Fork 39
Open
Labels
miniappsrelated to miniappsrelated to miniapps
Description
Not sure if you want to avoid domain specific miniapps, but I am working towards modifying the acoustic 2D miniapp for ultrasound and photoacoustic modeling. Currently I just played around with getting a time-varying source working.
My current implementation just sets the pressure at a given pixel based on some source signal vector.
freq = 1/dt/5 # divide by 5 to stay below the nyquist limit of the grid's sampling frequency
trange = range(0,2pi,length=nt)
amp = 1
signal = amp*sin.(freq*trange)
# Time loop
for it = 1:nt
P[nx÷2,ny÷2]=signal[it] # Set source signal value
@parallel compute_V!(Vx, Vy, P, dt, ρ, dx, dy)
@parallel compute_P!(P, Vx, Vy, dt, k, dx, dy)
# Visualisation
end
I can clean my code up a bit and submit it as an acoustic2D with time varying source miniapp, but I wanted to see if this would be a recommended way of implementing a time-varying source? Or if this poses obvious performance penalties that users shouldn't be exposed to.
Metadata
Metadata
Assignees
Labels
miniappsrelated to miniappsrelated to miniapps