Got the code working, I forgot to add the sources properly.
Code below for anyone interested
% create the computational grid
Nx = 128; % number of grid points in the x (row) direction
Ny = 128; % number of grid points in the y (column) direction
dx = 0.1e-3; % grid point spacing in the x direction [m]
dy = 0.1e-3; % grid point spacing in the y direction [m]
kgrid = kWaveGrid(Nx, dx, Ny, dy);
% define the properties of the propagation medium
medium.sound_speed = 1500; % [m/s]
medium.alpha_coeff = 0.75; % [dB/(MHz^y cm)]
medium.alpha_power = 1.5;
% create the time array
kgrid.makeTime(medium.sound_speed);
% define a curved transducer element
arc_pos = [20, 20]; % [grid points]
radius = 60; % [grid points]
diameter = 81; % [grid points]
focus_pos = [Nx/2, Nx/2]; % [grid points]
source1.p_mask = makeArc([Nx, Ny], arc_pos, radius, diameter, focus_pos);
% define a time varying sinusoidal source
source_freq = 0.25e6; % [Hz]
source_mag = 0.5; % [Pa]
source1.p = source_mag * sin(2 * pi * source_freq * kgrid.t_array);
% filter the source to remove any high frequencies not supported by the grid
source1.p = filterTimeSeries(kgrid, medium, source1.p);
% create a sensor mask covering the entire computational domain using the
% opposing corners of a rectangle
sensor.mask = [1, 1, Nx, Ny].';
% set the record mode to capture the final wave-field and the statistics at
% each sensor point
%sensor.record = {'p_final', 'p_max', 'p_rms'};
% define a second curved transducer element
arc_pos1 = [20, 108]; % [grid points]
radius1 = 60; % [grid points]
diameter1 = 81; % [grid points]
focus_pos1 = [Nx/2, Nx/2]; % [grid points]
source2.p_mask = makeArc([Nx, Ny], arc_pos1, radius1, diameter1, focus_pos1);
% define a time varying sinusoidal source
source_freq1 = 0.25e6; % [Hz]
source_mag1 = 0.5; % [Pa]
source2.p = source_mag1 * sin(2 * pi * source_freq1 * kgrid.t_array);
% filter the source to remove any high frequencies not supported by the grid
source2.p = filterTimeSeries(kgrid, medium, source2.p);
source.p = source1.p + source2.p;
source.p_mask = source1.p_mask + source2.p_mask;
% create a sensor mask covering the entire computational domain using the
% opposing corners of a rectangle
sensor.mask = [1, 1, Nx, Ny].';
% create a display mask to display the transducer
display_mask = source.p_mask;
% assign the input options
input_args = {'DisplayMask', display_mask, 'PMLInside', false, 'PlotPML', false};
% run the simulation
sensor_data = kspaceFirstOrder2D(kgrid, medium, source, sensor, input_args{:});