#include <injective_transfer.hpp>
Public Types | |
typedef BorisSweeper< scalar, time >::encap_type | encap_type |
typedef BorisSweeper< scalar, time >::acceleration_type | force_type |
Public Member Functions | |
virtual | ~InjectiveTransfer () |
virtual void | interpolate_initial (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src) override |
Interpolate initial condition from the coarse sweeper to the fine sweeper. More... | |
virtual void | interpolate (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src, bool interp_initial=false) override |
Interpolate, in time and space, from the coarse sweeper to the fine sweeper. More... | |
virtual void | interpolate (shared_ptr< ParticleCloud< scalar >> dst, shared_ptr< const ParticleCloud< scalar >> src) |
virtual void | interpolate (shared_ptr< ParticleCloudComponent< scalar >> dst, shared_ptr< const ParticleCloudComponent< scalar >> src) |
virtual void | restrict_initial (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src) override |
Restrict initial condition from the fine sweeper to the coarse sweeper. More... | |
virtual void | restrict (shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src, bool restrict_initial=false) override |
Restrict, in time and space, from the fine sweeper to the coarse sweeper. More... | |
virtual void | restrict (shared_ptr< ParticleCloud< scalar >> dst, shared_ptr< const ParticleCloud< scalar >> src) |
virtual void | restrict (shared_ptr< ParticleCloudComponent< scalar >> dst, shared_ptr< const ParticleCloudComponent< scalar >> src) |
virtual void | fas (time dt, shared_ptr< ISweeper< time >> dst, shared_ptr< const ISweeper< time >> src) override |
Compute FAS correction between the coarse and fine sweepers. More... | |
![]() | |
virtual | ~ITransfer () |
Definition at line 28 of file injective_transfer.hpp.
typedef BorisSweeper<scalar, time>::encap_type pfasst::examples::boris::InjectiveTransfer< scalar, time >::encap_type |
Definition at line 32 of file injective_transfer.hpp.
typedef BorisSweeper<scalar, time>::acceleration_type pfasst::examples::boris::InjectiveTransfer< scalar, time >::force_type |
Definition at line 33 of file injective_transfer.hpp.
|
inlinevirtual |
Definition at line 36 of file injective_transfer.hpp.
|
inlineoverridevirtual |
Compute FAS correction between the coarse and fine sweepers.
[in] | dt | width of the time step to compute FAS correction for |
[in,out] | dst | sweeper to compute FAS correction for (i.e. coarse level) |
[in] | src | sweeper to compute FAS correction from (i.e. fine level) |
Implements pfasst::ITransfer< time >.
Definition at line 187 of file injective_transfer.hpp.
References pfasst::examples::boris::ParticleCloudFactory< precision >::num_particles(), pfasst::examples::boris::InjectiveTransfer< scalar, time >::restrict(), and pfasst::examples::boris::zero().
|
inlineoverridevirtual |
Interpolate, in time and space, from the coarse sweeper to the fine sweeper.
[in,out] | dst | sweeper to interpolate onto (i.e. fine level) |
[in] | src | sweeper to interpolate from (i.e. coarse level) |
[in] | interp_initial | true if a delta for the initial condtion should also be computed (PFASST) |
Implements pfasst::ITransfer< time >.
Definition at line 68 of file injective_transfer.hpp.
References pfasst::examples::boris::InjectiveTransfer< scalar, time >::interpolate_initial(), pfasst::examples::boris::InjectiveTransfer< scalar, time >::restrict(), and pfasst::encap::solution.
Referenced by pfasst::examples::boris::InjectiveTransfer< scalar, time >::interpolate_initial().
|
inlinevirtual |
Definition at line 116 of file injective_transfer.hpp.
|
inlinevirtual |
Definition at line 124 of file injective_transfer.hpp.
|
inlineoverridevirtual |
Interpolate initial condition from the coarse sweeper to the fine sweeper.
[in,out] | dst | sweeper to interpolate onto (i.e. fine level) |
[in] | src | sweeper to interpolate from (i.e. coarse level) |
NotImplementedYet | This function is required by PFASST |
Reimplemented from pfasst::ITransfer< time >.
Definition at line 40 of file injective_transfer.hpp.
References pfasst::examples::boris::InjectiveTransfer< scalar, time >::interpolate(), pfasst::examples::boris::InjectiveTransfer< scalar, time >::restrict(), and pfasst::encap::solution.
Referenced by pfasst::examples::boris::InjectiveTransfer< scalar, time >::interpolate().
|
inlineoverridevirtual |
Restrict, in time and space, from the fine sweeper to the coarse sweeper.
[in,out] | dst | sweeper to restrict onto (i.e. coarse level) |
[in] | src | sweeper to restrict from (i.e. fine level) |
[in] | restrict_initial | true if the initial condition should also be restricted |
Implements pfasst::ITransfer< time >.
Definition at line 146 of file injective_transfer.hpp.
References pfasst::examples::boris::InjectiveTransfer< scalar, time >::restrict_initial().
Referenced by pfasst::examples::boris::InjectiveTransfer< scalar, time >::fas(), pfasst::examples::boris::InjectiveTransfer< scalar, time >::interpolate(), and pfasst::examples::boris::InjectiveTransfer< scalar, time >::interpolate_initial().
|
inlinevirtual |
Definition at line 170 of file injective_transfer.hpp.
|
inlinevirtual |
Definition at line 178 of file injective_transfer.hpp.
|
inlineoverridevirtual |
Restrict initial condition from the fine sweeper to the coarse sweeper.
[in,out] | dst | sweeper to restrict onto (i.e. coarse level) |
[in] | src | sweeper to restrict from (i.e. fine level) |
NotImplementedYet | This function is required by PFASST |
Reimplemented from pfasst::ITransfer< time >.
Definition at line 133 of file injective_transfer.hpp.
Referenced by pfasst::examples::boris::InjectiveTransfer< scalar, time >::restrict().