Hipace
|
#include "Fields.H"
#include "fft_poisson_solver/FFTPoissonSolverPeriodic.H"
#include "fft_poisson_solver/FFTPoissonSolverDirichlet.H"
#include "Hipace.H"
#include "OpenBoundary.H"
#include "utils/HipaceProfilerWrapper.H"
#include "utils/Constants.H"
#include "utils/GPUUtil.H"
#include "utils/InsituUtil.H"
#include "particles/particles_utils/ShapeFactors.H"
Classes | |
struct | derivative_inner< dir > |
inner version of derivative More... | |
struct | derivative_inner< Direction::z > |
inner version of derivative More... | |
struct | derivative< dir > |
derivative in x or y direction More... | |
struct | derivative< Direction::z > |
derivative in z direction. Use fields from previous and next slice More... | |
struct | interpolated_field_xy_inner< interp_order_xy, ArrayType > |
inner version of interpolated_field_xy More... | |
struct | interpolated_field_xy< interp_order_xy, MfabType > |
interpolate field in x, y with interp_order_xy order transversely, x and y must be inside field box More... | |
struct | guarded_field_xy_inner |
inner version of guarded_field_xy More... | |
struct | guarded_field_xy |
if indices are outside of the fields box zero is returned More... | |
Functions | |
template<class FVA , class FVB > | |
void | LinCombination (const amrex::IntVect box_grow, amrex::MultiFab dst, const amrex::Real factor_a, const FVA &src_a, const amrex::Real factor_b, const FVB &src_b) |
Calculates dst = factor_a*src_a + factor_b*src_b. src_a and src_b can be derivatives. More... | |
template<class FV > | |
void | Multiply (const amrex::IntVect box_grow, amrex::MultiFab dst, const amrex::Real factor, const FV &src) |
Calculates dst = factor*src. src can be a derivative. More... | |
template<class Functional > | |
void | SetDirichletBoundaries (Array2< amrex::Real > RHS, const amrex::Box &solver_size, const amrex::Geometry &geom, const amrex::Real offset, const amrex::Real factor, const Functional &boundary_value) |
Sets non zero Dirichlet Boundary conditions in RHS which is the source of the Poisson equation: laplace LHS = RHS. More... | |
void LinCombination | ( | const amrex::IntVect | box_grow, |
amrex::MultiFab | dst, | ||
const amrex::Real | factor_a, | ||
const FVA & | src_a, | ||
const amrex::Real | factor_b, | ||
const FVB & | src_b | ||
) |
Calculates dst = factor_a*src_a + factor_b*src_b. src_a and src_b can be derivatives.
[in] | box_grow | how much the domain of dst should be grown |
[in] | dst | destination |
[in] | factor_a | factor before src_a |
[in] | src_a | first source |
[in] | factor_b | factor before src_b |
[in] | src_b | second source |
void Multiply | ( | const amrex::IntVect | box_grow, |
amrex::MultiFab | dst, | ||
const amrex::Real | factor, | ||
const FV & | src | ||
) |
Calculates dst = factor*src. src can be a derivative.
[in] | box_grow | how much the domain of dst should be grown |
[in] | dst | destination |
[in] | factor | factor before src_a |
[in] | src | first source |
void SetDirichletBoundaries | ( | Array2< amrex::Real > | RHS, |
const amrex::Box & | solver_size, | ||
const amrex::Geometry & | geom, | ||
const amrex::Real | offset, | ||
const amrex::Real | factor, | ||
const Functional & | boundary_value | ||
) |
Sets non zero Dirichlet Boundary conditions in RHS which is the source of the Poisson equation: laplace LHS = RHS.
[in] | RHS | source of the Poisson equation: laplace LHS = RHS |
[in] | solver_size | size of RHS/poisson solver (no tiling) |
[in] | geom | geometry of of RHS/poisson solver |
[in] | offset | shift boundary value by offset number of cells |
[in] | factor | multiply the boundary_value by this factor |
[in] | boundary_value | functional object (Real x, Real y) -> Real value_of_potential |