#include <PETSc.h>
Public Member Functions | |
template<class T , class EngineTag > | |
PoomaDA (const Array< Dim, T, EngineTag > &a, DAPeriodicType pt, DAStencilType st, int sw) | |
Creates a PETSc DA from the specified array/field/layout. | |
template<class MeshTag , class T , class EngineTag > | |
PoomaDA (const Field< MeshTag, T, EngineTag > &f, DAPeriodicType pt, DAStencilType st, int sw) | |
template<class Layout > | |
PoomaDA (const Layout &l, DAPeriodicType pt, DAStencilType st, int sw) | |
~PoomaDA () | |
operator DA () const | |
Can use this as PETSc DA type. | |
DAPeriodicType | periodicType () const |
Access PeriodicType. | |
DAStencilType | stencilType () const |
Access StencilType. | |
template<class T , class EngineTag > | |
void | assign (Vec v, const Engine< Dim, T, EngineTag > &e) |
Assign from POOMA engine to PETSc vector. | |
template<class T , class EngineTag > | |
void | assign (Vec v, const Array< Dim, T, EngineTag > &a) |
Assign from POOMA array to PETSc vector. | |
template<class MeshTag , class T , class EngineTag > | |
void | assign (Vec v, const Field< MeshTag, T, EngineTag > &f) |
Assign from POOMA field to PETSc vector. | |
template<class T , class EngineTag > | |
void | assign (const Engine< Dim, T, EngineTag > &e, Vec v) |
Assign from PETSc vector to POOMA engine. | |
template<class T , class EngineTag > | |
void | assign (const Array< Dim, T, EngineTag > &a, Vec v) |
Assign from PETSc vector to POOMA array. | |
template<class MeshTag , class T , class EngineTag > | |
void | assign (const Field< MeshTag, T, EngineTag > &f, Vec v) |
Assign from PETSc vector to POOMA field. | |
Protected Member Functions | |
void | initialize (const Interval< Dim > &d, DAPeriodicType pt, DAStencilType st, int sw) |
Pooma::PoomaDA< Dim >::PoomaDA | ( | const Array< Dim, T, EngineTag > & | a, | |
DAPeriodicType | pt, | |||
DAStencilType | st, | |||
int | sw | |||
) | [inline] |
Creates a PETSc DA from the specified array/field/layout.
Extra arguments are like DACreateNd, namely the periodicity and stencil type and the stencil width.
References Pooma::PoomaDA< Dim >::initialize(), and Array< Dim, T, EngineTag >::physicalDomain().
Pooma::PoomaDA< Dim >::PoomaDA | ( | const Field< MeshTag, T, EngineTag > & | f, | |
DAPeriodicType | pt, | |||
DAStencilType | st, | |||
int | sw | |||
) | [inline] |
Pooma::PoomaDA< Dim >::PoomaDA | ( | const Layout & | l, | |
DAPeriodicType | pt, | |||
DAStencilType | st, | |||
int | sw | |||
) | [inline] |
References Pooma::PoomaDA< Dim >::initialize().
Pooma::PoomaDA< Dim >::~PoomaDA | ( | ) | [inline] |
Pooma::PoomaDA< Dim >::operator DA | ( | ) | const [inline] |
Can use this as PETSc DA type.
DAPeriodicType Pooma::PoomaDA< Dim >::periodicType | ( | ) | const [inline] |
Access PeriodicType.
DAStencilType Pooma::PoomaDA< Dim >::stencilType | ( | ) | const [inline] |
Access StencilType.
void Pooma::PoomaDA< Dim >::assign | ( | Vec | v, | |
const Engine< Dim, T, EngineTag > & | e | |||
) | [inline] |
Assign from POOMA engine to PETSc vector.
References Pooma::blockAndEvaluate(), Pooma::context(), Pooma::Algorithms::copy(), and Array< Dim, T, EngineTag >::engine().
Referenced by Pooma::PoomaDA< Dim >::assign().
void Pooma::PoomaDA< Dim >::assign | ( | Vec | v, | |
const Array< Dim, T, EngineTag > & | a | |||
) | [inline] |
Assign from POOMA array to PETSc vector.
References Pooma::PoomaDA< Dim >::assign(), and Array< Dim, T, EngineTag >::engine().
void Pooma::PoomaDA< Dim >::assign | ( | Vec | v, | |
const Field< MeshTag, T, EngineTag > & | f | |||
) | [inline] |
Assign from POOMA field to PETSc vector.
References Pooma::PoomaDA< Dim >::assign(), Field< Mesh, T, EngineTag >::fieldEngine(), and forEach().
void Pooma::PoomaDA< Dim >::assign | ( | const Engine< Dim, T, EngineTag > & | e, | |
Vec | v | |||
) | [inline] |
Assign from PETSc vector to POOMA engine.
References Pooma::context(), Pooma::Algorithms::copy(), and Array< Dim, T, EngineTag >::engine().
void Pooma::PoomaDA< Dim >::assign | ( | const Array< Dim, T, EngineTag > & | a, | |
Vec | v | |||
) | [inline] |
Assign from PETSc vector to POOMA array.
References Pooma::PoomaDA< Dim >::assign(), and Array< Dim, T, EngineTag >::engine().
void Pooma::PoomaDA< Dim >::assign | ( | const Field< MeshTag, T, EngineTag > & | f, | |
Vec | v | |||
) | [inline] |
Assign from PETSc vector to POOMA field.
References Pooma::PoomaDA< Dim >::assign(), and Field< Mesh, T, EngineTag >::fieldEngine().
void Pooma::PoomaDA< Dim >::initialize | ( | const Interval< Dim > & | d, | |
DAPeriodicType | pt, | |||
DAStencilType | st, | |||
int | sw | |||
) | [inline, protected] |
References Pooma::context(), Pooma::contexts(), growLeft(), growRight(), and PInsist.
Referenced by Pooma::PoomaDA< Dim >::PoomaDA().