|
Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
|
#include "common.h"#include <cstdlib>#include <iostream>#include <iomanip>#include <cmath>#include <vector>#include <sstream>#include <ctime>#include "grid.h"#include "vlasovsolver/vlasovmover.h"#include "definitions.h"#include "mpiconversion.h"#include "logger.h"#include "parameters.h"#include "datareduction/datareducer.h"#include "sysboundary/sysboundary.h"#include "fieldsolver/fs_common.h"#include "fieldsolver/gridGlue.hpp"#include "fieldsolver/derivatives.hpp"#include "vlasovsolver/cpu_trans_pencils.hpp"#include "projects/project.h"#include "iowrite.h"#include "ioread.h"#include "object_wrapper.h"#include "memory_report.h"
Go to the source code of this file.
Functions | |
| void | initVelocityGridGeometry (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| void | initSpatialCellCoordinates (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| void | initializeStencils (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| void | writeVelMesh (const dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| void | initializeGrids (int argn, char **argc, dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrid::FsData< std::array< Real, fsgrids::bfield::N_BFIELD > > &perb, fsgrid::FsData< std::array< Real, fsgrids::bgbfield::N_BGB > > &bgb, fsgrid::FsData< std::array< Real, fsgrids::moments::N_MOMENTS > > &moments, fsgrid::FsData< std::array< Real, fsgrids::moments::N_MOMENTS > > &momentsdt2, fsgrid::FsData< std::array< Real, fsgrids::dmoments::N_DMOMENTS > > &dmoments, fsgrid::FsData< std::array< Real, fsgrids::efield::N_EFIELD > > &e, fsgrid::FsData< std::array< Real, fsgrids::egradpe::N_EGRADPE > > &egradpe, fsgrid::FsData< std::array< Real, fsgrids::volfields::N_VOL > > &vol, fsgrid::FsData< fsgrids::technical > &technical, FieldSolverGrid &fsgrid, SysBoundary &sysBoundaries, Project &project) |
| Initialize DCCRG and fsgrids. | |
| void | setFaceNeighborRanks (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| uint64_t | get_transfer_part (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, uint64_t num_part_transfers, CellID cell) |
| void | transferInParts (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, std::vector< CellID > &incoming_cells_list, std::vector< CellID > &outgoing_cells_list, bool refinement=false) |
| void | balanceLoad (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, SysBoundary &sysBoundaries, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, bool doTranslationLists) |
| Balance load. | |
| void | prepareAMRLists (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| bool | adjustVelocityBlocks (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const vector< CellID > &cellsToAdjust, bool doPrepareToReceiveBlocks, const uint popID) |
| void | shrink_to_fit_grid_data (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| void | deallocateRemoteCellBlocks (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
| void | updateRemoteVelocityBlockLists (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, const uint popID, const uint neighborhood) |
| void | mapRefinement (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid) |
| bool | adaptRefinement (dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, SysBoundary &sysBoundaries, Project &project, int useStatic) |
| void | recalculateLocalCellsCache (const dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid) |
Variables | |
| Logger | logFile |
| bool adaptRefinement | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| fsgrids::technicalspan | technical, | ||
| FieldSolverGrid & | fsgrid, | ||
| SysBoundary & | sysBoundaries, | ||
| Project & | project, | ||
| int | useStatic = -1 ) |
Refine spatial cells and update necessary information
| mpiGrid | Spatial grid |
| fsgrid | Technical grid |
| sysBoundaries | System boundaries |
| project | Project used |
| useStatic | Used for forcing static refinement on restart. Negative values use adaptive refinement, non-negative values correspond to static refinement pass in Project::forceRefinement |
Definition at line 1337 of file grid.cpp.


| bool adjustVelocityBlocks | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| const vector< CellID > & | cellsToAdjust, | ||
| bool | doPrepareToReceiveBlocks, | ||
| const uint | popID ) |
| void balanceLoad | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| SysBoundary & | sysBoundaries, | ||
| fsgrids::technicalspan | technical, | ||
| FieldSolverGrid & | fsgrid, | ||
| bool | doTranslationLists = true ) |
| void deallocateRemoteCellBlocks | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
|
inline |
| void initializeGrids | ( | int | argn, |
| char ** | argc, | ||
| dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, | ||
| fsgrid::FsData< std::array< Real, fsgrids::bfield::N_BFIELD > > & | perb, | ||
| fsgrid::FsData< std::array< Real, fsgrids::bgbfield::N_BGB > > & | bgb, | ||
| fsgrid::FsData< std::array< Real, fsgrids::moments::N_MOMENTS > > & | moments, | ||
| fsgrid::FsData< std::array< Real, fsgrids::moments::N_MOMENTS > > & | momentsdt2, | ||
| fsgrid::FsData< std::array< Real, fsgrids::dmoments::N_DMOMENTS > > & | dmoments, | ||
| fsgrid::FsData< std::array< Real, fsgrids::efield::N_EFIELD > > & | e, | ||
| fsgrid::FsData< std::array< Real, fsgrids::egradpe::N_EGRADPE > > & | egradpe, | ||
| fsgrid::FsData< std::array< Real, fsgrids::volfields::N_VOL > > & | vol, | ||
| fsgrid::FsData< fsgrids::technical > & | technical, | ||
| FieldSolverGrid & | fsgrid, | ||
| SysBoundary & | sysBoundaries, | ||
| Project & | project ) |
| void initializeStencils | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void initSpatialCellCoordinates | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void initVelocityGridGeometry | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void mapRefinement | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| fsgrids::technicalspan | technical, | ||
| FieldSolverGrid & | fsgrid ) |
| void prepareAMRLists | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void recalculateLocalCellsCache | ( | const dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void setFaceNeighborRanks | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void shrink_to_fit_grid_data | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |
| void transferInParts | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| std::vector< CellID > & | incoming_cells_list, | ||
| std::vector< CellID > & | outgoing_cells_list, | ||
| bool | refinement = false ) |
| void updateRemoteVelocityBlockLists | ( | dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid, |
| const uint | popID, | ||
| const uint | neighborhood = Neighborhoods::DIST_FUNC ) |
Updates velocity block lists between remote neighbors and prepares local copies of remote neighbors to receive velocity block data. This is needed if one has locally adjusted velocity blocks
| mpiGrid | The DCCRG grid with spatial cells |
Definition at line 919 of file grid.cpp.


| void writeVelMesh | ( | const dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > & | mpiGrid | ) |