mpacts.contact.models.continuum. immersedboundary

In order to be able to use this module import it like this:

import mpacts.contact.models.continuum.immersedboundary
#or assign it to a shorter name
import mpacts.contact.models.continuum.immersedboundary as imm

GridToCell

Description: Assembles Eulerian signal to Lagrangian node force using an exponential: Signal * scalar * \prod_{i} \frac{ \exp(-r_i) }{ 1-\exp(-2) } \hat{n}.Where r_i= \frac{x_i}{h_i}, and x_i is the distance in direction i between the Eulerian and Lagrangian node.The first particle container contains the Eulerian nodes (must only have arrays ‘x’ and a signal array). The second particle container contains the Lagrangian mesh nodes (must have ‘x’ and force array)The ‘h’ vector array is the smoothing distance (ideally very big) which is constrained by the mesh size and computational power. Geometry combinations available:

PC2 | PC1 - Sphere
Sphere YES

GridToCell (Sphere Sphere)

Assembles Eulerian signal to Lagrangian node force using an exponential: Signal * scalar * \prod_{i} \frac{ \exp(-r_i) }{ 1-\exp(-2) } \hat{n}.Where r_i= \frac{x_i}{h_i}, and x_i is the distance in direction i between the Eulerian and Lagrangian node.The first particle container contains the Eulerian nodes (must only have arrays ‘x’ and a signal array). The second particle container contains the Lagrangian mesh nodes (must have ‘x’ and force array)The ‘h’ vector array is the smoothing distance (ideally very big) which is constrained by the mesh size and computational power.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • array1 (default value = None) — Array of the Eulerian grid which will project the smoothed signal to the Lagrangian nodes in range.
    • array2 (default value = None) — Array of the Lagrangian nodes onto which the Eulerian values will be projected.
    • h (default value = -1 -1 -1) — size of the smoothing kernel. Will only be used if ‘h’ array is NOT present in pc2!
    • scale_factor (default value = 1) — Scale factor for the force density.
    • weights (default value = 1 1 1) — weighing factor of the smoothing kernel.

This contact model is composed out of following pieces (click on the chain elements to get more information):

DefaultBoilerPlatePoint_2_DataPoint_1_DataAssemble_GridToNodes  <GaussianKernel3D >
  ↓
Feedback

IBMScalar_2D

Description: Assemble Lagrangian scalar values to Eulerian node scalar densities a kernel as found in Hou, T. Y., & Shi, Z. (2008). Journal of Computational Physics, 227(21) The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given vector array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given vector arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size. Geometry combinations available:

PC2 | PC1 - Sphere
Sphere YES

IBMScalar_2D (Sphere Sphere)

Assemble Lagrangian scalar values to Eulerian node scalar densities a kernel as found in Hou, T. Y., & Shi, Z. (2008). Journal of Computational Physics, 227(21) The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given vector array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given vector arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • array1 (default value = None) — Array of the Lagrangian nodes which will be projected ON Eulerian nodes.
    • array2 (default value = None) — Array of the Eulerian nodes onto which the Lagrangian values will be projected.
    • h (default value = -1) — size of the smoothing kernel. Will only be used if ‘h’ array is NOT present in pc2!
    • scale_factor (default value = 1) — Scale factor for the force density. Normally do not set this!

This contact model is composed out of following pieces (click on the chain elements to get more information):

DefaultBoilerPlatePoint_2_DataPoint_1_DataAssemble_IBMToMeshNodes  <IBM2D, double >
  ↓
Feedback

IBMScalar_3D

Description: Assemble Lagrangian scalar values to Eulerian node scalar densities using a kernel for a rectangular mesh. Kernel: phi = 1/4 * ( 1 + cos( pi*r/2 ) ) for r = (x,y,z)/h < 2The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given scalar array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given scalar arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size. Geometry combinations available:

PC2 | PC1 - Sphere
Sphere YES

IBMScalar_3D (Sphere Sphere)

Assemble Lagrangian scalar values to Eulerian node scalar densities using a kernel for a rectangular mesh. Kernel: phi = 1/4 * ( 1 + cos( pi*r/2 ) ) for r = (x,y,z)/h < 2The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given scalar array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given scalar arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • array1 (default value = None) — Array of the Lagrangian nodes which will be projected ON Eulerian nodes.
    • array2 (default value = None) — Array of the Eulerian nodes onto which the Lagrangian values will be projected.
    • h (default value = -1) — size of the smoothing kernel. Will only be used if ‘h’ array is NOT present in pc2!
    • scale_factor (default value = 1) — Scale factor for the force density. Normally do not set this!

This contact model is composed out of following pieces (click on the chain elements to get more information):

DefaultBoilerPlatePoint_2_DataPoint_1_DataAssemble_IBMToMeshNodes  <IBM3D, double >
  ↓
Feedback

IBM_2D

Description: Assemble Lagrangian forces to Eulerian node force densities using a kernel as found in Hou, T. Y., & Shi, Z. (2008). Journal of Computational Physics, 227(21)The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given vector array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given vector arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size. Geometry combinations available:

PC2 | PC1 - Sphere
Sphere YES

IBM_2D (Sphere Sphere)

Assemble Lagrangian forces to Eulerian node force densities using a kernel as found in Hou, T. Y., & Shi, Z. (2008). Journal of Computational Physics, 227(21)The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given vector array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given vector arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • array1 (default value = None) — Array of the Lagrangian nodes which will be projected ON Eulerian nodes.
    • array2 (default value = None) — Array of the Eulerian nodes onto which the Lagrangian values will be projected.
    • h (default value = -1) — size of the smoothing kernel. Will only be used if ‘h’ array is NOT present in pc2!
    • scale_factor (default value = 1) — Scale factor for the force density. Normally do not set this!

This contact model is composed out of following pieces (click on the chain elements to get more information):

DefaultBoilerPlatePoint_2_DataPoint_1_DataR3::Vector  <double, 3u >
  ↓
Assemble_IBMToMeshNodes  <IBM2D >
  ↓
Feedback

IBM_3D

Description: Assemble Lagrangian forces to Eulerian node force densities using a kernel for a rectangular mesh. Kernel: phi = 1/4 * ( 1 + cos( pi*r/2 ) ) for r = (x,y,z)/h < 2The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given vector array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given vector arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size. Geometry combinations available:

PC2 | PC1 - Sphere
Sphere YES

IBM_3D (Sphere Sphere)

Assemble Lagrangian forces to Eulerian node force densities using a kernel for a rectangular mesh. Kernel: phi = 1/4 * ( 1 + cos( pi*r/2 ) ) for r = (x,y,z)/h < 2The first particle container contains the Lagrangian nodes (must only have arrays ‘x’ and a given vector array). The second particle container contains the Eulerian mesh nodes (must have ‘x’,’h’ and given vector arrays!)The ‘h’ array is the smoothing distance (ideally very small) which is constrained by the mesh size.

Parallel Compatible: Yes

Properties:

  • Required keywords:
    • pc1 — The first particle container in the binary contact detection.
    • pc2 — The second particle container in the binary contact detection. If contact detection within the same particle container is desired, and it is applicable for the contactmodel, pass the same pc to both pc1 and pc2.
  • Optional keywords:
    • array1 (default value = None) — Array of the Lagrangian nodes which will be projected ON Eulerian nodes.
    • array2 (default value = None) — Array of the Eulerian nodes onto which the Lagrangian values will be projected.
    • h (default value = -1) — size of the smoothing kernel. Will only be used if ‘h’ array is NOT present in pc2!
    • scale_factor (default value = 1) — Scale factor for the force density. Normally do not set this!

This contact model is composed out of following pieces (click on the chain elements to get more information):

DefaultBoilerPlatePoint_2_DataPoint_1_DataR3::Vector  <double, 3u >
  ↓
Assemble_IBMToMeshNodes  <IBM3D >
  ↓
Feedback