Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
Alfven.h
Go to the documentation of this file.
1/*
2 * This file is part of Vlasiator.
3 * Copyright 2010-2016 Finnish Meteorological Institute
4 *
5 * For details of usage, see the COPYING file and read the "Rules of the Road"
6 * at http://www.physics.helsinki.fi/vlasiator/
7 *
8 * This program is free software; you can redistribute it and/or modify
9 * it under the terms of the GNU General Public License as published by
10 * the Free Software Foundation; either version 2 of the License, or
11 * (at your option) any later version.
12 *
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License along
19 * with this program; if not, write to the Free Software Foundation, Inc.,
20 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
21 */
22
23#ifndef ALFVEN_H
24#define ALFVEN_H
25
26#include "../../definitions.h"
27#include "../project.h"
28
29namespace projects {
30
36
37 class Alfven: public Project {
38 public:
39 Alfven();
40 virtual ~Alfven();
41
42 virtual bool initialize(void) override;
43 static void addParameters(void);
44 virtual void getParameters(void) override;
45 virtual void setProjectBField(
49 ) override;
50
52 const uint popID,
53 const uint nRequested) const override;
54 virtual void calcCellParameters(spatial_cell::SpatialCell* cell,creal& t) override;
55
63 std::vector<AlfvenSpeciesParameters> speciesParams;
64 } ; // class Alfven
65} // namespace projects
66
67#endif
virtual void calcCellParameters(spatial_cell::SpatialCell *cell, creal &t) override
Definition Alfven.cpp:156
Real Bx_guiding
Definition Alfven.h:57
std::vector< AlfvenSpeciesParameters > speciesParams
Definition Alfven.h:63
Real Bz_guiding
Definition Alfven.h:59
virtual Realf fillPhaseSpace(spatial_cell::SpatialCell *cell, const uint popID, const uint nRequested) const override
Definition Alfven.cpp:97
virtual void setProjectBField(fsgrids::perbspan perb, fsgrids::bgbspan bgb, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid) override
Definition Alfven.cpp:169
Real By_guiding
Definition Alfven.h:58
virtual bool initialize(void) override
Definition Alfven.cpp:40
static void addParameters(void)
Definition Alfven.cpp:52
virtual ~Alfven()
Definition Alfven.cpp:38
Real WAVELENGTH
Definition Alfven.h:61
virtual void getParameters(void) override
Definition Alfven.cpp:72
float Real
Definition definitions.h:41
float Realf
Definition definitions.h:33
fsgrid::FsGrid< FS_STENCIL_WIDTH > FieldSolverGrid
Definition definitions.h:78
const float creal
Definition definitions.h:42
std::span< std::array< Real, fsgrids::bfield::N_BFIELD > > perbspan
Definition common.h:434
std::span< technical > technicalspan
Definition common.h:452
std::span< std::array< Real, bgbfield::N_BGB > > bgbspan
Definition common.h:444