Making the lasers in the Hamiltonian private
Description
Making the lasers in the Hamiltonian private
News snippet
Code refactoring
Checklist
-
I have checked that my code follows the Octopus coding standards -
I have added tests for all the new features added in this request.
Merge request reports
Activity
changed milestone to %12.0
added Refactoring label
@martin.lueders @micael.oliveira This is the follow-up merge request of one that just got merged. It would be good if one of you could review it.
added 4 commits
-
48c9c9b5...aae3ca24 - 2 commits from branch
develop
- 46d5ac9c - Moving some PCM code outside of v_ks.F90.
- ff44bd7b - Making the lasers in the Hamiltonian private.
-
48c9c9b5...aae3ca24 - 2 commits from branch
Codecov Report
Merging #1666 (daf81fdd) into develop (aae3ca24) will increase coverage by
0.05%
. The diff coverage is68.07%
.@@ Coverage Diff @@ ## develop #1666 +/- ## =========================================== + Coverage 66.97% 67.03% +0.05% =========================================== Files 540 541 +1 Lines 96645 96584 -61 =========================================== + Hits 64726 64742 +16 + Misses 31919 31842 -77
Impacted Files Coverage Δ src/electrons/electrons.F90 72.60% <0.00%> (ø)
src/hamiltonian/hamiltonian_elec.F90 75.14% <ø> (ø)
src/utils/floquet.F90 0.00% <0.00%> (ø)
src/utils/local_write.F90 45.22% <11.11%> (ø)
src/main/static_pol.F90 60.00% <30.00%> (-0.53%)
src/opt_control/initst.F90 32.92% <33.33%> (ø)
src/main/casida.F90 69.17% <50.00%> (-0.17%)
src/scf/unocc.F90 77.70% <50.00%> (-1.01%)
src/hamiltonian/pcm_potential.F90 52.08% <52.08%> (ø)
src/td/td.F90 69.73% <71.42%> (ø)
... and 29 more
Continue to review full report at Codecov.
Legend - Click here to learn more
Δ = absolute <relative> (impact)
,ø = not affected
,? = missing data
Powered by Codecov. Last update aae3ca2...daf81fd. Read the comment docs.Edited by CodecovI am not sure I fully understand the purpose of this MR. You are passing the laser object now to several routines, instead of accessing it through the Hamiltonian. But the Hamiltonian still contains the (now private) pointer to the laser. Is the intention to remove this private pointer in the next stage of the refactoring? I assume you are moving towards the situation where the laser is fully treated via the interactions. How exactly are the present MRs helping there?
The purpose of the present changes is indeed to move the lasers outside of the electronic Hamiltonian. The first step is to remove the access to the lasers from the Hamiltonian. I did that in two prior merge request and this one too. Here I can finally make the laser in the Hamiltonian private. The lasers are now, similarly to the ions, known at the level of the electrons, and directly accessed from it.
The idea is to remove all possible dependencies and then to later pass a list of partners (instead of ions, lasers, gauge-field, ...) and finally to have a list of interactions.
As this touches many files, I am just splitting the work into many smaller merge requests. Moreover, removing the lasers from the Hamiltonian is not simple, but I will work on this next.
@martin.lueders No problem. The next merge request touches hamiltonian_update, and is again many files to be changed... I let you know once I have fixed the warnings in this one.
added 1 commit
- daf81fdd - Making the lasers in the Hamiltonian private.
@martin.lueders The warning should be fixed now.
assigned to @martin.lueders
mentioned in commit 762b8beb