|
IBAMR
An adaptive and distributed-memory parallel implementation of the immersed boundary (IB) method
|
Class PatchMathOps provides functionality to perform mathematical operations on individual SAMRAI::hier::Patch objects. More...
#include </home/runner/work/IBAMR/IBAMR/ibtk/include/ibtk/PatchMathOps.h>

Public Member Functions | |
| PatchMathOps ()=default | |
| Default constructor. | |
| virtual | ~PatchMathOps ()=default |
| Destructor. | |
Class PatchMathOps provides functionality to perform mathematical operations on individual SAMRAI::hier::Patch objects.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::EdgeData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::curl | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = curl src.
Uses centered differences.
| void IBTK::PatchMathOps::div | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| double | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0 |
||
| ) | const |
Computes dst_l = alpha div src1 + beta src2_m.
Uses centered differences.
| void IBTK::PatchMathOps::div | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| double | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0 |
||
| ) | const |
Computes dst_l = alpha div src1 + beta src2_m.
Uses centered differences.
| void IBTK::PatchMathOps::div | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| double | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0 |
||
| ) | const |
Computes dst_l = alpha div src1 + beta src2_m.
Uses centered differences.
| void IBTK::PatchMathOps::grad | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| double | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0 |
||
| ) | const |
Computes dst = alpha grad src1_l + beta src2.
Uses centered differences.
| void IBTK::PatchMathOps::grad | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | dst, |
| double | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0 |
||
| ) | const |
Computes dst = alpha grad src1_l + beta src2.
Uses centered differences.
| void IBTK::PatchMathOps::grad | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0 |
||
| ) | const |
Computes dst = alpha grad src1_l + beta src2.
Uses centered differences.
| void IBTK::PatchMathOps::grad | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| double | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0 |
||
| ) | const |
Computes dst = alpha grad src1_l + beta src2.
Uses centered differences.
| void IBTK::PatchMathOps::grad | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | alpha, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0 |
||
| ) | const |
Computes dst = alpha grad src1_l + beta src2.
Uses centered differences.
| void IBTK::PatchMathOps::laplace | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| double | alpha, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | gamma, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0, |
||
| int | n = 0 |
||
| ) | const |
Computes dst_l = alpha L src1_m + beta src1_m + gamma src2_n.
Uses the standard 5 point stencil in 2D (7 point stencil in 3D).
| void IBTK::PatchMathOps::laplace | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::FaceData< NDIM, double > > | alpha, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | gamma, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0, |
||
| int | n = 0 |
||
| ) | const |
Computes dst_l = div alpha grad src1_m + beta src1_m + gamma src2_n.
Uses a 9 point stencil in 2D (19 point stencil in 3D).
| void IBTK::PatchMathOps::laplace | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | alpha, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src1, | ||
| double | gamma, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0, |
||
| int | n = 0 |
||
| ) | const |
Computes dst_l = div alpha grad src1_m + beta src1_m + gamma src2_n.
Uses a 9 point stencil in 2D (19 point stencil in 3D).
| void IBTK::PatchMathOps::laplace | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| double | alpha, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src1, | ||
| double | gamma, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| int | l = 0, |
||
| int | m = 0, |
||
| int | n = 0 |
||
| ) | const |
Computes dst_l = alpha L src1_m + beta src1_m + gamma src2_n.
Uses the standard 5 point stencil in 2D (7 point stencil in 3D).
| void IBTK::PatchMathOps::pointwiseL1Norm | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Compute dst = |src|_1, pointwise.
| void IBTK::PatchMathOps::pointwiseL1Norm | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Compute dst = |src|_1, pointwise.
| void IBTK::PatchMathOps::pointwiseL2Norm | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Compute dst = |src|_2, pointwise.
| void IBTK::PatchMathOps::pointwiseL2Norm | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Compute dst = |src|_2, pointwise.
| void IBTK::PatchMathOps::pointwiseMaxNorm | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Compute dst = |src|_oo, pointwise.
| void IBTK::PatchMathOps::pointwiseMaxNorm | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Compute dst = |src|_oo, pointwise.
| void IBTK::PatchMathOps::rot | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| CartSideRobinPhysBdryOp * | bc_op = nullptr, |
||
| double | fill_time = 0.0 |
||
| ) | const |
Computes dst = rot src.
Uses centered differences.
| void IBTK::PatchMathOps::rot | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::EdgeData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| CartSideRobinPhysBdryOp * | bc_op = nullptr, |
||
| double | fill_time = 0.0 |
||
| ) | const |
Computes dst = rot src.
Uses centered differences.
| void IBTK::PatchMathOps::rot | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| CartSideRobinPhysBdryOp * | bc_op = nullptr, |
||
| double | fill_time = 0.0 |
||
| ) | const |
Computes dst = rot src.
Uses centered differences.
| void IBTK::PatchMathOps::rot | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| CartSideRobinPhysBdryOp * | bc_op = nullptr, |
||
| double | fill_time = 0.0 |
||
| ) | const |
Computes dst = rot src.
Uses centered differences.
| void IBTK::PatchMathOps::strain_rate | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst = strain src.
Uses centered differences.
| void IBTK::PatchMathOps::strain_rate | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst1, |
| SAMRAI::tbox::Pointer< SAMRAI::pdat::CellData< NDIM, double > > | dst2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch | ||
| ) | const |
Computes dst1 = strain src (diagonal), and dst2 = strain src (off diagonal).
Uses centered differences.
| void IBTK::PatchMathOps::vc_laplace | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| double | alpha, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::EdgeData< NDIM, double > > | coef1, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | coef2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src1, | ||
| double | gamma, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| bool | use_harmonic_interp, | ||
| int | l = 0, |
||
| int | m = 0, |
||
| int | n = 0 |
||
| ) | const |
Computes dst_l = alpha div coef1 ((grad src1_m) + (grad src1_m)^T)
| void IBTK::PatchMathOps::vc_laplace | ( | SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | dst, |
| double | alpha, | ||
| double | beta, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::NodeData< NDIM, double > > | coef1, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | coef2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src1, | ||
| double | gamma, | ||
| SAMRAI::tbox::Pointer< SAMRAI::pdat::SideData< NDIM, double > > | src2, | ||
| SAMRAI::tbox::Pointer< SAMRAI::hier::Patch< NDIM > > | patch, | ||
| bool | use_harmonic_interp, | ||
| int | l = 0, |
||
| int | m = 0, |
||
| int | n = 0 |
||
| ) | const |
Computes dst_l = alpha div coef1 ((grad src1_m) + (grad src1_m)^T)