Report Typos and Errors    
Semi-Lagrangian Library
Modular library for kinetic and gyrokinetic simulations of plasmas in fusion energy devices.
Data Types | Modules | Functions/Subroutines
sll_m_particle_mesh_coupling_spline_1d.F90 File Reference
#include "sll_assert.h"
#include "sll_memory.h"
#include "sll_working_precision.h"
#include "sll_errors.h"
Include dependency graph for sll_m_particle_mesh_coupling_spline_1d.F90:

Go to the source code of this file.

Data Types

type  sll_t_particle_mesh_coupling_spline_1d
 Spline kernel smoother in1d. More...
 

Modules

module  sll_m_particle_mesh_coupling_spline_1d
 Kernel smoother for 1d with splines of arbitrary degree placed on a uniform mesh.
 

Functions/Subroutines

subroutine add_charge_single_spline_1d (self, position, marker_charge, rho_dofs)
 helper function to compute the integral of j using Gauss quadrature (needs to be provided for the derived type with smoothing) More...
 
subroutine add_particle_mass_spline_1d (self, position, marker_charge, particle_mass)
 Add the contribution of one particle to the approximate mass matrix. More...
 
subroutine add_particle_mass_spline_1d_full (self, position, marker_charge, particle_mass)
 Add the contribution of one particle to the approximate mass matrix. More...
 
subroutine evaluate_field_single_spline_1d (self, position, field_dofs, field_value)
 Evaluate field at at position position. More...
 
subroutine evaluate_multiple_spline_1d (self, position, components, field_dofs, field_value)
 Evaluate several fields at position position. More...
 
subroutine add_current_spline_1d (self, position_old, position_new, marker_charge, j_dofs)
 Add current with integration over x. More...
 
subroutine add_current_evaluate_spline_1d (self, position_old, position_new, marker_charge, vbar, field_dofs, j_dofs, field)
 Combines add_current and evaluate_int. More...
 
subroutine evaluate_int_spline_1d (self, position_old, position_new, vbar, field_dofs, field)
 Evaluates the integral int_{poisition_old}^{position_new} field(x) d x. More...
 
subroutine evaluate_int_quad_spline_1d (self, position_old, position_new, field_dofs, field)
 Evaluates an integrated field (between position_old and position_new) but with a quadrature formula for the integration. More...
 
subroutine evaluate_int_spline_1d_subnewton (self, position_old, position_new, field_dofs, field)
 
subroutine add_current_update_v_spline_pp_1d (self, position_old, position_new, marker_charge, qoverm, bfield_dofs, vi, j_dofs)
 Add current for one particle and update v (according to H_p1 part in Hamiltonian splitting) More...
 
subroutine update_jv_pp (self, lower, upper, index, marker_charge, qoverm, vi, j_dofs, bfield_dofs)
 Helper function for add_current_update_v. More...
 
subroutine add_current_update_v_spline_1d (self, position_old, position_new, marker_charge, qoverm, bfield_dofs, vi, j_dofs)
 Add current for one particle and update v (according to H_p1 part in Hamiltonian splitting) More...
 
subroutine update_jv (self, lower, upper, index, marker_charge, qoverm, sign, vi, j_dofs, bfield_dofs)
 Helper function for add_current_update_v. More...
 
subroutine update_v_partial (self, upper, lower, uppert, lowert, index, field_dofs, bint)
 Helper function for evaluate_int_quad (despite the name it evaluates a field and does not update v) More...
 
subroutine update_v_partial_newton (self, upper, lower, uppert, lowert, index, field_dofs, bint)
 Helper function for evaluate_int_quad_subnewton (despite the name it evaluates a field and does not update v) More...
 
subroutine convert_x_to_xbox (self, position, xi, box)
 Helper function that identifies in which box the particle is found and its normalized poistion in the box. More...
 
subroutine init_spline_1d (self, domain, n_cells, no_particles, spline_degree, smoothing_type)
 Initializer. More...
 
subroutine free_spline_1d (self)
 Destructor. More...
 
subroutine, public sll_s_new_particle_mesh_coupling_spline_1d_ptr (smoother, domain, n_cells, no_particles, spline_degree, smoothing_type)
 
subroutine, public sll_s_new_particle_mesh_coupling_spline_1d (smoother, domain, n_cells, no_particles, spline_degree, smoothing_type)
 
subroutine add_current_split_spline_1d (self, position_old, position_new, iter, total_iter, marker_charge, j_dofs)
 Add current version with tau and (1-tau) which is needed for the implicit subcycling scheme. More...
 
subroutine update_current_partial (self, upper, lower, uppert, lowert, index, iter, total_iter, marker_charge, j_dofs)
 Helper function for add_current_split. More...
 
subroutine evaluate_int_linear_quad_spline_1d (self, position_old, position_new, iter, total_iter, field_dofs_1, field_dofs_2, field)
 Evaluates the integrals with tau function for implicit subcycling. More...
 
subroutine update_field_linear_partial (self, upper, lower, uppert, lowert, index, field_dofs_1, field_dofs_2, iter, total_iter, bint)
 Helper function for evaluate_int_linear_quad (implements part within one cell) More...
 
subroutine evaluate_int_linear_quad_subnewton_spline_1d (self, position_old, position_new, iter, total_iter, field_dofs_1, field_dofs_2, field)
 For implicit subcycling propagator, evaluates the integral needed for Newtons's method in the evaluate_int_linear_quad part. More...
 
subroutine update_field_linear_partial_newton (self, upper, lower, uppert, lowert, index, field_dofs_1, field_dofs_2, iter, total_iter, bint)
 Helper function for evaluate_int_linear_quad_subnewton (takes care of the per cell computations) More...
 
subroutine add_charge_int_spline_1d (self, position_old, position_new, marker_charge, j_dofs)
 For explicit version of the subcycling propagator (to evaluate the charge as it comes out integrated from the formulation) More...
 
subroutine update_charge_int_partial (self, upper, lower, uppert, lowert, index, marker_charge, j_dofs)
 Helper function for add_charge_int (takes care of the per cell computations) More...
 
    Report Typos and Errors