Peridynamics documentation¶
Note: These are the peridynamics methods for the cython implementation. For the OpenCL implementation
-
peripy.peridynamics.
bond_force
()¶ Calculate the force due to bonds on each node.
Parameters: - r (
numpy.ndarray
) – The current coordinates of each node. - r0 (
numpy.ndarray
) – The initial coordinates of each node. - nlist (
numpy.ndarray
) – The neighbour list - n_neigh (
numpy.ndarray
) – The number of neighbours for each node. - volume (
numpy.ndarray
) – The volume of each node. - bond_stiffness (float) – The bond stiffness.
- force_bc_values (
numpy.ndarray
) – The force boundary condition values for each node. - force_bc_types (
numpy.ndarray
) – The force boundary condition types for each node. - bc_scale (double) – The scalar value applied to the force boundary conditions.
- r (
-
peripy.peridynamics.
break_bonds
()¶ Update the neighbour list and number of neighbours by breaking bonds which have exceeded the critical strain.
Parameters: - r (
numpy.ndarray
) – The current coordinates of each node. - r0 (
numpy.ndarray
) – The initial coordinates of each node. - nlist (
numpy.ndarray
) – The neighbour list - n_neigh (
numpy.ndarray
) – The number of neighbours for each node. - critical_strain (float) – The critical strain.
- r (
-
peripy.peridynamics.
damage
()¶ Calculate the damage for each node.
Damage is defined as the ratio of broken bonds at a node to the total number of bonds at that node.
Parameters: - n_neigh (
numpy.ndarray
) – The current number of neighbours for each node, i.e. the number of unbroken bonds. dtype=numpy.int32. - family (
numpy.ndarray
) – The total (initial) number of bonds for each node. dtype=numpy.int32.
- n_neigh (
-
peripy.peridynamics.
update_displacement
()¶ Update the displacement of each node for each node using an Euler integrator.
Parameters: - u (
numpy.ndarray
) – The current displacements of each node. - bc_values (
numpy.ndarray
) – An (n,3) array of the boundary condition values. - bc_types (
numpy.ndarray
) – An (n,3) array of the boundary condition types, where a zero value represents an unconstrained node. - force (
numpy.ndarray
) – The force due to bonds on each node. - bc_scale (float) – The scalar value applied to the displacement boundary conditions.
- dt (float) – The length of the timestep in seconds.
- u (