Vlasiator ebf0dd394 on dev (v5.4.0 + 1054 commits)
Loading...
Searching...
No Matches
cpu_acc_intersections.hpp File Reference
#include <Eigen/Core>
#include "../definitions.h"
#include "../spatial_cells/spatial_cell_wrapper.hpp"
Include dependency graph for cpu_acc_intersections.hpp:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

Eigen::Matrix< Real, 3, 1 > line_plane_intersection (const Eigen::Matrix< Real, 3, 1 > &l_point, const Eigen::Matrix< Real, 3, 1 > &l_direction, const Eigen::Matrix< Real, 3, 1 > &p_point, const Eigen::Matrix< Real, 3, 1 > &p_normal)
void compute_intersections_1st (const vmesh::VelocityMesh *vmesh, const Eigen::Transform< Real, 3, Eigen::Affine > &bwd_transform, const Eigen::Transform< Real, 3, Eigen::Affine > &fwd_transform, const uint dimension, Real &intersection, Real &intersection_di, Real &intersection_dj, Real &intersection_dk)
void compute_intersections_2nd (const vmesh::VelocityMesh *vmesh, const Eigen::Transform< Real, 3, Eigen::Affine > &bwd_transform, const Eigen::Transform< Real, 3, Eigen::Affine > &fwd_transform, const uint dimension, Real &intersection, Real &intersection_di, Real &intersection_dj, Real &intersection_dk)
void compute_intersections_3rd (const vmesh::VelocityMesh *vmesh, const Eigen::Transform< Real, 3, Eigen::Affine > &bwd_transform, const Eigen::Transform< Real, 3, Eigen::Affine > &fwd_transform, const uint dimension, Real &intersection, Real &intersection_di, Real &intersection_dj, Real &intersection_dk)
void compute_cell_intersections (spatial_cell::SpatialCell *spatial_cell, const uint popID, const uint map_order, const Real &dt, int intersections_id)

Function Documentation

◆ compute_cell_intersections()

void compute_cell_intersections ( spatial_cell::SpatialCell * spatial_cell,
const uint popID,
const uint map_order,
const Real & dt,
int intersections_id )

Wrapper for computing all rotation intersections for a single cycle of acceleration for a given spatial cell

Parameters
spatial_cellSpatial cell to compute
popIDActive population
map_orderorder in which to perform Cartesian shears, randomized from time step
dtLength of current time step or substep
intersections_idPhiprof identifier for timer inside parallel region

Definition at line 44 of file cpu_acc_intersections.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ compute_intersections_1st()

void compute_intersections_1st ( const vmesh::VelocityMesh * vmesh,
const Eigen::Transform< Real, 3, Eigen::Affine > & bwd_transform,
const Eigen::Transform< Real, 3, Eigen::Affine > & fwd_transform,
const uint dimension,
Real & intersection,
Real & intersection_di,
Real & intersection_dj,
Real & intersection_dk )

◆ compute_intersections_2nd()

void compute_intersections_2nd ( const vmesh::VelocityMesh * vmesh,
const Eigen::Transform< Real, 3, Eigen::Affine > & bwd_transform,
const Eigen::Transform< Real, 3, Eigen::Affine > & fwd_transform,
const uint dimension,
Real & intersection,
Real & intersection_di,
Real & intersection_dj,
Real & intersection_dk )

◆ compute_intersections_3rd()

void compute_intersections_3rd ( const vmesh::VelocityMesh * vmesh,
const Eigen::Transform< Real, 3, Eigen::Affine > & bwd_transform,
const Eigen::Transform< Real, 3, Eigen::Affine > & fwd_transform,
const uint dimension,
Real & intersection,
Real & intersection_di,
Real & intersection_dj,
Real & intersection_dk )

◆ line_plane_intersection()

Eigen::Matrix< Real, 3, 1 > line_plane_intersection ( const Eigen::Matrix< Real, 3, 1 > & l_point,
const Eigen::Matrix< Real, 3, 1 > & l_direction,
const Eigen::Matrix< Real, 3, 1 > & p_point,
const Eigen::Matrix< Real, 3, 1 > & p_normal )

Computes the intersection point of a plane and a line

Parameters
l_pointPoint on the line
l_directionVector in the direction of the line
p_pointPoint on plane
p_normalNormal vector to plane
intersectionThe function will set this to the intersection point.

Definition at line 112 of file cpu_acc_intersections.cpp.

Here is the caller graph for this function: