Near Field

class pyMPM.Near_Field(box, E0, radius=1, dip=None, dip_pos=None, field_points=None, xi=0.5, errortol=0.001)

Calculate the electric field at points for the given dipoles at dip_pos.

Parameters
box

A 1D array of length three specifying Lx, Ly, and Lz.

E0

The incident field. 1D array of length three.

radius

The radius of the dipole particles. Defaults to 1 (assumed nondimentionalized).

dip

A 2D array (num_dipoles,3) specifying the dipoles contributing to the electric field in units of eps_m*|E_0|*R**3 (the same as the MPM class returns). Can also be set with set_dipoles method, but must be set before calling calculate.

dip_pos

A 2D array (num_dipoles,3) specifying the position of the dipoles contributing to the electric field. Can also be set with set_dip_pos method, but must be set before calling calculate.

field_points

A 2D (num_field_points, 3) array specifying the field_points points where the electric field_points should be calculated. Can also be set with set_field_points method, but must be set before calling calculate.

xi

Ewald parameter. Defaults to 0.5

errortol

The error tolerance. Defaults to 0.001.

set_dipoles(dip)

Used to set or change the dipoles.

Parameters
dip

Dipoles contributing to the electric field.

set_dipole_positions(dip_pos)

Used to set or change the dipole positions.

Parameters
dip_pos

The position of the dipoles contributing to the electric field.

set_field_points(field_points)

Used to set or change the field points.

Parameters
field_points

The field points where the electric field should be calculated.

calculate()

Calculates the electric field intensity at each field points.

Returns
E

The electric field intensity at each field point.