Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Debug elecslop adelchi #35

Open
wants to merge 19 commits into
base: master
Choose a base branch
from
Open

Debug elecslop adelchi #35

wants to merge 19 commits into from

Conversation

maxlevesque
Copy link
Owner

No description provided.

maxlevesque and others added 19 commits February 8, 2017 09:20
We had n1, n2, n3 strictly equivalent to lx, ly, lz in the same file / routine. Let's get coherent!
I had not understood at first the difference between rho_ch and rho_0. Adelchi tells me there is no difference. So we removed rho_ch from laboetie and replaced it everywhere with rho_0. Plus, there was a division by 0 in the definition of rho_ch only in salt-free simulations.
whenever lamda_D = 0, rho_0 = 0, thus a division by zero takes place in tot_diff_plus and tot_diff_minus.
The division by rho_0 was replaced by
FactPlus and FactMinus<
flux_site_plus(ip,jp,kp) and flux_site_minus(ip,jp,kp) were not being computed in smolu.f90.
Useless comments in just_eq_smolu and smolu were also removed.
Minor change for postprocessing: solute_force is printed in the temporal loop of equilibration.f90 in order to observe if the values are correct. This is mainly for debugging purposes.
solute_force was not being initialised at the beginning of smolu ; thus numerical values would become too large and code would stop. This is now solved. Code works with the following input file:

lx = 1
ly = 1
lz = 11
geometryLabel = 1
f_ext = 0.0  0.0  0.0

print_every = 30

sigma = -0.1
timestepmax_for_PoissonNernstPlanck = 1000000
bjl = 0.4
lambda_D = 1.0
lncb_slope = 0.0  0.0  0.0
charge_distrib = int
D_plus = 0.05
D_minus = 0.05
D_iter = 1
elec_slope = 0.0 0.0 0.0

However there seems to be an issue when elec_slope is activated. Future work....

p.s. Some extra write were added, in order to produce output for both debugging and postprocessing.
Modifications in charges_init and poisson_nernst_planck to feed analytical solutions for slit case, in order to accelerate convergence in SOR.
Alpha input value is computed with CodeValidation.py  and needs to be inserted in lb.in for the given configuration.
capacitor config added : one wall negatively charged and the other positively charged. To be used for debugging purposes.
-an option was added in order to give the correct profiles for phi, c_plus and c_minus as starting guesses, to accelerate convergence in SLIT CASE
-convergence criterion was changed in PNP and SOR
-just_eq_smolu modified to have time only positive
-Other geometries were added because of PBC related problems
-PNP and SOR were corrected
- Fully capable of LBE
- EOF simulations with and without salt are now possible
- Attempt coding of restart files to avoid PNP for same reference system (to be finshed)
- Capable to cylinder and slit geometry
All known bugs are fixed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants