Hi,
I was wondering how to implement the electrostatic-elastic coupling in SfePy. Basically, I think this coupling is described by the Maxwell stress tensor [1] which gives the stress due to the electrostatic field (setting the magnetic field to 0 in the quasistatic approximation) on the surface of a conductor.
I think the coupling can be handled in a similar manner with the piezoelectric coupling. For example, in input/piezo.py, the equations are:
equations = { '1' : """- %f * dw_mass_vector.i1.Y( inclusion.density, v, u ) + dw_lin_elastic_iso.i1.Y( inclusion.lam, inclusion.mu, v, u ) - dw_piezo_coupling.i1.Y2( inclusion.coupling, v, phi ) = 0""" % omega_squared, '2' : """dw_diffusion.i1.Y( inclusion.dielectric, psi, phi ) + dw_piezo_coupling.i1.Y2( inclusion.coupling, u, psi ) = 0""", }
I think there should be a similar set of equations for the electrostatic-elastic coupling case, but the integration should be done over the interface of the elastic material and the vacuum regions. I think that can be handled by adding a 2D integral in the problem definition. What I'm missing is how to define the coupling term in SfePy. I think the form of the term is basically the same as dw_surface_ltr in sfepy_manual.pdf. Also, it looks like the gradient of the electric potential can be obtained from cachesBasic.
Is it possible to use the gradient of the electric potential information to calculate the Maxwell stress tensor using appropriate vector operations (divergence and dot product), along with the dielectric tensor? Would this be doable through the dw_surface_ltr term? Or is it better to implement a new coupling term (based off dw_surface_ltr) to handle this (and how would one go about that :) )?
Hope everything is clear! Any advice is greatly appreciated!
Thanks, Logan