WarpX
Toggle main menu visibility
Loading...
Searching...
No Matches
Source
Particles
Deposition
VarianceAccumulationBuffer.H
Go to the documentation of this file.
1
/* Copyright 2025 The WarpX Community
2
*
3
* This file is part of WarpX.
4
*
5
* Authors: S. Eric Clark (Helion Energy)
6
*
7
* License: BSD-3-Clause-LBNL
8
*/
9
10
#ifndef WARPX_VARIANCEACCUMULATIONBUFFER_H_
11
#define WARPX_VARIANCEACCUMULATIONBUFFER_H_
12
13
#include <
ablastr/fields/MultiFabRegister.H
>
14
15
namespace
warpx::particles::deposition
{
16
17
class
VarianceAccumulationBuffer
{
18
protected
:
19
// Species name for array lookup from register
20
std::string
m_species_name
;
21
22
amrex::Vector<std::array<std::unique_ptr<amrex::iMultiFab>
, 3> >
m_nsamples
;
23
24
public
:
25
// Constructor for accumulation buffer
26
// This is built after the T vector fields are created, so use it to allocate the
27
VarianceAccumulationBuffer
(
ablastr::fields::MultiLevelVectorField
const
& T_vf, std::string
const
& species_name );
28
29
// This public member functions
30
void
reset
();
31
void
ConvertVarianceToTemperatureAndFilter
(
ablastr::fields::MultiLevelVectorField
const
& var_vf,
32
amrex::Real
normalization_factor,
33
bool
apply_filter);
34
35
// Data MF Accessor
36
amrex::MultiFab
*
get
(
const
std::string& arr,
ablastr::fields::Direction
dir,
int
lev);
37
amrex::iMultiFab
*
get_n
(
ablastr::fields::Direction
dir,
int
lev);
38
};
39
40
}
// namespace warpx::particles::deposition
41
#endif
// WARPX_VARIANCEACCUMULATIONBUFFER_H_
MultiFabRegister.H
ablastr::fields::Direction
Definition
MultiFabRegister.H:71
amrex::MultiFab
amrex::Vector
amrex::iMultiFab
warpx::particles::deposition::VarianceAccumulationBuffer::get_n
amrex::iMultiFab * get_n(ablastr::fields::Direction dir, int lev)
Definition
VarianceAccumulationBuffer.cpp:73
warpx::particles::deposition::VarianceAccumulationBuffer::m_nsamples
amrex::Vector< std::array< std::unique_ptr< amrex::iMultiFab >, 3 > > m_nsamples
Definition
VarianceAccumulationBuffer.H:22
warpx::particles::deposition::VarianceAccumulationBuffer::m_species_name
std::string m_species_name
Definition
VarianceAccumulationBuffer.H:20
warpx::particles::deposition::VarianceAccumulationBuffer::VarianceAccumulationBuffer
VarianceAccumulationBuffer(ablastr::fields::MultiLevelVectorField const &T_vf, std::string const &species_name)
Definition
VarianceAccumulationBuffer.cpp:23
warpx::particles::deposition::VarianceAccumulationBuffer::get
amrex::MultiFab * get(const std::string &arr, ablastr::fields::Direction dir, int lev)
Definition
VarianceAccumulationBuffer.cpp:66
warpx::particles::deposition::VarianceAccumulationBuffer::reset
void reset()
Definition
VarianceAccumulationBuffer.cpp:50
warpx::particles::deposition::VarianceAccumulationBuffer::ConvertVarianceToTemperatureAndFilter
void ConvertVarianceToTemperatureAndFilter(ablastr::fields::MultiLevelVectorField const &var_vf, amrex::Real normalization_factor, bool apply_filter)
Definition
VarianceAccumulationBuffer.cpp:79
amrex::Real
amrex_real Real
ablastr::fields::MultiLevelVectorField
amrex::Vector< VectorField > MultiLevelVectorField
Definition
MultiFabRegister.H:218
warpx::particles::deposition
Definition
TemperatureDeposition.H:32
Generated by
1.17.0