PFASST++
External Solver
+ Collaboration diagram for External Solver:

Namespaces

 simple_physics_solver
 
 simple_physics_solver::internal
 

Classes

class  simple_physics_solver::SimplePhysicsSolverConfig
 

Functions

void simple_physics_solver::evaluate_external_e_field (const double *positions, const double *charges, const double *masses, const size_t num_particles, const double t, const SimplePhysicsSolverConfig *config, double *forces)
 
void simple_physics_solver::evaluate_internal_e_field (const double *positions, const double *charges, const double *masses, const size_t num_particles, const double t, const SimplePhysicsSolverConfig *config, double *exyz, double *phis)
 
void simple_physics_solver::evaluate_e_field (const double *positions, const double *charges, const double *masses, const size_t num_particles, const double t, const SimplePhysicsSolverConfig *config, double *forces)
 
void simple_physics_solver::get_b_field_vector (const SimplePhysicsSolverConfig *config, double *b_field_vector)
 
void simple_physics_solver::evaluate_b_field (const double *velocities, const double *masses, const double *charges, const size_t num_particles, const double t, const SimplePhysicsSolverConfig *config, double *forces)
 
double simple_physics_solver::compute_energy (const double *positions, const double *velocities, const double *masses, const double *charges, const size_t num_particles, const double t, const SimplePhysicsSolverConfig *config)
 

Detailed Description

Function Documentation

double simple_physics_solver::compute_energy ( const double *  positions,
const double *  velocities,
const double *  charges,
const double *  masses,
const size_t  num_particles,
const double  t,
const SimplePhysicsSolverConfig config 
)

Definition at line 179 of file simple_physics_solver.cpp.

References DIM, simple_physics_solver::SimplePhysicsSolverConfig::epsilon, simple_physics_solver::evaluate_internal_e_field(), simple_physics_solver::SimplePhysicsSolverConfig::external_e_field_matrix, simple_physics_solver::SimplePhysicsSolverConfig::omega_e, simple_physics_solver::internal::scalar_prod(), and simple_physics_solver::internal::scale_mat_mul_vec().

Referenced by pfasst::examples::boris::bindings::WrapperSimplePhysicsSolver< scalar, time >::energy().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void simple_physics_solver::evaluate_b_field ( const double *  velocities,
const double *  charges,
const double *  masses,
const size_t  num_particles,
const double  t,
const SimplePhysicsSolverConfig config,
double *  forces 
)

Definition at line 161 of file simple_physics_solver.cpp.

References simple_physics_solver::SimplePhysicsSolverConfig::b_field_matrix, DIM, simple_physics_solver::SimplePhysicsSolverConfig::omega_b, simple_physics_solver::internal::scale_mat_mul_vec(), and UNUSED.

Referenced by pfasst::examples::boris::bindings::WrapperSimplePhysicsSolver< scalar, time >::b_field_evaluate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void simple_physics_solver::evaluate_e_field ( const double *  positions,
const double *  charges,
const double *  masses,
const size_t  num_particles,
const double  t,
const SimplePhysicsSolverConfig config,
double *  forces 
)

Definition at line 123 of file simple_physics_solver.cpp.

References DIM, simple_physics_solver::evaluate_external_e_field(), and simple_physics_solver::evaluate_internal_e_field().

Referenced by pfasst::examples::boris::bindings::WrapperSimplePhysicsSolver< scalar, time >::e_field_evaluate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void simple_physics_solver::evaluate_external_e_field ( const double *  positions,
const double *  charges,
const double *  masses,
const size_t  num_particles,
const double  t,
const SimplePhysicsSolverConfig config,
double *  forces 
)

Definition at line 46 of file simple_physics_solver.cpp.

References DIM, simple_physics_solver::SimplePhysicsSolverConfig::epsilon, simple_physics_solver::SimplePhysicsSolverConfig::external_e_field_matrix, simple_physics_solver::SimplePhysicsSolverConfig::omega_e, simple_physics_solver::internal::scale_mat_mul_vec(), and UNUSED.

Referenced by simple_physics_solver::evaluate_e_field(), and pfasst::examples::boris::bindings::WrapperSimplePhysicsSolver< scalar, time >::external_e_field_evaluate().

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

void simple_physics_solver::evaluate_internal_e_field ( const double *  positions,
const double *  charges,
const double *  masses,
const size_t  num_particles,
const double  t,
const SimplePhysicsSolverConfig config,
double *  exyz,
double *  phis 
)

Definition at line 69 of file simple_physics_solver.cpp.

References DIM, simple_physics_solver::SimplePhysicsSolverConfig::sigma2, and UNUSED.

Referenced by simple_physics_solver::compute_energy(), and simple_physics_solver::evaluate_e_field().

+ Here is the caller graph for this function:

void simple_physics_solver::get_b_field_vector ( const SimplePhysicsSolverConfig config,
double *  b_field_vector 
)

Definition at line 150 of file simple_physics_solver.cpp.

References DIM, and simple_physics_solver::SimplePhysicsSolverConfig::omega_b.

Referenced by pfasst::examples::boris::bindings::WrapperSimplePhysicsSolver< scalar, time >::b_field_vecs(), and pfasst::examples::boris::bindings::WrapperSimplePhysicsSolver< scalar, time >::get_b_field_vector().

+ Here is the caller graph for this function: