IBAMR  IBAMR version 0.19.
Public Member Functions | Static Public Member Functions | Static Private Member Functions | List of all members
SAMRAI::hier::MBUtilities< DIM > Class Template Reference

Class MBUtilities contains utility functions related to multiblock functionality. More...

#include <MBUtilities.h>

Public Member Functions

 MBUtilities ()
 
virtual ~MBUtilities ()
 

Static Public Member Functions

static void translateAndCopyData (hier::Patch< DIM > &dst_patch, const int dst_id, const hier::Patch< DIM > &src_patch, const int src_id, const hier::IntVector< DIM > &shift, const typename MultiblockPatchHierarchy< DIM >::RotationIdentifier rotate)
 Copy patch data from src to dst using the shift and rotate arguments. More...
 
static void translateAndFillData (hier::Patch< DIM > &dst_patch, const int dst_id, const hier::Patch< DIM > &src_patch, const int src_id, const hier::IntVector< DIM > &shift, const typename MultiblockPatchHierarchy< DIM >::RotationIdentifier rotate)
 Fill patch data from src to dst using the shift and rotate arguments. More...
 
static void rotateIndex (int *index, const typename MultiblockPatchHierarchy< DIM >::RotationIdentifier rotation)
 rotate an index from one index space to another More...
 

Static Private Member Functions

static void rotateAboutAxis (int *index, const int axis, const int num_rotations)
 private routine to rotate an index around an axis More...
 

Detailed Description

template<int DIM>
class SAMRAI::hier::MBUtilities< DIM >

See also
hier::MultiblockPatchHierarchy

Constructor & Destructor Documentation

◆ MBUtilities()

template<int DIM>
SAMRAI::hier::MBUtilities< DIM >::MBUtilities ( )

Constructor

◆ ~MBUtilities()

template<int DIM>
virtual SAMRAI::hier::MBUtilities< DIM >::~MBUtilities ( )
virtual

Virtual destructor does nothing

Member Function Documentation

◆ translateAndCopyData()

template<int DIM>
static void SAMRAI::hier::MBUtilities< DIM >::translateAndCopyData ( hier::Patch< DIM > &  dst_patch,
const int  dst_id,
const hier::Patch< DIM > &  src_patch,
const int  src_id,
const hier::IntVector< DIM > &  shift,
const typename MultiblockPatchHierarchy< DIM >::RotationIdentifier  rotate 
)
static
Parameters
dst_patchdestination data
dst_iddestination id
src_patchsource data
src_idsource id
shiftthe shift needed after rotation
rotateidentifier of the rotation between index spaces

◆ translateAndFillData()

template<int DIM>
static void SAMRAI::hier::MBUtilities< DIM >::translateAndFillData ( hier::Patch< DIM > &  dst_patch,
const int  dst_id,
const hier::Patch< DIM > &  src_patch,
const int  src_id,
const hier::IntVector< DIM > &  shift,
const typename MultiblockPatchHierarchy< DIM >::RotationIdentifier  rotate 
)
static

This is an empty virtual function that allows for a user-defined implementation of the filling of destination patch data.

Parameters
dst_patchdestination data
dst_iddestination id
src_patchsource data
src_idsource id
shiftthe shift needed after rotation
rotateidentifier of the rotation between index spaces

◆ rotateIndex()

template<int DIM>
static void SAMRAI::hier::MBUtilities< DIM >::rotateIndex ( int index,
const typename MultiblockPatchHierarchy< DIM >::RotationIdentifier  rotation 
)
static

The parameter index is an int pointer with points to an array of int data, length DIM. It signifies an ijk location in an index space. According to the rotation number, the location will be rotated around the origin, with the new values overwriting the original values in the array pointed to by index.

Parameters
indexarray identifying a point in index space
rotationidentifier of the rotation that will be applied to index

◆ rotateAboutAxis()

template<int DIM>
static void SAMRAI::hier::MBUtilities< DIM >::rotateAboutAxis ( int index,
const int  axis,
const int  num_rotations 
)
staticprivate

In 3D, rotation of an index about the origin is decomposed into a series of rotations about an axis. This function performs one such rotation.

Parameters
indexarray identifying a point in index space
axisaxis around which index will be rotated
num_rotationsnumber of 90-degree rotations around the axis

The documentation for this class was generated from the following file: