Pig Simulation: Failed to create heat source field extractor
-
Here is snapshot for the animation of the pressure field. The video is too large to upload.
-
Ohh I see what the issue is now ...
You need to have results in the frequency domain (steady state). It then uses this steady state result to heat the tissue
The thermal solver uses the dP/dV field (deposited energy) from the acoustic solver as an input. Since your results are only in the time domain, then this field is not available (you can check it yourself by a) looking at your Field Sensor Settings with Overall Field and see that your recording domain is only in Time Domain ... and b) when you extract Acoustic results, you only get p(x,y,z,t) and you don't get p(x,y,z,f) or dP/dV)
You should therefore change your recording domain to "Frequency Domain" or "Frequency and Time Domain"
-
Some other notes about your simulation setup that should be useful
- For the acoustic simulation you will need a much higher resolution - To get an idea, you are stimulating at 1 MHz and your wavelength will be approximately 1500 (speed of sound in water) / 1 MHz = 1.5 mm (your current discretization is 3mm, way too course)
- You don't need to simulate the whole body, since the field will be localized near your target, you can limit the domain to a much smaller area encompassing the transducer and the nearby tissues directly under it (after your simulation just make sure the field near the boundaries are relatively small)
- Get rid of air and replace it with water if possible / appropriate. The time step used in the simulation is limited by the lowest speed of sound in the simulation domain (water = 1500 m/s, air = 300m/s). I'd recommend changing the background material to water (as you already do) and getting rid of the air in Yonsoon and replacing by water (this shouldn't be a problem)
- Thermal simulation are you sure you're using the correct simulation time? You seem to be heating it for 1microsecond only
- Again you can maybe limit the simulation domain, but maybe you don't need to since you don't need that fine a discretization as you would for the acoustic simulation
-
I also noticed that your transducer is composed of a source element and a reflector, to ensure you don't get back reflections you should set your reflector as a reflector (create new material property -> drag and drop reflector -> select Reflector in materials settings) and make sure the reflector is not in source settings
-
Performing the simulation with both frequency and time domain solved the previous error.
Now, I am limited by the student license for the size of the number of cells I can simulation. I must reduce the grid size to get a better resolution. However, I cannot adjust the Boundary- and Boundary+ settings in the main grid.
For the thermal simulation time, I was only simulating for a very short time to debug the system until I could get the thermal solver to work. I plan to increase the simulation time after adjusting the grid volume to a smaller region.
-
perfect! under the main grid settings (not the sub settings) you should be able to change the boundaries. The easiest way is to go to padding and change that to a negative number
Another trick is to just create a wireframe around the volume you want to simulate. Then in the Acoustic simulation go to grid settings and remove everything there and just add the wireframe (Note, you should remove all other materials ONLY from grid settings, they should still be elsewhere in your simulation settings - in material settings and voxel settings)
-
Thanks. It works better now and I can make a thermal simulation with the human model. However, I am still having a problem with my transducer. The pressure waveform is much different than expected and I think it is a problem with the reflector setting.
I followed the steps in the "Single Element Focused Transducer" tutorial and the output was different than shown in guide. I also made sure the "Reflector" box is checked on the Materials page and tried assigning various materials to the Reflector and Elements, but without success. The images below compare my simulation with the simulation from the tutorial. Any idea how to resolve?
My simulation:
Tutorial Simulation:
file:///C:/Users/Public/Documents/Sim4LifeLight/6.2/Documentation/html/_images/SEFTdPdVnew.jpg -
The spatial resolution is very very important for FDTD simulations (you need at least 6 or 10 voxels per wavelength). I would recommend at least to use automatic grid settings and then the default (preferably fine grid settings) and this will do it automatically for you. You always need to be very very careful when using manual grid settings
-
The automatic grid settings never work. I always get the error message that maximum cell count is exceeded. Even when I simply import a transducer and add an acoustic simulation, using the default settings. I can only perform a simulation with a manual grid adjustment. I have assumed this is because I am using Sim4Life Light.
Did you mean 6 to 10 voxels per period? A 500 kHz wave has a 600 m wavelength and a 1 MHz wave has a 300 m wavelength. One period is 1.2 mm and 0.3 mm, respectively. 10 voxels per period would need a voxel size of 0.12 mm and 0.03 mm, respectively.
-
Yes I did mean wavelength, not period .. That's the drawback of running high frequency simulations in FDTD, they require a lot of voxels ... If appropriate, try running it at 500 kHz and then update the automatic grid settings ... The auto grid settings is based on the material in your domain that has the lowest speed of sound, please remove air from the simulation domain if appropriate ... One of my previous comments tells you how to calculate the wavelength, the units and magnitude seem wrong in yours, remember that you're not using the speed of light to calculate the wavelength, you use the speed of sound in the medium (around 1500m/s)