40m QIL Cryo_Lab CTN SUS_Lab TCS_Lab OMC_Lab CRIME_Lab FEA ENG_Labs OptContFac Mariner WBEEShop
 COMSOL elog Not logged in Message ID: 58     Entry time: Sun Jul 14 15:13:46 2013     In reply to: 57     Reply to this: 60
 Author: Deep Chatterjee Type: General Category: General Subject: TE noise problem - Matlab script

Quote:

 Quote: The present aim is the calculation of the TE noise like Liu and Thorne. Although, the results of Liu and Thorne are for the case of an infinite mirror, in our case, we try to model a test mass with large dimensions in an attempt to get closer to the result due to Liu and Thorne Following my previous post - The presents results given by the COMSOL simulations gave the same profile as Liu and Thorne's result which has a frequency dependence of 1/omega^2 but was displaced from the analytic result by a constant factor which was dependent on the applied pressure on the face of the test mass which should not be the case. Following the steps followed Liu and Thorne, we had constructed the test mass as a cylinder, large compared to the beam spot size. An oscillating pressure was applied to one of the faces and the from the temperature gradient generated in the process due to strains, one can calculate the work dissipated. The process involves integrating the gradient of temperature over the entire geometry and taking the time avrage. However, this did not give the correct results, so it was decide to extract the Fourier coefficient of the signal and perform the integration on it, as done in the case of TR niose by Koji Arai. I mention the steps it was done - > The data extracted was stored in a 3D array in matlab. using mphinterp - each dimension for r, z, t > The number of radial slices and z slices is defined by the user previously > For each r,z value there was a time signal. > The fourier coefficient corresponding to the pressure oscillation frequency was extracted from the last three cycles (In theory only one cycle should suffice) > The above step was done so that random data( which is small in magnitude) generated by COMSOL is avoided. > The fourier coefficients are stored in a 2D array corresponding to r and z values. > The integration was performed using trapz twice once on each dimension to get the total volume integral > The rest of the calculation is same as the previous script - plugging in the prefactors in the formulae and plotting   **The primary problem with this script is that the data extraction takes significant amount of time - For a mirror with 200 times the radius of the beam spot and 200 radial slices, it takes close to 6 minutes to evaluate work dissipated for each frequency. The script solves for 16 frequency values. The results for small number of radial slices does not follow the straight line profile. For larger number of slices the program takes a longer time. The results have not been checked yet.

I am replying to report of the modification made to the script from the last one. The problem of too many radial and z slices have been avoided by using a slicing based on a gaussian
distribution both along the r and z directions - i.e. the slicing is heavy in the region around the surface is applied and much thinner towards the edges of the cylinder. The slicing has
been separately handled by a function named giveSlices() which does the slicing and returns the values as two arrays corresponding to r and z.
The extent to which the fineness of slicing is controlled in the geometry is by controlling the parameter SD in the code which is the standard deviation of the gaussian according to which
the slicing is controlled as being fine throughout or fine in the centre and thin with increasing r.

This method reduces the number of slices by almost 2 orders for significant large values of the dimensions of the test mass while it is expected to give similar results since slicing the
test mass finely at the edge is not required as the gradient of temperature almost falls to zero.

It is suspected that the long time of simulation is attributed to calling mphinterp() command a large number of times. In my next modification, it will be tried to use the command just once
followed by the proper data extraction from the output given by the command.

Following the previous reply regarding the use of mphinterp(), the appropriate changes in code were made. The overhead time due to the call to COMSOL was responsible for the longer
simulation time. Right now, for relatively large no. of total slices (about 27000) just the extraction of data happens within a few seconds. However, for the larger number of slices, the codes
will probably still take some time to complete. The codes are attached.

 Attachment 1: codes_TE_calc_(2).zip  6 kB
ELOG V3.1.3-