# Knowledge Base

 Navigation: Scripting Language > Functions sroughness

Returns a matrix containing a rough surface characterized by an RMS amplitude.

 Supported Product: FDTD, DEVICE, INTERCONNECT

 Syntax Description out= sroughness(x_span, y_span, sigma_rms, corr_x, corr_y, seed); Returns a matrix containing a rough surface characterized by an RMS amplitude ‘sigma_rms’ and correlation lengths ‘corr_x’ and ‘corr_y’. The roughness is generated by creating a random matrix of values in K space defined by ‘x_span’ and ‘y_span’. A Gaussian filter is applied to this matrix, then a Fourier transform is used to transform the matrix back to real space. Due to the way the Fourier transform is setup, the roughness will be periodic with period x, y span. This is convenient for some application, particularly when using periodic boundary conditions. The parameter ‘seed’ defined the random seed value used to generate the surface.

Example

This is a simple example of a rough surface created with sroughness:

x_span = 400e-6;

y_span = 400e-6;

sigma_rms = 0.3;

corr_length_x = 40e-6;

corr_length_y = 40e-6;

seed_process = 1;

# calculate the number of points in x and y

Nx = 100;

Ny = 100;

# initialize required variables

x_wafer = linspace(-x_span/2,x_span/2,Nx);

y_wafer = linspace(-y_span/2,y_span/2,Ny);

neff_xy_wafer = sroughness( x_wafer, y_wafer, sigma_rms, corr_length_x, corr_length_y, seed_process );

image(x_wafer/1e-6, y_wafer/1e-6, neff_xy_wafer, "x (um)", "y(um)", "Rough surface");