Skip to content
Snippets Groups Projects

Resolve "Enabling free Maxwell propagation in multisystem mode, part 2/4"

Description

Allow Maxwell propagation with external currents.

News snippet

Allow Maxwell propagation with external currents.

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.

Closes #206 (closed)

Edited by Franco Bonafé

Merge request reports

Loading
Loading

Activity

Filter activity
  • Approvals
  • Assignees & reviewers
  • Comments (from bots)
  • Comments (from users)
  • Commits & branches
  • Edits
  • Labels
  • Lock status
  • Mentions
  • Merge request status
  • Tracking
  • added 210 commits

    • 35b97d62 - defining exchange energy
    • 83b59b8d - scf.f90 file: fixing restart, adding output of correlator, pt_number, pt_exchange, ss
    • ef3117d1 - update Makefile.am to deal with new files photon_mode.F90 and xc_oep_qed_inc.F90
    • 870990f0 - adding pt_exchange to energy_calc.F90
    • 04cdbbbb - adding pt_exchange to ks%calc_energy
    • 78f217fc - photon kli by Christian Schaefer (christian.schaefer@mpsd.mpg.de)
    • 052754c6 - photon oep
    • 5bcaac41 - photon oep _inc file
    • fa801020 - two new files, photon mode and xc_oep_qed_inc.F90
    • dc716e01 - bugix
    • adb5da25 - adding correct output of normss
    • b21afa32 - adding line break for cuda/mpi compiler
    • 0c4f30a5 - comment with reference to photon oep paper on arxiv
    • 0d41cd74 - adding experimental warning if photons=yes
    • 3d10dfc6 - Merge branch 'photon-oep' into 'master'
    • 76b77030 - Merge branch 'master' into 'photon-oep'
    • 614b5f92 - resolving two problems due to merge with master branch (v8.2)
    • ce332a1e - Merge branch 'photon-oep' into 'photon-oep'
    • a7145076 - Replace Makefile.am by Christian Schaefer
    • 00fe9134 - Revert "Replace Makefile.am by Christian Schaefer"
    • 57156522 - Merge branch 'revert-a7145076' into 'photon-oep'
    • f39446a6 - changed oep to many photon mode syntax
    • efd2a538 - removing comments
    • f79322f4 - updating the photonmode file
    • e2802f40 - fixing problems for spinresolved calculations
    • 8d4bf07f - Merge branch 'develop' into HEAD
    • bad9242d - using nst
    • 9b707c9f - oep should only run over occupied states
    • eb27abc4 - adding a line that has been removed unintentionally
    • 0b2aad69 - integer need to be declared
    • 28d26828 - spin unrestricted OEP should work now, we need some proper tests
    • d9dd8c0a - spin-resolved related changes
    • 0282905d - fixing the output of the photon_correlator
    • 1ec557a3 - Merge branch 'develop' into 'photon-oep'
    • 8f934696 - removing comments that were not up to date
    • be143cc4 - changing order of deallocation, photonmode has only to be called if run with photons
    • b5bfd3a0 - Merge branch 'develop' into 'photon-oep'
    • c190a81c - fixing the intent argument for KLI routine
    • 3cf80565 - Included center-of-charge shift for the dipole operator into the photon
    • dc659f12 - Included KLIpt_coc parameter (default=false) to enable switching between
    • 00c76a19 - Merge branch 'develop' into HEAD
    • 3c1a09bf - fixing the errors of the testsuite, now everything should run through
    • 377db06c - Merge branch 'photon-oep' into 'develop'
    • 6a79d4d4 - Merge branch 'develop' into 'photon-oep'
    • 6b18189a - include break-line in coc-shift to avoid Fortran maxcharacter issue
    • 9e191c0a - fixing the cuda mpi error by explicitely specifying dimensions
    • aa38ac74 - fix reference and only allow spin-unpolarized (for now)
    • 95b324c6 - using axpy for increased performance
    • af98324b - Adding the support for complex-to-complex ffts.
    • 6197b3f3 - Merge branch 'develop' into complex_fft
    • 73012ec6 - The complex FFT caanot be used with dressed Poisson solver.
    • 18dde712 - If we want to do complex-to-complex FFTs, we need to have memory allocated to the proper size.
    • efc8bac6 - The two-body integrals and related exchange integrals are now computed using a...
    • a04bcff8 - Merge branch 'develop' into photon-oep
    • 6fd314ce - adding the namespace variable for the linear solver
    • f4060f64 - adding a testfile for photon OEP and KLI
    • 4e6a1dcc - changing output pt_exchange/number -> photon exchange/number
    • d3b96e9e - adding the test input files
    • 17366213 - Explicitly specify dimension
    • f3a8abf8 - also print photon energy and number for KLI
    • a2f626e4 - Adding message not implemented for Slater approximation and one fixing typo.
    • 51c21439 - Some small fixes related to coding standards.
    • e5eb9049 - It is now possible to run HF and hybrid calculations for solids for an...
    • f0500041 - Merge branch 'develop' of gitlab.com:octopus-code/octopus into develop
    • 087581f4 - In case FFT kernel is real, we cannot use the complex-to-complex routine from zpoisson_fft_solve.
    • efb49332 - Fix a warning.
    • fb61e929 - Fix the behavior for the calculation of the Coulomb singularity in...
    • d8238bee - Fix the use of singularity for screened hybrids in isolated systems.
    • 0a506208 - first set of cleaning of code as suggested by Micael
    • ba1369c7 - fixing loop
    • 3ac35680 - changes to comply with coding standards
    • 62fae345 - coding standard, cleaning photon mode module, moving lr to oep module, using dotu in mf_dotp
    • 9d22f3da - Merge branch 'develop' into photon-oep
    • 80e9659f - Merge branch 'develop' into photon-oep
    • a98b5d53 - Fix a problem with the input variable FFTPreparePlan, which was not working.
    • fc8c2de9 - Fix merge conflict with develop.
    • 7e727119 - Merging with develop.
    • 9c87b457 - Proper comparison of logicals.
    • 1d6fbc4c - Fix a left over from merge conflict.
    • 0f4d6dc4 - Proper comparison of logicals.
    • 0e6227f8 - Add a missing change for ISF.
    • 759d1056 - The exhange operator is only initialized when needed.
    • 295220a1 - RDMFT also need the exchange operator.
    • 016106aa - We also need it for the OEP.
    • cfea1133 - Several improvements to the linked lists and how the systems are handled.
    • 6e707143 - Merge branch 'improve_system_linked_list' into 'develop'
    • 9896aeba - First step towards implemented a new logic for propagators and multisystems.
    • 35065f31 - Adding a demonstrator based on celestial_bodies. Not working yet.
    • bf45823b - Making the celestial dynamics more complete, with a implementation of the...
    • 7e5c7065 - Small changes to make the celestial dynamics produce a meaningful result.
    • 98b2b4e3 - Celestial body's properties are now parsed from the input file.
    • bb36e0d3 - Add a namespace to the abstract system, as all systems should have their own namespace.
    • 969e7d16 - Improve class arguments naming scheme consistency. Minor cosmetic changes.
    • 2dd4d59d - Make sure forces are initialized to zero.
    • d2ebb002 - No need to have a init deferred method for propagators.
    • fa5f72de - The propagator verlet is now initialized with a function that overloads the type.
    • 29d62250 - Move the calculation of the force between two celestial bodies to a new...
    • 7a7aa5db - Make propagator_finished a method of the abstract propagator. Now only...
    • dc6c2de7 - Print some debug information when running a propagation step.
    • d6c829d0 - Nicer output during the celestial dynamics test mode. Systems are now required...
    • 6ed63fa3 - Actually stop the propagation once we are finished!
    • 1c584981 - Add routines to finalize celestial body.
    • ff3dc7eb - celestial_body_init is not a class method anymore. Instead, it is now a...
    • 54325e8b - The multisystem framework is now aware of the existence of celestial bodies.
    • 3f762d04 - Collapse two if statements.
    • 5af35405 - Merge branch 'photon-oep' into 'develop'
    • 129e256f - Major refactoring of the new framework for propagators and interactions.
    • 05fe5fa3 - Add new CelestialDynamics.html file to Makefile.
    • 95506db6 - New methods for the celestial body class to write information during the td run.
    • 5bdaccad - Add units of the celestial body's input options.
    • 521aeede - Make the propagator a component of the abstract system.
    • 23e47c80 - Update celestial dynamics test.
    • 752db736 - Moved the known propagator operations to propagator_abst_oct_m.
    • 0a282852 - Renamed system_dt to system_dt_operation and the corresponding class method to dt_operation.
    • 61c9e06e - Move the set_propagator method to the abstract system.
    • 6121b197 - Update celestial dynamics test reference values and tolerances.
    • b07514d5 - Merge branch 'toward_multisystem_propagators' into 'develop'
    • 9f8e4af4 - Add a missing initialization.
    • 934f033f - Fix a bug with dim<3 and cell angles.
    • 75a142f3 - Combining the routines zpoisson_solve_fft and dpoisson_solve_fft to avoid code duplications.
    • 82401438 - Fix bug: wrong arrays were passed
    • c44cb917 - Refactor allocation code and fix memory leak for deallocation
    • c6cbfe42 - Remove gpg output for the git revision that is baked into the octopus binary.
    • 682e309b - This value should always be initialized.
    • 1f764cf1 - Adding first very simple simulation clock implementation
    • 49b2c7bd - Add granularity to the clock to be able to compare clocks globally.
    • 5b026b3a - Add number of algorithmic steps to the abstract propagator
    • f0797dd3 - Rename routines for clock comparison.
    • 1463f979 - Add function to decrement clock by one tick.
    • 01a7d278 - Adding function is_later_with_step to clock.
    • 43694eeb - Overload operators for clock.
    • b89b4dd8 - Add print function
    • a2947f71 - Update overloaded operator definition and epoch timers
    • 1886d97b - Add namespace to clock and improve output format of clock print function
    • f465ed1e - Add unit test for clock
    • 71533e3c - Switch from boolean to integer output values for the testsuite
    • aad1e0df - Add regression test for clock
    • 3fb17432 - Add finest system wide tick to clock print function
    • 3f16abbf - Add more print statements to clock unit test
    • b652cf86 - Break long lines for the gfortran configuration in the buildbot
    • 615b80d0 - Remove unused variables
    • 46c14fd3 - Revert to test_celestial_dynamics routine from develop
    • 0b1bbb07 - Merge branch 'complex_fft' into 'develop'
    • 26916603 - Merging with develop. This does not compile for the moment.
    • 16ac056d - Merge branch '276-Add-support-for-gpg-signatures-in-git-commits' into 'develop'
    • d6619f33 - Merge branch 'improved_fftw_support' into 'develop'
    • 4246000f - Merge branch 'fix_cell_angle_low_dim' into 'develop'
    • d4d507e1 - Addressing issues raised in the code review
    • 9597252a - Further updates based on the code review for the MR
    • c9c1b874 - Allow to increment or decrement the clock ticks by more than one step
    • 65a0579d - Rename simulation_clock to clock
    • ed6be314 - Remove epoch variables from clock
    • 3e2e81c0 - modules and variables renamed to psolver_
    • 73f839ae - Add documentation for the clock
    • 81938a0f - reverted to HAVE_LIBIFS to avoid breaking the tests for other branches
    • 17cbaa1b - Merge branch '273-add-simulation-clocks-for-multi-system-synchronization-v2' into 'develop'
    • 033cafb9 - Make batched current default for non-orthogonal cells
    • db0b7650 - Remove unnecessary application of the phase to the gradient.
    • 56c3efd3 - resolve style issues
    • f011386d - Fix a memory leak in the current calculation in GPU.
    • 9dd277c6 - Adding an assert to check the assumption used in the code.
    • f0ea83f6 - Split the set function of the clock to a full set, including namespace and a time set only
    • 688aa79e - Adding clock print_str and print_message functions
    • 1efd8bdd - Merge branch '278-rename-poisson_libisf_oct-to-poisson_psolver_oct' into 'develop'
    • aaf12cb7 - Align intents and remove one trim
    • a9c2efb3 - Rename clock_set_all to clock_copy
    • 9cdd1cdd - The kernel of the FFT is now isolated from the Poisson solver itself. This...
    • b1479646 - Fix some problems with the previous commit and adjust a test, as the code was...
    • c2479926 - Merge branch 'current_batch_gradient' into 'develop'
    • 34ba4a64 - Only compile Libyaml if LibISF was not found.
    • 4cef4fa6 - Add check for latest version of PSolver.
    • 30330c57 - PSolver support updated to allow for new and old API's. New API adds support...
    • ae25c505 - Renamed libisf to psolver in several places (documentation, variables, tests, etc)
    • 75382e44 - Mark use of olver versions of PSOlver as deprecated.
    • aadcbf64 - Rename poisson_libisf.F90 to poisson_psolver.F90.
    • 4f65635d - warning fixed (hartree_energy)
    • 39cc4cfe - Merge branch '279-update-poisson_psolver_oct-to-allow-for-both-the-old-and-new-api' into 'develop'
    • 3babc8b7 - Simplifies the logic of the code.
    • eb012bb3 - Remove unused first method and generic add method from linked list.
    • ec587d80 - Add linked list method to iterate
    • 77db56aa - Rename functions in linked list module to make them less generic and closer to...
    • e493c6ed - Remove namespace from clock
    • 70d50756 - Remove print_message function from clock
    • 1e03e53d - added explicit specification of MPI group for the Psolver
    • 864c8766 - Merge branch 'develop' into exchange_for_solids
    • e216954e - Use new linked list iterate method to simplify some loops.
    • 875eca83 - Merge branch 'develop' into 280-improved-clock-printing-and-setting
    • 4ea5a651 - Since the propagator is a list of instruction, we make it an extension of a linked list.
    • 51b48311 - Removed iterator from linked list.
    • 0369ff53 - Add wrapper class for list of interactions.
    • 128c9bac - Adding a nullify routine to avoid problem in releasing memory hat was not allocated.
    • f7a50bb7 - For some strange reason this value got modified in the commit...
    • 38dbcd3d - Use messages_fatal instead of output to stderr
    • 1d954d96 - Add a list_counter class that implements the necessary methods to iterate over...
    • d28dc311 - The propagator now uses the list counter.
    • 6ffa8fc3 - Renamed counter_end_of_list to counter_has_next.
    • ceeaf75a - Add missing push/pop
    • e85f44cb - Transform the list counter into a proper iterator.
    • 75233c5f - enabled PSOLVER for serial builds
    • d2e3b22d - Merge branch 'more_lists' into 'develop'
    • 2045947a - The range of the soft Coulomb potential is now set by according to...
    • c9b1fb66 - Merge branch '280-improved-clock-printing-and-setting' into 'develop'
    • a3d54419 - Merge branch 'soft_coulomb_threshold' into 'develop'
    • cf5ea6ea - The clock-related operator and the assignment are now methods of the class....
    • f1f76808 - added some comments
    • 7f188017 - Merge branch 'clock_class_operators' into 'develop'
    • 17338809 - Merge branch 'exchange_for_solids' into 'develop'
    • 58eb303d - Merge branch '282-enable-psolver-for-sequential-runs' into 'develop'
    • e18a00c0 - Fix a problem with array dimensions.
    • 39263646 - Merging with develop and fixing the conflicts.

    Compare with previous version

  • Codecov Report

    Merging #784 into develop will increase coverage by 1.51%. The diff coverage is 54.34%.

    Impacted file tree graph

    @@             Coverage Diff             @@
    ##           develop     #784      +/-   ##
    ===========================================
    + Coverage    69.26%   70.78%   +1.51%     
    ===========================================
      Files          505      500       -5     
      Lines        98106    97621     -485     
    ===========================================
    + Hits         67958    69104    +1146     
    + Misses       30148    28517    -1631     
    Impacted Files Coverage Δ
    src/grid/mesh.F90 70.25% <ø> (-1.86%) :arrow_down:
    src/grid/restart.F90 89.00% <ø> (-2.49%) :arrow_down:
    src/hamiltonian/hamiltonian_mxll.F90 21.64% <ø> (+2.49%) :arrow_up:
    src/math/maxwell_function.F90 25.42% <ø> (-0.28%) :arrow_down:
    src/states/states_mxll.F90 51.44% <ø> (-7.31%) :arrow_down:
    src/system/system_abst.F90 67.85% <ø> (-4.40%) :arrow_down:
    src/td/propagator_base.F90 0.00% <ø> (ø)
    src/td/propagator_mxll.F90 31.95% <ø> (+10.87%) :arrow_up:
    src/td/td.F90 75.07% <ø> (+0.40%) :arrow_up:
    src/td/td_write.F90 58.18% <ø> (-0.21%) :arrow_down:
    ... and 272 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 32bd0e9...32bd0e9. Read the comment docs.

    Edited by Codecov
  • added 1 commit

    • b456d9b3 - Add a missing allocation of the pointer inside the system_mxll_init routine.

    Compare with previous version

  • added 3 commits

    • 86e98f0a - The maxwell systems where not added to the system list.
    • 8718f7d7 - This variable was not initialised.
    • c392a77b - Add explicit sizes for array copies.

    Compare with previous version

  • Heiko Appel added 634 commits

    added 634 commits

    • c392a77b...32bd0e92 - 634 commits from branch 205-enabling-free-maxwell-propagation-in-multisystem-mode-part-1-4

    Compare with previous version

  • Heiko Appel changed the description

    changed the description

  • Heiko Appel changed target branch from 205-enabling-free-maxwell-propagation-in-multisystem-mode-part-1-4 to develop

    changed target branch from 205-enabling-free-maxwell-propagation-in-multisystem-mode-part-1-4 to develop

  • Franco Bonafé added 8 commits

    added 8 commits

    • 32bd0e92...ef1b008a - 5 commits from branch develop
    • f5c39894 - Add necessary calls inside mxll_propagation_step and transform_rs_densities...
    • f29ad512 - Add external current test files, still doesn't match with previous tests but numbers are similar
    • e65c50e5 - Add message_fatal for Maxwell-matter coupling

    Compare with previous version

  • assigned to @fbonafe

  • Franco Bonafé assigned to @heiko.appel and unassigned @fbonafe

    assigned to @heiko.appel and unassigned @fbonafe

  • Franco Bonafé changed the description

    changed the description

  • Franco Bonafé added 1 commit

    added 1 commit

    • 2bfc2e75 - Fix calls in mxll_propagation_step and get_rs_density_ext and update test...

    Compare with previous version

  • Micael Oliveira changed the description

    changed the description

  • Micael Oliveira changed milestone to %11.0

    changed milestone to %11.0

  • Franco Bonafé added 2 commits

    added 2 commits

    • 7be31d01 - Fix implementation of inhomogeneity propagation with no approximation which...
    • 8ad8d1b0 - Attempt to solve valgrind problems arising from unitilized values, probably in...

    Compare with previous version

  • Franco Bonafé added 1 commit

    added 1 commit

    Compare with previous version

  • Franco Bonafé added 1 commit

    added 1 commit

    • 8fc867b0 - Change external current pointers to allocatables in states_mxll

    Compare with previous version

  • Franco Bonafé unmarked as a Work In Progress

    unmarked as a Work In Progress

  • Franco Bonafé changed the description

    changed the description

  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Loading
  • Please register or sign in to reply
    Loading