PFASST++
pfasst::examples::boris Namespace Reference

Namespaces

 bindings
 

Classes

class  BorisSweeper
 
struct  ErrorTuple
 
class  InjectiveTransfer
 
class  LogIndent
 
class  Particle
 
class  ParticleCloud
 
class  ParticleCloudFactory
 
class  ParticleError
 

Typedefs

template<typename coeff >
using Vector3d = Eigen::Array< coeff, 3, 1 >
 
template<typename coeff >
using Matrix3d = Eigen::Matrix< coeff, 3, 3, Eigen::RowMajor >
 
template<typename coeff >
using Matrix = Eigen::Matrix< coeff, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor >
 
typedef pair< size_t, size_t > error_index
 
template<typename scalar >
using error_map = map< error_index, ErrorTuple< scalar >>
 
template<typename precision >
using ParticleComponent = vector< precision >
 
template<typename precision >
using ParticleCloudComponent = vector< precision >
 

Functions

template<typename scalar >
error_map< scalar > run_boris_sdc (const size_t nsteps, const scalar dt, const size_t nnodes, const size_t nparticles, const size_t niters, const double abs_res_tol, const double rel_res_tol)
 
template<typename scalar >
error_map< scalar > run_boris_pfasst (const size_t nsteps, const scalar dt, const size_t nnodes, const size_t nparticles, const size_t niters, const double abs_res_tol, const double rel_res_tol)
 
template<typename precision = pfasst::time_precision>
static void init_opts ()
 
template<typename precision = pfasst::time_precision>
static void init_logs ()
 
template<typename precision >
static void init_opts ()
 
template<typename precision >
static void init_logs ()
 
template<typename T >
el::base::type::ostream_t & operator<< (el::base::type::ostream_t &os, const vector< T > &vec)
 
template<typename precision >
el::base::type::ostream_t & operator<< (el::base::type::ostream_t &os, const shared_ptr< Particle< precision >> &sp_particle)
 
template<typename precision >
static precision distance (const Particle< precision > &first, const Particle< precision > &second)
 
template<typename precision >
static precision distance (const shared_ptr< Particle< precision >> &first, const shared_ptr< Particle< precision >> &second)
 
template<typename precision >
static vector< precision > distance_to_reference (const ParticleCloud< precision > &cloud, const Particle< precision > &reference)
 
template<typename precision >
static vector< precision > distance_to_reference (const shared_ptr< ParticleCloud< precision >> &cloud, const shared_ptr< Particle< precision >> &reference)
 
template<typename precision >
 MAKE_LOGGABLE (shared_ptr< const ParticleCloud< precision >>, sp_cloud, os)
 
template<typename precision >
static precision distance (const Particle< precision > &first, const Particle< precision > &second)
 
template<typename precision >
static precision distance (const shared_ptr< Particle< precision >> first, const shared_ptr< Particle< precision >> second)
 
template<typename precision >
static vector< precision > distance_to_reference (const ParticleCloud< precision > &cloud, const Particle< precision > &reference)
 
template<typename precision >
static vector< precision > distance_to_reference (const shared_ptr< ParticleCloud< precision >> &cloud, const shared_ptr< Particle< precision >> &reference)
 
template<typename precision >
static vector< precision > cloud_component_factory (const size_t num_particles, const size_t dim)
 
template<typename precision >
static void zero (vector< precision > &data)
 
template<typename precision >
static void zero (shared_ptr< vector< precision >> &data)
 
template<typename precision >
static vector< precision > cloud_component_factory (const size_t num_particles, const size_t dim)
 
template<typename precision >
static void zero (vector< precision > &data)
 
template<typename precision >
static void zero (shared_ptr< vector< precision >> &data)
 
template<typename precision >
static vector< precision > cross_prod (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static void cross_prod_1part (typename vector< precision >::const_iterator __first, typename vector< precision >::const_iterator __second, typename vector< precision >::iterator __result)
 
template<typename precision >
static vector< precision > cross_prod_npart (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static vector< precision > kronecker (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static vector< precision > cmp_wise_mul (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static vector< precision > cmp_wise_div (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static precision max (const vector< precision > &data)
 
template<typename precision >
static precision max_abs (const vector< precision > &data)
 
template<typename precision >
static precision norm_sq (const vector< precision > &data)
 
template<typename precision >
static precision norm_sq (typename vector< precision >::const_iterator __first, typename vector< precision >::const_iterator __second)
 
template<typename precision >
static vector< precision > norm_sq_npart (const vector< precision > &data, const size_t npart)
 
template<typename precision >
static precision norm0 (const vector< precision > &data)
 
template<typename precision >
static precision norm0 (typename vector< precision >::const_iterator __first, typename vector< precision >::const_iterator __second)
 
template<typename precision >
static vector< precision > norm0_npart (const vector< precision > &data, const size_t npart)
 
template<typename precision >
static vector< precision > cross_prod (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static void cross_prod_1part (typename vector< precision >::const_iterator __first, typename vector< precision >::const_iterator __second, typename vector< precision >::iterator __result)
 
template<typename precision >
static vector< precision > cross_prod_npart (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static vector< precision > kronecker (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static vector< precision > cmp_wise_mul (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static vector< precision > cmp_wise_div (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision >
static precision max (const vector< precision > &data)
 
template<typename precision >
static precision max_abs (const vector< precision > &data)
 
template<typename precision >
static precision norm_sq (const vector< precision > &data)
 
template<typename precision >
static precision norm_sq (typename vector< precision >::const_iterator __first, typename vector< precision >::const_iterator __second)
 
template<typename precision >
static vector< precision > norm_sq_npart (const vector< precision > &data, const size_t npart)
 
template<typename precision >
static precision norm0 (const vector< precision > &data)
 
template<typename precision >
static precision norm0 (typename vector< precision >::const_iterator __first, typename vector< precision >::const_iterator __second)
 
template<typename precision >
static vector< precision > norm0_npart (const vector< precision > &data, const size_t npart)
 
template<typename precision >
vector< precision > operator+ (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision , typename ValueT >
vector< precision > operator+ (const vector< precision > &vec, const ValueT &value)
 
template<typename precision , typename ValueT >
vector< precision > operator+ (const ValueT &value, const vector< precision > &vec)
 
template<typename precision >
vector< precision > & operator+= (vector< precision > &first, const vector< precision > &second)
 
template<typename precision , typename ValueT >
vector< precision > & operator+= (vector< precision > &vec, const ValueT &value)
 
template<typename precision >
vector< precision > operator- (const vector< precision > &first, const vector< precision > &second)
 
template<typename precision , typename ValueT >
vector< precision > operator- (const vector< precision > &vec, const ValueT &value)
 
template<typename precision >
vector< precision > & operator-= (vector< precision > &first, const vector< precision > &second)
 
template<typename precision , typename ValueT >
vector< precision > & operator-= (vector< precision > &vec, const ValueT &value)
 
template<typename precision , typename ValueT >
vector< precision > operator* (const vector< precision > &vec, const ValueT &value)
 
template<typename precision , typename ValueT >
vector< precision > operator* (const ValueT &value, const vector< precision > &vec)
 
template<typename precision >
vector< precision > operator* (const vector< precision > &vec, const vector< precision > &values)
 
template<typename precision , typename ValueT >
vector< precision > & operator*= (vector< precision > &vec, const ValueT &value)
 
template<typename precision , typename ValueT >
vector< precision > operator/ (const vector< precision > &vec, const ValueT &value)
 
template<typename precision >
vector< precision > operator/ (const vector< precision > &vec, const vector< precision > &values)
 
template<typename precision , typename ValueT >
vector< precision > & operator/= (vector< precision > &vec, const ValueT &value)
 

Typedef Documentation

typedef pair<size_t, size_t> pfasst::examples::boris::error_index

Definition at line 65 of file boris_sweeper.hpp.

template<typename scalar >
using pfasst::examples::boris::error_map = typedef map<error_index, ErrorTuple<scalar>>

Definition at line 91 of file boris_sweeper.hpp.

template<typename coeff >
using pfasst::examples::boris::Matrix = typedef Eigen::Matrix<coeff, Eigen::Dynamic, Eigen::Dynamic, Eigen::RowMajor>

Definition at line 63 of file boris_sweeper.hpp.

template<typename coeff >
using pfasst::examples::boris::Matrix3d = typedef Eigen::Matrix<coeff, 3, 3, Eigen::RowMajor>

Definition at line 60 of file boris_sweeper.hpp.

template<typename coeff >
using pfasst::examples::boris::Vector3d = typedef Eigen::Array<coeff, 3, 1>

Definition at line 57 of file boris_sweeper.hpp.

Function Documentation

template<typename precision >
static vector<precision> pfasst::examples::boris::cloud_component_factory ( const size_t  num_particles,
const size_t  dim 
)
inlinestatic

Definition at line 21 of file particle_util_impl.hpp.

template<typename precision >
static vector<precision> pfasst::examples::boris::cmp_wise_div ( const vector< precision > &  first,
const vector< precision > &  second 
)
inlinestatic

Definition at line 109 of file particle_util_impl.hpp.

template<typename precision >
static vector<precision> pfasst::examples::boris::cmp_wise_mul ( const vector< precision > &  first,
const vector< precision > &  second 
)
inlinestatic

Definition at line 100 of file particle_util_impl.hpp.

template<typename precision >
static vector<precision> pfasst::examples::boris::cross_prod ( const vector< precision > &  first,
const vector< precision > &  second 
)
inlinestatic

Definition at line 42 of file particle_util_impl.hpp.

References cross_prod_npart().

+ Here is the call graph for this function:

template<typename precision >
static void pfasst::examples::boris::cross_prod_1part ( typename vector< precision >::const_iterator  __first,
typename vector< precision >::const_iterator  __second,
typename vector< precision >::iterator  __result 
)
inlinestatic

Definition at line 54 of file particle_util_impl.hpp.

template<typename precision >
static vector<precision> pfasst::examples::boris::cross_prod_npart ( const vector< precision > &  first,
const vector< precision > &  second 
)
inlinestatic

Definition at line 64 of file particle_util_impl.hpp.

Referenced by cross_prod().

+ Here is the caller graph for this function:

template<typename precision >
static precision pfasst::examples::boris::distance ( const Particle< precision > &  first,
const Particle< precision > &  second 
)
static

Definition at line 427 of file particle_cloud_impl.hpp.

References pfasst::examples::boris::Particle< precision >::dim(), norm0(), and pfasst::examples::boris::Particle< precision >::pos().

+ Here is the call graph for this function:

template<typename precision >
static precision pfasst::examples::boris::distance ( const shared_ptr< Particle< precision >>  first,
const shared_ptr< Particle< precision >>  second 
)
static

Definition at line 435 of file particle_cloud_impl.hpp.

References distance().

+ Here is the call graph for this function:

template<typename precision >
static vector<precision> pfasst::examples::boris::distance_to_reference ( const ParticleCloud< precision > &  cloud,
const Particle< precision > &  reference 
)
static

Definition at line 441 of file particle_cloud_impl.hpp.

References distance(), and pfasst::examples::boris::ParticleCloud< precision >::size().

+ Here is the call graph for this function:

template<typename precision >
static vector<precision> pfasst::examples::boris::distance_to_reference ( const shared_ptr< ParticleCloud< precision >> &  cloud,
const shared_ptr< Particle< precision >> &  reference 
)
static

Definition at line 452 of file particle_cloud_impl.hpp.

References distance_to_reference().

+ Here is the call graph for this function:

template<typename precision >
static void pfasst::examples::boris::init_logs ( )
static

Definition at line 68 of file boris_sweeper_impl.hpp.

References pfasst::log::add_custom_logger().

+ Here is the call graph for this function:

template<typename precision = pfasst::time_precision>
static void pfasst::examples::boris::init_logs ( )
static
template<typename precision >
static void pfasst::examples::boris::init_opts ( )
static

Definition at line 59 of file boris_sweeper_impl.hpp.

template<typename precision = pfasst::time_precision>
static void pfasst::examples::boris::init_opts ( )
static
template<typename precision >
static vector<precision> pfasst::examples::boris::kronecker ( const vector< precision > &  first,
const vector< precision > &  second 
)
inlinestatic

Definition at line 84 of file particle_util_impl.hpp.

template<typename precision >
static precision pfasst::examples::boris::max ( const vector< precision > &  data)
inlinestatic

Definition at line 119 of file particle_util_impl.hpp.

template<typename precision >
static precision pfasst::examples::boris::max_abs ( const vector< precision > &  data)
inlinestatic

Definition at line 125 of file particle_util_impl.hpp.

template<typename precision >
static precision pfasst::examples::boris::norm0 ( const vector< precision > &  data)
inlinestatic

Definition at line 159 of file particle_util_impl.hpp.

template<typename precision >
static precision pfasst::examples::boris::norm0 ( typename vector< precision >::const_iterator  __first,
typename vector< precision >::const_iterator  __second 
)
inlinestatic

Definition at line 165 of file particle_util_impl.hpp.

template<typename precision >
static vector<precision> pfasst::examples::boris::norm0_npart ( const vector< precision > &  data,
const size_t  npart 
)
inlinestatic

Definition at line 172 of file particle_util_impl.hpp.

template<typename precision >
static precision pfasst::examples::boris::norm_sq ( const vector< precision > &  data)
inlinestatic

Definition at line 132 of file particle_util_impl.hpp.

template<typename precision >
static precision pfasst::examples::boris::norm_sq ( typename vector< precision >::const_iterator  __first,
typename vector< precision >::const_iterator  __second 
)
inlinestatic

Definition at line 139 of file particle_util_impl.hpp.

template<typename precision >
static vector<precision> pfasst::examples::boris::norm_sq_npart ( const vector< precision > &  data,
const size_t  npart 
)
inlinestatic

Definition at line 146 of file particle_util_impl.hpp.

template<typename scalar >
error_map<scalar> pfasst::examples::boris::run_boris_pfasst ( const size_t  nsteps,
const scalar  dt,
const size_t  nnodes,
const size_t  nparticles,
const size_t  niters,
const double  abs_res_tol,
const double  rel_res_tol 
)
template<typename scalar >
error_map< scalar > pfasst::examples::boris::run_boris_sdc ( const size_t  nsteps,
const scalar  dt,
const size_t  nnodes,
const size_t  nparticles,
const size_t  niters,
const double  abs_res_tol,
const double  rel_res_tol 
)

Definition at line 24 of file boris_mlsdc.cpp.

References pfasst::Controller< time >::add_level(), pfasst::quadrature::GaussLobatto, pfasst::Controller< time >::get_finest(), ML_CLOG, pfasst::MLSDC< time >::run(), pfasst::Controller< time >::set_duration(), pfasst::MLSDC< time >::setup(), and pfasst::examples::boris::bindings::setup().

+ Here is the call graph for this function:

template<typename precision >
static void pfasst::examples::boris::zero ( vector< precision > &  data)
inlinestatic

Definition at line 29 of file particle_util_impl.hpp.

template<typename precision >
static void pfasst::examples::boris::zero ( shared_ptr< vector< precision >> &  data)
inlinestatic

Definition at line 35 of file particle_util_impl.hpp.

References plot::data.