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)