Thermal Modeling (June 2004)

Overview

The thermal Finite Element Method (FEM) models should be used to evaluate the soft tissue heating that occurs in soft tissue due to absorption of ultrasonic energy during ARFI imaging. There are two publications regarding thermal response of tissues during ARFI imaging that should be read before doing thermal modeling and measurements .

The models allow the user to input transducer specific parameters, such as focal depth, F/#, element dimensions, etc. Depending on the focal depth that is specified, a pre-made mesh is selected, and Field II  is run to solve for the intensity fields generated by the transducer. These intensity fields are scaled by emperically-determined \(I_{spta}\) values, and then LS-DYNA is used to solve for the heating and cooling behavior in tissue, using user-specified material properties. The results are compared with thermocouple measurements in porcine muslce, and then thermal-convolution scripts are run in MATLAB to solve for the heating associated with different beam spacings, fields-of-view, and focal depths.

Front End

[This still needs to be written (PERL).]

FEM Meshes

The meshes used for the models need to be as small as possible, in terms of node counts and number of elements, to reduce computation overhead and disk usage. When modeling, low-freqeuncy transducer at deep docal depths, larger meshes are necessary. This document will be written with the VF10-5, and it’s assocaited mesh, in mind.

Generic meshes are saved as XDCRmaxfocdepth.dyn (e.g., VF105foc25mm.dyn). These meshes are LS-DYNA input deck templates that contain input for the FEM runs, including the node/element information. Field II will be used to solve for the intesities at these nodal locations (calc_hp). This information is read into MATLAB using read_dyna_nodes.m, which saves a variable measurementPointsandNodes that contains the node IDs, along with the x, y, and z coordinates respectively.

New meshes will need to be generated if you have a transducer that will need to go deeper than one of the current meshes allows or if the transducer has a doemetry that doesn’t conform to a pre-existing mesh. HyperMesh is a Windows-based program that can be used to generate meshes that can be exported for use in LS-DYNA. Documentation and tutorials for how to use HyperMesh, along with tutorial exercises can be found in /data/jlb/src/altair/6.0/docs/ . Doug Dumont has also written a nice tutorial on how to use HyperMesh (HyperMesh.pdf).

Field II

Field II is called from within the front end PERL script to solve to the intensity values at each nodal location for each focal configuration and material attenuation. [The old scripts used to do this are field2dyna.m and fieldprms3d_arfi.m .] The results are saved into MATLAB files called dyna_isptaout_att??.mat, which include the measurementPointsandNodes variable, along with an isptaout variable that has node intensity values for select nodes in the mesh where ultrasonic energy is absorbed.

Intensity Measurements

The intensity fields that are simulated by Field II need to be scaled up to values that will be used in vivo. This is accomplished by performing a linear extrapolation of the of small-signal derated intensity fields, as outlined in the 2002 NCRP report . First, intensity measurements are made using a hydrophone in a water tank at low power values to avoid saturation of the water. [CITE DOCUMENTATION ON MAKING HYDROPHONE MEASUREMENTS]

Thermocouple Measurements

See Kristin Frinkley’s document on making thermocouple measurements (tcprotocol.pdf).

LS-DYNA

LS-DYNA is a non-linear, three-dimensional, finite element analysis program that is used for structural and thermal modeling in the lab. Documentation for running models in LS-DYNA can be found in /data/jlb/src/lstc/docs/. Details on the types of elements used in the models are included in the first thermal publications .

Once the intesity values from Field II are scale appropraitely using the hydrophone and thermocouple measurements, these values must be converted to heat sources to modeling the heating behavior or the tissue, or to initial temperatures to model the cooling of the tissue. We will start with the later case.

As outlined in the first thermal publication , when heat is applied over a short time period relative to the thermal conductivity of the materal, the temperature increase can be solved using Equation [inittemp]:

\[\Delta{T} = {q_v \over c_v} t = {2 \alpha I \over c_v} t. \label{inittemp}\]

\(I\) in Equation [inittemp] is the scaled intensity value that was determined in the earlier sections of this document. By inputing initial temperatures, the FEA can be performed with cruder time steps for cooling response. These initial temperatures are determined using the MATLAB script make_asc_therm.m, which saves the file inittemps.asc, which has column data of the form: node ID, initial temp (deg C). This file is then read in as an initial condition into the LS-DYNA input deck under the card INITIAL_TEMPERATURE_NODE.

Heat sources will need to be generated when the high-intesity ARFI pushing pulses are applied over a greater time duration relative to the thermal conductivity. If you are in doubt, generate the heat sources and run the simulation. [NEED TO ADD ALL OF THIS]

MATLAB Output

LS-DYNA saves its results in d3plot files. To perform post-processing on these results in MATLAB, these results are converted to MATLAB format using the function d3plotConvert.m . This function reads in the header of the binary d3plot file, and creates variables of the relevant data, which in this case is nodal temperature data through time. This data is saved to dyna_convolve_FR.mat and dyna_convolve_FR_elev.mat, which contain the temperature data on the two symmetry faces (axial-lateral, and axial-elevation respectively) through time. All other data in the d3plot files is not saved to the MATLAB result files - if this data is needed, it can be viewed using ls-prepost or saved separated in MATLAB.

Thermal Convolution

The FEM analyzes the heating and cooling associated with a single ARFI interrogation. To simulate the heating and cooling assocaited with multiple lines per frame, and multiple frames of ARFI imaging, convulation of the thermal results is performed in MATLAB using convolveFR.m [THIS MIGHT CHANGE - NEED TO ADD LOTS OF COMMENTS TO CODE ON HOW THIS WORKS - THE INVLUDE THAT CODE (VERBATIM) HERE]