Contact Interfaces are important when discussing modelling of CMUT devices. When membrane deformation extends beyond a certain level, the combination of Bias levels, external loads and the electrostatic attraction forces can cause the device to 'collapse', where the membrane touches the bottom of the cavity.
In practical terms, this is not necessarily a bad event. Indeed, improved efficiency has been shown to occur when devices are driven in 'collapse-mode'. However, in a modelling sense this can cause serious errors is not accounted for and handled correctly.
The main problem when the membrane collapses is that it creates Zero Volume Elements. Yet, with some care in model set-up this error can be avoided and 'collapse mode' can be well represented. This is implemented through contact elements in OnScale, specifically through line elements of type joint.
These types of elements act like 'stops' to prevent nodes from actually touching and causing errors. The gap between the nodes will never be 100% as this would invoke an error, however, 98-99% is practical. Users can set the size of the gap and also the 'stiffness' of the line elements (1-10% of material stiffness is common). Damping can also be added through artificial viscosity to prevent high-frequency 'chatter' being generated when the gap is reached.
Some additional points of note:
When setting the stiffness of the gap in force displacement curves (nominally $pstiff in example files), the stiffness must be greater than the stresses in the model to prevent collapse of the Joint Springs, but not so stiff that it forces the timestep to be too small.
- Custom force-displacement curves can be defined for the contact elements. However, the defaults provided in the examples are more than adequate for the vast majority of CMUT applications.
Modelling a membrane with no electrostatic effects
It is worth noting that for users that wish to model only a membrane, with no Electrostatic solver, only pressure loading effects, can use alternative contact boundaries that are easier to implement.
The interaction boundaries command, intr, can provide a very straight-forward way of implementing contact without the need for joint springs. In this case the gap is closed completely, and a variety of other interaction physics can be accounted for, for example friction, slip, debonds and more.
/* Fraction of gap closed before contact symb pclosed = 0.98
/* Approximate stiffness to use for contact resistance symb pstiff = 140e9 * 1e-3 /* ensure stiffness value will not be less than max stress in model
/* Contact section - define displacement/force curve, state surfaces. No friction, only contact symb strtgap = $pclosed * $ThkGap
/* Create LINE elements in gap to act like springs when membrane collapses line curv cont elas -$ThkGap -$pstiff -$strtgap 0.0 0.0 0.0 1.0 0.0 type joint prop gap * * cont * * * * * * * * 4. 0.04 itfc gap $i1 $i2 $j2 $j2 1 1 $i1 $i2 $j4 $j4 1 1 $x1 $y4 0. out info length joint