WarpX
Toggle main menu visibility
Loading...
Searching...
No Matches
Source
Particles
Collision
CollisionBase.H
Go to the documentation of this file.
1
/* Copyright 2020 David Grote
2
*
3
* This file is part of WarpX.
4
*
5
* License: BSD-3-Clause-LBNL
6
*/
7
#ifndef WARPX_PARTICLES_COLLISION_COLLISIONBASE_H_
8
#define WARPX_PARTICLES_COLLISION_COLLISIONBASE_H_
9
10
#include "
Particles/MultiParticleContainer_fwd.H
"
11
12
#include <
AMReX_REAL.H
>
13
#include <
AMReX_Vector.H
>
14
15
#include <string>
16
17
enum class
CollisionSteppingMode
{
Supercycle
,
Subcycle
};
18
19
class
CollisionBase
20
{
21
public
:
22
23
explicit
CollisionBase
(
const
std::string& collision_name);
24
25
virtual
void
doCollisions
(
amrex::Real
/*cur_time*/
,
amrex::Real
/*dt*/
,
MultiParticleContainer
*
/*mypc*/
){}
26
27
CollisionBase
(
CollisionBase
const
&) =
delete
;
28
CollisionBase
(
CollisionBase
&&) =
delete
;
29
CollisionBase
&
operator=
(
CollisionBase
const
&) =
delete
;
30
CollisionBase
&
operator=
(
CollisionBase
const
&&) =
delete
;
31
32
virtual
~CollisionBase
() =
default
;
33
34
void
BackwardCompatibility
();
35
36
[[nodiscard]]
int
get_ndt
()
const
{
return
m_ndt
; }
37
38
[[nodiscard]]
CollisionSteppingMode
get_collision_stepping_mode
()
const
39
{
return
m_collision_stepping_mode
; }
40
41
[[nodiscard]]
bool
use_global_debye_length
()
const
{
return
m_use_global_debye_length
;}
42
43
protected
:
44
45
std::string
m_collision_name
;
46
amrex::Vector<std::string>
m_species_names
;
47
int
m_ndt
= 1;
48
CollisionSteppingMode
m_collision_stepping_mode
=
CollisionSteppingMode::Supercycle
;
49
50
bool
m_use_global_debye_length
=
false
;
51
52
};
53
54
#endif
// WARPX_PARTICLES_COLLISION_COLLISIONBASE_H_
AMReX_REAL.H
AMReX_Vector.H
CollisionSteppingMode
CollisionSteppingMode
Definition
CollisionBase.H:17
CollisionSteppingMode::Subcycle
@ Subcycle
Definition
CollisionBase.H:17
CollisionSteppingMode::Supercycle
@ Supercycle
Definition
CollisionBase.H:17
MultiParticleContainer_fwd.H
CollisionBase::operator=
CollisionBase & operator=(CollisionBase const &&)=delete
CollisionBase::m_ndt
int m_ndt
Definition
CollisionBase.H:47
CollisionBase::operator=
CollisionBase & operator=(CollisionBase const &)=delete
CollisionBase::m_species_names
amrex::Vector< std::string > m_species_names
Definition
CollisionBase.H:46
CollisionBase::use_global_debye_length
bool use_global_debye_length() const
Definition
CollisionBase.H:41
CollisionBase::doCollisions
virtual void doCollisions(amrex::Real, amrex::Real, MultiParticleContainer *)
Definition
CollisionBase.H:25
CollisionBase::BackwardCompatibility
void BackwardCompatibility()
Definition
CollisionBase.cpp:55
CollisionBase::CollisionBase
CollisionBase(CollisionBase const &)=delete
CollisionBase::m_collision_stepping_mode
CollisionSteppingMode m_collision_stepping_mode
Definition
CollisionBase.H:48
CollisionBase::~CollisionBase
virtual ~CollisionBase()=default
CollisionBase::m_collision_name
std::string m_collision_name
Definition
CollisionBase.H:45
CollisionBase::get_ndt
int get_ndt() const
Definition
CollisionBase.H:36
CollisionBase::CollisionBase
CollisionBase(const std::string &collision_name)
Definition
CollisionBase.cpp:14
CollisionBase::CollisionBase
CollisionBase(CollisionBase &&)=delete
CollisionBase::get_collision_stepping_mode
CollisionSteppingMode get_collision_stepping_mode() const
Definition
CollisionBase.H:38
CollisionBase::m_use_global_debye_length
bool m_use_global_debye_length
Definition
CollisionBase.H:50
MultiParticleContainer
Definition
MultiParticleContainer.H:69
amrex::Vector
amrex::Real
amrex_real Real
Generated by
1.17.0