Nonlinear electrostatic calculations are much more difficult to develop and run compared to linear OnScale calculations. Membrane thicknesses are small. Membrane vibration modes are relatively large. Membrane behavior is significantly nonlinear and effected by bias voltages and any other prestressing of the membrane that may occur. Whereas linear models can be run with any applied voltage and the results simply scaled to represent a specific magnitude of excitation, nonlinear calculations must use the proper magnitudes of loading in all steps of the analysis, or the driven membrane will behave incorrectly.
Given these factors and the fact that there is a high cost of running nonlinear calculations, users should consider building and running the simplest engineering models that simulate the basic response of interest. The following list some of the issues and some of the modeling tricks that have been found to be effective in simulating CMUT devices.
Large deformation is required for electrostatic coupling. In OnScale, large deformation calculations are performed only on the 'skewed partition' of the model. Including the ldef primary command activates large deformation processing. General skewed models may be constructed with the Build program, or 3rd party meshers that can create structured grids.
However, for simple rectangular geometries, there is an easier way to define the coordinates of the skewed partition. The user may specify model geometry via the usual xcrd, ycrd and zcrd subcommands in the geom command group, then include the skew stnd subcommand to convert the model, or some portion of it into a skewed partition.
Note: Skewed element processing is far more CPU intensive than standard partition processing, and only the portion of the model involved in electrostatic coupling needs to be modeled as skewed.
Shell elements faithfully represent the mechanical response of the membrane, but they do not influence the electric field calculation. If there is only a single material between the top and bottom electrodes, then this poses no problem. However, if there are several materials (e.g., Silicon Nitride and vacuum), then the dielectric interface must be modeled. Since the shell includes the mechanical stiffness of the silicon nitride, we can include the dielectric effect of the silicon nitride with a continuum element, using the correct dielectric permitivity, but zero mechanical stiffness and mass properties.
The shell nodes should be located at the electrode location, and shell layer offsets may be specified if necessary. Note that inclusion of shell elements within the model activates rotational degrees-of-freedom for all nodes, whereas a model composed only of continuum elements only activates translational degrees-of-freedom at the nodes. Since continuum elements do not use rotational degrees-of-freedom, when connecting a row of shell elements to a continuum region of the model, users should ensure the shell elements overlap at least one full continuum element instead of simply ending the row of shell elements at the first continuum element corner node encountered.
Zero Volume Elements
If the CMUT membrane contacts the bottom of the gap, the gap element(s) have a nonphysical zero or negative volume and the electrical capacitance calculation will fail. The error message that will occur in this situation is:
****error message--Bad element volume: ijk=(32,1,1)****
Where the ijk-indices printed identify the bad element within the computational model.
This can be avoided by choosing a more appropriate drive voltage, or by adding stops such as line elements. A related problem can occur if multiple elements are used through the thickness of the gap. We frequently represent these as VOID type elements. If the membrane deflection exceeds the thickness of an element, this element will again be turned inside out, and the electrical calculation will fail.
To avoid this, specify a single VOID element through the thickness of the gap, or give the gap elements mechanical stiffness (e.g., air) so those nodes within the gap will move as the membrane vibrates.
Alternatively, the regrid command may be used every N timesteps to evenly redistribute the nodes within the gap and prevent bad volume elements. The regrid command is only valid for VOID elements or other materials with zero density and stiffness.
There may be certain cases in which the effects of membrane contact to the lower electrode may need to be simulated. In these cases the line spring and gap elements between the membrane and the lower electrode should be included.
A large DC bias voltage is usually applied to put the CMUT in its most efficient operating range. Also, static prestress is typically induced by the manufacturing process and can be a significant contributor to membrane stiffness for large membranes. A convenient method for applying these static conditions is to ramp them up from zero to the desired static value over a few cycles of the fundamental resonant frequency, with the dynamic relaxation (drlx command) activated. Oscillations will quickly damp to the static solution, then the dynamic relaxation option can be deactivated at the start of the dynamic response calculation.
As in conventional piezoelectric applications, a circuit with a damping resistor can be used in impedance calculations to damp out the ringing. Examples include a heuristic relation for sizing the damping resistor. Due to the low damping of CMUT devices in air, it is often important to include resistive damping within the model to damp the solution in a reasonable number of timesteps.
If the membrane is immersed, the low wave speed of water can slow the dynamic relaxation process. A method of dealing with this is to build the model including the water and run through the prcs command. It is possible to copy the material definition tables to an auxiliary array, remove the water using the mods command group, run the static solution as if the device were in air, then restore the water in preparation for the dynamic response phase of the analysis.
Note: The mods commands may only be used on the large deformation (skewed) portion of the model.
Eliminating Small Elements
When using the explicit solver in OnScale, small element dimensions will cause a small model timestep, thus requiring an excessive number to complete the simulation. It is desirable to have at least 20 timesteps per cycle of the device, but 100,000 timesteps per cycle is excessive. An effective model is the most efficient one that closely approximates the device’s mechanical stiffness, electrostatic forces and electrical capacitance throughout the simulation. Some of the techniques used for this include the use of void elements (processed electrically, but not mechanically) and rigid or bonded links.
Rigid substructures can be useful in various modeling situations and are defined by using the rigb command group. Each rigid substructure consists of one or more nodes that behave as a rigid body. The forces on all nodes assigned to the rigid substructure are summed about the center-of-gravity for the entire group. The rigid body equations of motion are solved and the appropriate nodal velocities are determined. Rigid substructures can have either velocity of force boundary conditions applied to them. They may also have any of their six rigid body degrees-of-freedom fixed or free to move.
Note: Kinematic boundary conditions using the boun command group that are applied to nodes assigned to a rigid substructure are ignored. That is, the rigid body motion is dominant in defining a node's velocity.
The bond command group allows rows or planes of nodes to be bonded (glued) to another set of nodes. However, the discretization of the bonded grid surfaces should have the same discretization or one should be an integer subdivision of the other.
In the case of CMUT models, the bond option has been found to be useful in constraining the motion of the dielectric material for a flexible membrane that has been assigned zero mechanical stiffness.
In order to compute impedance, we must first remove the bias portion of the charge and voltage records. This can be done in a review file or in a 3rd party programme such as MATLAB.