Definition at line 38 of file FETransfer.H.
Public Member Functions | |
FETransfer (meshBase *_source, meshBase *_target) | |
~FETransfer () override | |
int | transferPointData (const std::vector< int > &arrayIDs, const std::vector< std::string > &newnames=std::vector< std::string >()) override |
Transfers point data with arrayID from source mesh to target The algorithm is as follows; 1) For each point in the target mesh, find the cell of the source mesh in which it exists. More... | |
int | transferPointData (int pointId, vtkSmartPointer< vtkGenericCell > containingCell, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasSource, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasTarget, bool flip) |
int | transferCellData (const std::vector< int > &arrayIDs, const std::vector< std::string > &newnames=std::vector< std::string >()) override |
Transfer cell data from source mesh to target The algorithm is as follows: 1) Convert the cell data on the source mesh by inverse-distance weighted averaging of data at cells sharing given point. More... | |
int | transferCellData (int i, vtkSmartPointer< vtkGenericCell > genCell, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasSourceToPoint, std::vector< vtkSmartPointer< vtkDoubleArray >> &dasTarget) |
int | run (const std::vector< std::string > &newnames=std::vector< std::string >()) override |
Transfer all cell and point data from source to target. More... | |
int | transferPointData (const std::vector< std::string > &arrayNames, const std::vector< std::string > &newnames=std::vector< std::string >()) |
Transfer point data with given field names from source to target. More... | |
int | transferCellData (const std::vector< std::string > &arrayNames, const std::vector< std::string > &newnames=std::vector< std::string >()) |
Transfer cell data with given field names from source to target. More... | |
void | setCheckQual (bool x) |
void | setContBool (bool x) |
Static Public Member Functions | |
static FETransfer * | Create (meshBase *source, meshBase *target) |
static std::shared_ptr< FETransfer > | CreateShared (meshBase *source, meshBase *target) |
Protected Attributes | |
meshBase * | source |
meshBase * | target |
vtkSmartPointer< vtkStaticCellLocator > | srcCellLocator = nullptr |
vtkSmartPointer< vtkStaticCellLocator > | trgCellLocator = nullptr |
vtkSmartPointer< vtkStaticPointLocator > | srcPointLocator = nullptr |
vtkSmartPointer< vtkStaticPointLocator > | trgPointLocator = nullptr |
bool | checkQual |
bool | continuous |
double | c2cTrnsDistTol |
Private Member Functions | |
void | getClosestSourceCell (double x[3], bool flip, vtkIdType &id, vtkSmartPointer< vtkGenericCell > closestCell, double closestPoint[3], int &subId, double &minDist2, double *&weights) |
Thread safe implementation using static point locator. More... | |
Inherits TransferBase.
Definition at line 44 of file FETransfer.C.
References meshBase::getDataSet(), NEM::MSH::New(), TransferBase::source, TransferBase::srcCellLocator, TransferBase::srcPointLocator, TransferBase::target, TransferBase::trgCellLocator, and TransferBase::trgPointLocator.
|
inlineoverride |
Definition at line 42 of file FETransfer.H.
|
inlinestatic |
|
inlinestatic |
Definition at line 49 of file FETransfer.H.
References Create(), TransferBase::run(), TransferBase::transferCellData(), and TransferBase::transferPointData().
Referenced by NEM::DRV::TransferDriver::CreateTransferObject().
|
private |
Definition at line 527 of file FETransfer.C.
References NEM::MSH::New(), TransferBase::source, TransferBase::srcCellLocator, TransferBase::target, and TransferBase::trgCellLocator.
Referenced by transferCellData(), and transferPointData().
|
overridevirtual |
Implements TransferBase.
Definition at line 488 of file FETransfer.C.
References meshBase::getDataSet(), TransferBase::source, TransferBase::target, transferCellData(), and transferPointData().
|
inlineinherited |
Definition at line 100 of file TransferBase.H.
|
inlineinherited |
Definition at line 102 of file TransferBase.H.
|
inherited |
arrayIDs | array of array names to specify which fields to transfer |
newnames | optional array of names to be applied to transferred fields |
Definition at line 47 of file TransferBase.C.
References TransferBase::getArrayIDs(), meshBase::getDataSet(), TransferBase::source, and TransferBase::transferCellData().
|
overridevirtual |
arrayIDs | array of array ids for transfer |
newnames | optional array of names for transferred data: newnames[i] specifies the transferred array name in the target at arrayId[i] |
Implements TransferBase.
Definition at line 274 of file FETransfer.C.
References TransferBase::c2cTrnsDistTol, TransferBase::continuous, meshBase::getCellCenter(), getClosestSourceCell(), meshBase::getDataSet(), meshBase::getNumberOfCells(), meshBase::getNumberOfPoints(), meshBase::getPoint(), id, nemAux::l2_Norm(), NEM::MSH::New(), TransferBase::source, TransferBase::target, and meshBase::unsetCellDataArray().
Referenced by run().
int FETransfer::transferCellData | ( | int | i, |
vtkSmartPointer< vtkGenericCell > | genCell, | ||
std::vector< vtkSmartPointer< vtkDoubleArray >> & | dasSourceToPoint, | ||
std::vector< vtkSmartPointer< vtkDoubleArray >> & | dasTarget | ||
) |
Definition at line 422 of file FETransfer.C.
References meshBase::getCellCenter(), getClosestSourceCell(), id, and TransferBase::target.
|
overridevirtual |
arrayIDs | array of array ids for transfer |
newnames | optional array of names for transferred data: newnames[i] specifies the transferred array name in the target at arrayId[i] |
Implements TransferBase.
Definition at line 84 of file FETransfer.C.
References TransferBase::checkQual, nemAux::Timer::elapsed(), meshBase::getDataSet(), meshBase::getNumberOfPoints(), id, NEM::MSH::New(), TransferBase::source, nemAux::Timer::start(), nemAux::Timer::stop(), TransferBase::target, and meshBase::unsetPointDataArray().
Referenced by run().
int FETransfer::transferPointData | ( | int | pointId, |
vtkSmartPointer< vtkGenericCell > | containingCell, | ||
std::vector< vtkSmartPointer< vtkDoubleArray >> & | dasSource, | ||
std::vector< vtkSmartPointer< vtkDoubleArray >> & | dasTarget, | ||
bool | flip | ||
) |
Definition at line 225 of file FETransfer.C.
References getClosestSourceCell(), meshBase::getDataSet(), TransferBase::source, and TransferBase::target.
|
inherited |
arrayIDs | array of array names to specify which fields to transfer |
newnames | optional array of names to be applied to transferred fields |
Definition at line 36 of file TransferBase.C.
References TransferBase::getArrayIDs(), meshBase::getDataSet(), TransferBase::source, and TransferBase::transferPointData().
|
protectedinherited |
Definition at line 116 of file TransferBase.H.
Referenced by transferCellData().
|
protectedinherited |
Definition at line 114 of file TransferBase.H.
Referenced by transferPointData().
|
protectedinherited |
Definition at line 115 of file TransferBase.H.
Referenced by transferCellData().
|
protectedinherited |
Definition at line 105 of file TransferBase.H.
Referenced by ConservativeVolumeTransfer::ConservativeVolumeTransfer(), ConservativeVolumeTransfer::constructSupermesh(), FETransfer(), getClosestSourceCell(), run(), TransferBase::transferCellData(), transferCellData(), ConservativeSurfaceTransfer::transferPointData(), transferPointData(), TransferBase::transferPointData(), and ConservativeSurfaceTransfer::writeOverlay().
|
protectedinherited |
Definition at line 108 of file TransferBase.H.
Referenced by FETransfer(), and getClosestSourceCell().
|
protectedinherited |
Definition at line 111 of file TransferBase.H.
Referenced by FETransfer().
|
protectedinherited |
Definition at line 106 of file TransferBase.H.
Referenced by ConservativeVolumeTransfer::ConservativeVolumeTransfer(), ConservativeVolumeTransfer::constructSupermesh(), FETransfer(), getClosestSourceCell(), run(), transferCellData(), ConservativeSurfaceTransfer::transferPointData(), transferPointData(), and ConservativeSurfaceTransfer::writeOverlay().
|
protectedinherited |
Definition at line 109 of file TransferBase.H.
Referenced by FETransfer(), and getClosestSourceCell().
|
protectedinherited |
Definition at line 112 of file TransferBase.H.
Referenced by FETransfer().