Linear Dipole Model
The linear dipole model is mechanically the same as the Linear Model, comprised of both linear and dashpot components. In addition to unbonded mechanical interactions, forces and moments based on discrete magnetic dipoles may be included to explicitly model permanent and induced magnetization.
Introduction
The linear dipole model provides mechanical linear and dashpot components that act in parallel with one another. The linear component provides linear elastic (notension) frictional behavior, while the dashpot component provides viscous behavior. Both components act over a vanishingly small area, and thus transmit only a force. The mechanical model is thoroughly elucidated in the Linear Model document, and the user is referred there for further details of the mechanical characteristics of the model.
In order to model magnetic interactions, each piece is abstracted as a magnetic dipole based on [Thomaszewski2008]. Forces and moments due to the dipole interactions are computed and also applied to the pieces. The moments applied to each piece due to the dipole interactions are, in general, not the same. One must also use the proximity concept (see the contact cmat proximity
command) so that contacts may be deemed active despite the lack of physical overlap. Inheritance of the dipole_mo surface property is also required along with orientation tracking (see the model orientationtracking
command).
Behavior Summary
The linear dipole model provides the behavior of an infinitesimal interface that does not resist relative rotation. The mechanical contact force is resolved into linear and dashpot components. The linear component provides linear elastic (notension), frictional behavior. The dashpot component provides viscous behavior. Review the Linear Model document for further details of the mechanical response. Additional forces and moments due to interacting magnetic dipoles are also added. The total contact force is \(\mathbf{F_{c}} = \mathbf{F^{l}} + \mathbf{F^{d}} + \mathbf{F^{di}}\), where \(\mathbf{F^{l}}\) is the linear force, \(\mathbf{F^{d}}\) is the dashpot force, and \(\mathbf{F^{di}}\) is the magnetic dipole force. The moments applied to each piece from the magnetic dipoles are generally different from each other and different from zero (i.e., \(\mathbf{M_{1}} \neq \mathbf{M_{2}} \neq 0\), where \(\mathbf{M_{1}}\) is the moment applied to piece 1 and \(\mathbf{M_{2}}\) is the moment applied to piece 2). These forces and moments are based on magnetostatic computations assuming dipoles as outlined below.
ActivityDeletion Criteria
A contact with the linear dipole model is active if the surface gap is less than or equal to the dipole distance \(d_d\) (0 by default). The forcedisplacement law is skipped for inactive contacts. Mechanical forces may not arise even if dipole forces/moments exist.
ForceDisplacement Law
In addition to the force displacements computed in the linear model, this model computes forces and moments due to magnetic dipoles interacting at a distance. These forces are added to the linear and dashpot forces.
Given the magnetic field \(\mathbf{B}\), the magnetizing field \(\mathbf{H}\), the current density \(\mathbf{J}\), and the magnetization \(\mathbf{M}\), Maxwell’s equations can be written as
where \(\mu_0\) is the permeability of free space and \(\nabla\) is the gradient.
Suppose there is a magnetic moment \(\mathbf{m}\) positioned at the center of a rigid piece given a specified current density. Assuming this can be represented as a vanishingly small magnetic dipole, the force exerted on the rigid body in the presence of a magnetic field is given by
while the moment is
The magnetic field as a function of distance from a vanishingly small magnetic dipole is
where \(\mathbf{n} = (\mathbf{r}  \mathbf{r_0}) / \mathbf{r}  \mathbf{r_0}\) and \(\mathbf{r_0}\) is the center of the rigid piece.
As noted in [Thomaszewski2008], for an arbitrarily shaped object with uniform magnetization, one can decompose it into \(N\) magnetic dipoles so that the total magnetic field is
For an infinite number of dipoles, the solution converges to the total magnetic field if their spatial distribution discretizes the piece shape. As the shapes of the pieces/bodies are not incorporated explicitly in the model, one can discretize a body into multiple clump pebbles to simulate nonspherical magnet geometries using this contact model.
The forces/moments represent the interactions of two magnetic dipoles with magnetic moments \(\mathbf{m_1}\) and \(\mathbf{m_2}\) at positions \(\mathbf{r_1}\) and \(\mathbf{r_2}\); these are the piece positions. Given the definition of the magnetic field due to a dipole, the resulting force is
where \(\mathbf{n_{12}} = (\mathbf{r_1}  \mathbf{r_2}) / \mathbf{r_1}  \mathbf{r_2}\). This is the force applied to piece 2. The force applied to piece 1 is equal and opposite, replacing \(\mathbf{n_{12}}\) with \(\mathbf{n_{21}}\). As the distance between pieces shrinks to a vanishingly small value the force becomes infinite. The \(d_{cap}\) is used to place a cap on the minimum distance used for force and moment computations.
The moments are
and
These moments are not equal and opposite. Also notice that the moments decay less rapidly than the forces, meaning that moments dominate at larger distances.
The above forces and moments presume the magnetic moments are in the local coordinate system. They should be specified as a piece surface property and inherited. Since these are vectors, though, they must be rotated to account for the rigid body rotation of the pieces. Thus, at the point in the simulation when they are specified as piece surface properties, it is presumed no rotations have occurred and orientation tracking is active. Subsequently they are rotated as the pieces spin.
Energy Partitions
The energies computed are the same as for the linear energies.
Properties
The properties defined by the linear dipole contact model are listed in the table below as a concise reference. See the Contact Properties section for a description of the information in the table columns. The mapping from the surface inheritable properties to the contact model properties is also discussed below.
Keyword 
Symbol 
Description 
Type 
Range 
Default 
Modifiable 
Inheritable 

linear 
Model name 

Linear Group: 

kn 
\(k_n\) 
Normal stiffness [force/length] 
FLT 
\([0.0,+\infty)\) 
0.0 
YES 
YES 
ks 
\(k_s\) 
Shear stiffness [force/length] 
FLT 
\([0.0,+\infty)\) 
0.0 
YES 
YES 
fric 
\(\mu\) 
Friction coefficient [] 
FLT 
\([0.0,+\infty)\) 
0.0 
YES 
YES 
rgap 
\(g_r\) 
Reference gap [length] 
FLT 
\(\mathbb{R}\) 
0.0 
YES 
NO 
lin_mode 
\(M_l\) 
Normalforce update mode [] 
INT 
\(\{0,1\}\) 
0 
YES 
NO 
\(\;\;\;\;\;\;\begin{cases} \mbox{0: update is absolute} \\ \mbox{1: update is incremental} \end{cases}\) 

emod 
\(E^*\) 
Effective modulus [force/area] 
FLT 
\([0.0,+\infty)\) 
0.0 
NO 
N/A 
kratio 
\(\kappa^*\) 
Normaltoshear stiffness ratio [] 
FLT 
\([0.0,+\infty)^*\) 
0.0\(^*\) 
NO 
N/A 
\(\kappa^* \equiv \frac{k_n}{k_s}\) 

lin_slip 
\(s\) 
Slip state [] 
BOOL 
{false,true} 
false 
NO 
N/A 
\(\;\;\;\;\;\;\begin{cases} \mbox{true: slipping} \\ \mbox{false: not slipping} \end{cases}\) 

lin_force 
\(\mathbf{F^l}\) 
Linear force (contact plane coord. system) 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
YES 
NO 
\(\left( F_n^l,F_{ss}^l,F_{st}^l \right) \quad \left(\mbox{2D model: } F_{ss}^l \equiv 0 \right)\) 

user_area 
\(A\) 
Constant area [length*length] 
FLT 
\((0.0,+\infty)\) 
0.0 
YES 
NO 
Dashpot Group: 

dp_nratio 
\(\beta_n\) 
Normal critical damping ratio [] 
FLT 
\([0.0,1.0]\) 
0.0 
YES 
NO 
dp_sratio 
\(\beta_s\) 
Shear critical damping ratio [] 
FLT 
\([0.0,1.0]\) 
0.0 
YES 
NO 
dp_mode 
\(M_d\) 
Dashpot mode [] 
INT 
{0,1,2,3} 
0 
YES 
NO 
\(\;\;\;\;\;\;\begin{cases} \mbox{0: full normal & full shear} \\ \mbox{1: notension normal & full shear} \\ \mbox{2: full normal & slipcut shear} \\ \mbox{3: notension normal & slipcut shear} \end{cases}\) 

dp_force 
\(\mathbf{F^d}\) 
Dashpot force (contact plane coord. system) 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
NO 
NO 
\(\left( F_n^d,F_{ss}^d,F_{st}^d \right) \quad \left(\mbox{2D model: } F_{ss}^d \equiv 0 \right)\) 

Dipole Group: 

dipole_cap 
\(d_{cap}\) 
Capping distance for force/moment [length] 
FLT 
\((0.0,+\infty)\) 
0.0 
YES 
NO 
dipole_d 
\(d_d\) 
Activity distance [length] 
FLT 
\((0.0,+\infty)\) 
0.0 
YES 
NO 
dipole_f 
\(\mathbf{F^{di}}\) 
Dipole force (contact plane coord. system) 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
YES 
NO 
dipole_m1 
\(\mathbf{M_1}\) 
Moment applied to piece 1 (contact plane coord. system) 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
YES 
NO 
dipole_m2 
\(\mathbf{M_2}\) 
Moment applied to piece 2 (contact plane coord. system) 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
YES 
NO 
dipole_mo1 
\(\mathbf{m_1}\) 
Dipole moment of piece 1 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
YES 
YES 
dipole_mo2 
\(\mathbf{m_2}\) 
Dipole moment of piece 2 
VEC 
\(\mathbb{R}^3\) 
\(\mathbf{0}\) 
YES 
YES 
\(^*\) By convention, \(\kappa^* = 0.0\) if either the normal or the shear stiffness is 0. 
Note
Outofbalance forces acting on bodies are accumulated during forcedisplacement calculations. Modifying the forces stored in the contact models will not alter them instantaneously. Therefore, any change to \(\mathbf{F^l}\) may only be effective during the next forcedisplacement calculation.
Surface Property Inheritance
The linear stiffnesses, \(k_n\) and \(k_s\), and the friction coefficient, \(\mu\), may be inherited from the contacting pieces, along with the original dipole moments \(\mathbf{m_1}\) and \(\mathbf{m_2}\). Remember that for a property to be inherited, the inheritance flag for this property must be set to true (default), and both contacting pieces must hold a property with the exact same name.
The linear stiffnesses are inherited, assuming that both pieces’ stiffnesses act in series (Figure 5):
where \((1)\) and \((2)\) denote the properties of piece 1 and 2, respectively.
The friction coefficient is inherited using the minimum of the values set for the pieces:
The dipole moments are taken from each piece and stored.
Methods
Method 
Arguments 
Symbol 
Type 
Range 
Default 
Description 

area 
Set user_area to the area 

deformability 
Set deformability 

emod 
\(E^*\) 
FLT 
\([0.0,+\infty)\) 
N/A 
Effective modulus 

kratio 
\(\kappa^*\) 
FLT 
\([0.0,+\infty)^*\) 
N/A 
Normaltoshear stiffness ratio 

\(^*\) By convention, setting \(\kappa^* = 0.0\) sets \(k_s = 0.0\) but does not alter \(k_n\). 
See here for a description of the methods.
Callback Events
Event 
Array Slot 
Value Type 
Range 
Description 

contact_activated 
Contact has become active 

1 
C_PNT 
N/A 
Contact pointer 

slip_change 
Slip state has changed 

1 
C_PNT 
N/A 
Contact pointer 

2 
INT 
{0,1} 
Slip change mode 

\(\;\;\;\;\;\;\begin{cases} \mbox{0: slip has initiated} \\ \mbox{1: slip has ended} \end{cases}\) 
Usage and Verification Examples
The verification “Simulating Square Permanent Magnets” compares the analytic response of the attractive forces/moments of a square magnet with increasing levels of discretization of a cube with dipoles.
Model Summary
An alphabetical list of the linear dipole model methods is given here. An alphabetical list of the linear dipole model properties is given here.
References
Was this helpful? ...  Itasca Software © 2023, Itasca  Updated: Feb 16, 2024 