Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
fieldtracing.cpp File Reference

Implementation of the field tracing algorithms used in Magnetosphere runs and in magnetosphere-ionosphere coupling. More...

#include "../fieldsolver/fs_common.h"
#include "fieldtracing.h"
#include <Eigen/Dense>
Include dependency graph for fieldtracing.cpp:

Go to the source code of this file.

Namespaces

namespace  FieldTracing

Macros

#define Vec3d   Eigen::Vector3d
#define cross_product(av, bv)
#define dot_product(av, bv)
#define vector_length(v)
#define normalize_vector(v)

Functions

void FieldTracing::reduceData (fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::constdperbspan dperb, dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid, std::vector< SBC::SphericalTriGrid::Node > &nodes)
void FieldTracing::calculateIonosphereFsgridCoupling (fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::constdperbspan dperb, std::vector< SBC::SphericalTriGrid::Node > &nodes, creal couplingRadius)
std::array< std::pair< int, Real >, 3 > FieldTracing::calculateIonosphereVlasovGridCoupling (std::array< Real, 3 > x, std::vector< SBC::SphericalTriGrid::Node > &nodes, creal couplingRadius)
void FieldTracing::traceOpenClosedConnection (fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::constdperbspan dperb, std::vector< SBC::SphericalTriGrid::Node > &nodes)
void FieldTracing::stepCellAcrossTaskDomain (cint n, fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, TracingFieldFunction< TReal > &tracingFullField, const std::vector< std::array< TReal, 3 > > &cellInitialCoordinates, const std::vector< TReal > &cellCurvatureRadius, std::vector< std::array< TReal, 3 > > &cellTracingCoordinates, std::vector< TReal > &cellTracingStepSize, std::vector< TReal > &cellRunningDistance, std::vector< TReal > &cellMaxExtension, std::vector< signed char > &cellConnection, bool &warnMaxDistanceExceeded, const TReal maxTracingDistance, cuint DIRECTION)
 Trace magnetic field lines forward and backward from each DCCRG cell to record the connectivity and detect flux ropes.
void FieldTracing::traceFullBoxConnectionAndFluxRopes (fsgrids::technicalspan technical, FieldSolverGrid &fsgrid, fsgrids::perbspan perb, fsgrids::constdperbspan dperb, dccrg::Dccrg< SpatialCell, dccrg::Cartesian_Geometry > &mpiGrid)

Variables

FieldTracingParameters FieldTracing::fieldTracingParameters

Detailed Description

Implementation of the field tracing algorithms used in Magnetosphere runs and in magnetosphere-ionosphere coupling.

Definition in file fieldtracing.cpp.

Macro Definition Documentation

◆ cross_product

#define cross_product ( av,
bv )
Value:
(av).cross(bv)

Definition at line 33 of file fieldtracing.cpp.

◆ dot_product

#define dot_product ( av,
bv )
Value:
(av).dot(bv)

Definition at line 34 of file fieldtracing.cpp.

◆ normalize_vector

#define normalize_vector ( v)
Value:
(v).normalized()

Definition at line 36 of file fieldtracing.cpp.

◆ Vec3d

#define Vec3d   Eigen::Vector3d

Definition at line 32 of file fieldtracing.cpp.

◆ vector_length

#define vector_length ( v)
Value:
(v).norm()

Definition at line 35 of file fieldtracing.cpp.