(let ((problem
(interference/problem
(expr:map
[frequency-hz 1000.0]
[speed-m-s 343.0]
[attenuation-np-m 0.0]
[singularity-radius-m 0.01]
[sources
'((expr:map
[kind point]
[id left]
[position-m (-0.25 0.0 0.0)]
[amplitude-at-reference 1.0]
[phase-rad 0.0])
(expr:map
[kind point]
[id right]
[position-m (0.25 0.0 0.0)]
[amplitude-at-reference 1.0]
[phase-rad 3.141592653589793]))]))))
(let ((plane
(interference/sampling-plane
(expr:map
[origin-m '(-1.0 -1.0 0.5)]
[u-axis '(1.0 0.0 0.0)]
[v-axis '(0.0 1.0 0.0)]
[extent-u-m 2.0]
[extent-v-m 2.0]
[rows (expr:number citizen/int "128")]
[cols (expr:number citizen/int "128")]))))
(realize
(interference/solve problem plane
(expr:map [sampling strict] [work-budget default]))
:fabric core/local-fabric
:result interference/Study)))