Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
vlasovmover.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 VLASOVMOVER_H
24#define VLASOVMOVER_H
25
26#include <vector>
27
28#include "../definitions.h"
30using namespace spatial_cell;
31
32#include <stdint.h>
33#include <dccrg.hpp>
34#include <dccrg_cartesian_geometry.hpp>
35
37 dccrg::Dccrg<SpatialCell,dccrg::Cartesian_Geometry>& mpiGrid,
38 const Real dt
39);
40
42 dccrg::Dccrg<SpatialCell,dccrg::Cartesian_Geometry>& mpiGrid,
43 const Real dt);
44
45// Vlasov timestep reduction
46// found in either arch_dt.cpp or gpu_dt.cpp
47void reduce_vlasov_dt(dccrg::Dccrg<SpatialCell,dccrg::Cartesian_Geometry>& mpiGrid,
48 const vector<CellID>& cells,
49 Real (&dtMaxLocal)[3]);
50
55 const bool& computeSecond,
56 const bool& computePopulationMomentsOnly,
57 const bool& doNotSkip=false
58);
59
63
65 dccrg::Dccrg<SpatialCell,dccrg::Cartesian_Geometry>& mpiGrid,
66 const int cp_rhom,
67 const int cp_vx,
68 const int cp_vy,
69 const int cp_vz,
70 const int cp_rhoq,
71 const int cp_p11,
72 const int cp_p22,
73 const int cp_p33,
74 const int cp_p23,
75 const int cp_p13,
76 const int cp_p12
77);
78
84void calculateInitialVelocityMoments(dccrg::Dccrg<SpatialCell,dccrg::Cartesian_Geometry>& mpiGrid);
85
86
87
88#endif
89
90
dt
Definition Dispersion.m:39
float Real
Definition definitions.h:41
void calculateInterpolatedVelocityMoments(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const int cp_rhom, const int cp_vx, const int cp_vy, const int cp_vz, const int cp_rhoq, const int cp_p11, const int cp_p22, const int cp_p33, const int cp_p23, const int cp_p13, const int cp_p12)
Compute real-time 1st order accurate moments from the moments after propagation in velocity and spati...
void calculateAcceleration(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const Real dt)
void calculateCellMoments(spatial_cell::SpatialCell *cell, const bool &computeSecond, const bool &computePopulationMomentsOnly, const bool &doNotSkip=false)
void reduce_vlasov_dt(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const vector< CellID > &cells, Real(&dtMaxLocal)[3])
Definition arch_dt.cpp:34
void calculateInitialVelocityMoments(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid)
Compute 0th, 1st and 2nd velocity moments (RHO,VX,VY,VZ,P_11,P_22,P_33 and *_DT2) for all cells in th...
void calculateSpatialTranslation(dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const Real dt)