MADNESS  version 0.9
Public Types | Public Member Functions | Static Public Member Functions | Protected Attributes | Friends | List of all members
madness::DerivativeBase< T, NDIM > Singleton Referenceabstract

Tri-diagonal operator traversing tree primarily for derivative operator. More...

#include <derivative.h>

Inheritance diagram for madness::DerivativeBase< T, NDIM >:
Inheritance graph
[legend]
Collaboration diagram for madness::DerivativeBase< T, NDIM >:
Collaboration graph
[legend]

Public Types

typedef Tensor< T > tensorT
 
typedef GenTensor< T > coeffT
 
typedef Key< NDIMkeyT
 
typedef std::pair< keyT, coeffTargT
 
typedef FunctionImpl< T, NDIMimplT
 
typedef Function< T, NDIMfunctionT
 
typedef WorldContainer< Key
< NDIM >, FunctionNode< T,
NDIM > > 
dcT
 
typedef FunctionNode< T, NDIMnodeT
 

Public Member Functions

 DerivativeBase (World &world, std::size_t axis, int k, BoundaryConditions< NDIM > bc)
 
virtual ~DerivativeBase ()
 
Void forward_do_diff1 (const implT *f, implT *df, const keyT &key, const argT &left, const argT &center, const argT &right) const
 
Void do_diff1 (const implT *f, implT *df, const keyT &key, const argT &left, const argT &center, const argT &right) const
 
virtual Void do_diff2b (const implT *f, implT *df, const keyT &key, const argT &left, const argT &center, const argT &right) const =0
 
virtual Void do_diff2i (const implT *f, implT *df, const keyT &key, const argT &left, const argT &center, const argT &right) const =0
 
Function< T, NDIMoperator() (const functionT &f, bool fence=true) const
 Differentiate w.r.t. given coordinate (x=0, y=1, ...) with optional fence. More...
 
Key< NDIMneighbor (const keyT &key, int step) const
 
Future< argTfind_neighbor (const implT *f, const Key< NDIM > &key, int step) const
 
template<typename Archive >
void serialize (const Archive &ar) const
 
- Public Member Functions inherited from madness::WorldObject< DerivativeBase< T, NDIM > >
 WorldObject (World &world)
 Associates object with globally unique ID. More...
 
const uniqueidTid () const
 Returns the globally unique object ID. More...
 
Worldget_world () const
 Returns a reference to the world. More...
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8) const
 
detail::task_result_type
< memfnT >::futureT 
send (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9) const
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8)". More...
 
detail::task_result_type
< memfnT >::futureT 
task (ProcessID dest, memfnT memfn, const a1T &a1, const a2T &a2, const a3T &a3, const a4T &a4, const a5T &a5, const a6T &a6, const a7T &a7, const a8T &a8, const a9T &a9, const TaskAttributes &attr=TaskAttributes()) const
 Sends task to derived class method "returnT (this->*memfn)(a1,a2,a3,a4,a5,a6,a7,a8,a9)". More...
 
virtual ~WorldObject ()
 

Static Public Member Functions

static bool enforce_bc (int bc_left, int bc_right, Level n, Translation &l)
 

Protected Attributes

Worldworld
 
const std::size_t axis
 
const int k
 
const BoundaryConditions< NDIMbc
 
const std::vector< long > vk
 (k,...) used to initialize Tensors More...
 

Friends

class FunctionImpl< T, NDIM >
 

Additional Inherited Members

- Public Attributes inherited from madness::WorldObject< DerivativeBase< T, NDIM > >
Worldworld
 Think globally act locally. More...
 
- Protected Member Functions inherited from madness::WorldObject< DerivativeBase< T, NDIM > >
void process_pending ()
 To be called from derived constructor to process pending messages. More...
 

Detailed Description

template<typename T, std::size_t NDIM>
singleton madness::DerivativeBase< T, NDIM >

Tri-diagonal operator traversing tree primarily for derivative operator.

Member Typedef Documentation

template<typename T, std::size_t NDIM>
typedef std::pair<keyT,coeffT> madness::DerivativeBase< T, NDIM >::argT
template<typename T, std::size_t NDIM>
typedef GenTensor<T> madness::DerivativeBase< T, NDIM >::coeffT
template<typename T, std::size_t NDIM>
typedef WorldContainer<Key<NDIM> , FunctionNode<T, NDIM> > madness::DerivativeBase< T, NDIM >::dcT
template<typename T, std::size_t NDIM>
typedef Function<T,NDIM> madness::DerivativeBase< T, NDIM >::functionT
template<typename T, std::size_t NDIM>
typedef FunctionImpl<T,NDIM> madness::DerivativeBase< T, NDIM >::implT
template<typename T, std::size_t NDIM>
typedef Key<NDIM> madness::DerivativeBase< T, NDIM >::keyT
template<typename T, std::size_t NDIM>
typedef FunctionNode<T,NDIM> madness::DerivativeBase< T, NDIM >::nodeT
template<typename T, std::size_t NDIM>
typedef Tensor<T> madness::DerivativeBase< T, NDIM >::tensorT

Constructor & Destructor Documentation

template<typename T, std::size_t NDIM>
madness::DerivativeBase< T, NDIM >::DerivativeBase ( World world,
std::size_t  axis,
int  k,
BoundaryConditions< NDIM bc 
)
inline
template<typename T, std::size_t NDIM>
virtual madness::DerivativeBase< T, NDIM >::~DerivativeBase ( )
inlinevirtual

Member Function Documentation

template<typename T, std::size_t NDIM>
Void madness::DerivativeBase< T, NDIM >::do_diff1 ( const implT f,
implT df,
const keyT key,
const argT left,
const argT center,
const argT right 
) const
inline
template<typename T, std::size_t NDIM>
virtual Void madness::DerivativeBase< T, NDIM >::do_diff2b ( const implT f,
implT df,
const keyT key,
const argT left,
const argT center,
const argT right 
) const
pure virtual
template<typename T, std::size_t NDIM>
virtual Void madness::DerivativeBase< T, NDIM >::do_diff2i ( const implT f,
implT df,
const keyT key,
const argT left,
const argT center,
const argT right 
) const
pure virtual
template<typename T, std::size_t NDIM>
static bool madness::DerivativeBase< T, NDIM >::enforce_bc ( int  bc_left,
int  bc_right,
Level  n,
Translation l 
)
inlinestatic
template<typename T, std::size_t NDIM>
Future<argT> madness::DerivativeBase< T, NDIM >::find_neighbor ( const implT f,
const Key< NDIM > &  key,
int  step 
) const
inline
template<typename T, std::size_t NDIM>
Void madness::DerivativeBase< T, NDIM >::forward_do_diff1 ( const implT f,
implT df,
const keyT key,
const argT left,
const argT center,
const argT right 
) const
inline
template<typename T, std::size_t NDIM>
Key<NDIM> madness::DerivativeBase< T, NDIM >::neighbor ( const keyT key,
int  step 
) const
inline
template<typename T, std::size_t NDIM>
Function<T,NDIM> madness::DerivativeBase< T, NDIM >::operator() ( const functionT f,
bool  fence = true 
) const
inline

Differentiate w.r.t. given coordinate (x=0, y=1, ...) with optional fence.

Returns a new function with the same distribution

References madness::Function< T, NDIM >::get_impl(), madness::Function< T, NDIM >::is_compressed(), MADNESS_EXCEPTION, madness::Function< T, NDIM >::reconstruct(), madness::Function< T, NDIM >::set_impl(), and madness::Function< T, NDIM >::verify_tree().

template<typename T, std::size_t NDIM>
template<typename Archive >
void madness::DerivativeBase< T, NDIM >::serialize ( const Archive &  ar) const
inline

Friends And Related Function Documentation

template<typename T, std::size_t NDIM>
friend class FunctionImpl< T, NDIM >
friend

Member Data Documentation

template<typename T, std::size_t NDIM>
const std::size_t madness::DerivativeBase< T, NDIM >::axis
protected
template<typename T, std::size_t NDIM>
const BoundaryConditions<NDIM> madness::DerivativeBase< T, NDIM >::bc
protected
template<typename T, std::size_t NDIM>
const int madness::DerivativeBase< T, NDIM >::k
protected
template<typename T, std::size_t NDIM>
const std::vector<long> madness::DerivativeBase< T, NDIM >::vk
protected

(k,...) used to initialize Tensors

template<typename T, std::size_t NDIM>
World& madness::DerivativeBase< T, NDIM >::world
protected

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