DL_MG
Todo List
Module dl_mg_common_data
In order to protect data the variable should be declare private and use get/set functions to access and set values
Subprogram dl_mg_multigrid_method::mg_vcycle (mg, eq_type, niter_level1, test_conv_level1)
needs to handle better the convergence flag in this version the coarse level does not check for convergence
Module dl_mg_neutralisation_with_ions
Add a debug print switch that enables printing Newton solver iteration details.
Subprogram dl_mg_newton_method::newton_solver (mg, eq_type, alpha, rho, pot, ierr)
what should happen here if converged has the value DL_MG_ERR_RES_RATIO? exit or keep going
Module dl_mg_nonlinear_model
Warn the user if the provided expcap is overruled by max_excap; should max_expcap be located in parameters module?
Subprogram dl_mg_second_order_solvers::dlmg_2nd_order_solver (eq_type, alpha, rho, pot, use_pot_in, remove_source_zero_mode, res, der_pot, ierror)
Needs more thinking when different errors occurs on different threads
Subprogram dl_mg_utils::compute_norm (mg, component, scale)
a_ptr can have contiguous attribute
Subprogram dl_mg_utils::dl_mg_init_nonlin (eq_type, lambda, temp, n, c, q, rho, steric_weight, der_pot, expcap, linearised, use_fas, neutralisation_method, neutralisation_ion_ratios, ierror)
Test for charge neutrality?
Subprogram dl_mg_utils::remove_zero_mode_source (mg, eq_type, remove_mode, rho, steric_weight, der_pot)
analyse furter eq_linear_pbe_pot in as primary input