Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revision | |||
| documentation:standard_operators:atomic_coulomb_repulsion [2026/11/12 18:35] – Maurits W. Haverkort | documentation:standard_operators:atomic_coulomb_repulsion [2026/11/12 23:07] (current) – Maurits W. Haverkort | ||
|---|---|---|---|
| Line 45: | Line 45: | ||
| - | |||
| - | {{indexmenu_n> | ||
| - | ====== Atomic coulomb repulsion ====== | ||
| - | Note: parts of the functionality of this function will be available in the release of October 2019 | ||
| - | ### | ||
| - | NewOperator(" | ||
| - | ### | ||
| - | |||
| - | ===== Input ===== | ||
| - | |||
| - | * indices : indices of atomic orbitals belonging to the radial wave-functions | ||
| - | * RadialWavefunctions1 : table of InterpolatingFunction objects | ||
| - | * RadialWavefunctions2 : optional - table of InterpolatingFunction objects - if given, the function calculates relativistic Slater integrals where RadialWavefunctions1 are the large parts and RadialWavefunctions2 the small ones | ||
| - | * options : possible Options are {" | ||
| - | * " | ||
| - | * " | ||
| - | |||
| - | ===== Example ===== | ||
| - | |||
| - | ### | ||
| - | The example below shows how to create the full Coulomb interaction between multiple atomic orbitals with relativistic wave-functions. It is recommended to use CreateAtomicIndicesList(orbitallabels, | ||
| - | ### | ||
| - | |||
| - | ==== Input ==== | ||
| - | <code Quanty Example.Quanty> | ||
| - | orbitallabels = {" | ||
| - | ind, NF = CreateAtomicIndicesList(orbitallabels, | ||
| - | G, F = ReadFPLOBasisFunctions(orbitallabels," | ||
| - | |||
| - | U = NewOperator(" | ||
| - | |||
| - | -- now occupation of the s-orbitals shall be conserved | ||
| - | |||
| - | function Take(list, | ||
| - | local result={} | ||
| - | if n2== nil then | ||
| - | if n1 > 0 then | ||
| - | for i = 1, n1 do | ||
| - | result[i]=list[i] | ||
| - | end | ||
| - | else | ||
| - | for i=1,-n1 do | ||
| - | result[i]=list[# | ||
| - | end | ||
| - | end | ||
| - | else | ||
| - | for i = n1, n2 do | ||
| - | | ||
| - | end | ||
| - | end | ||
| - | return result | ||
| - | end | ||
| - | |||
| - | n0 = 3 | ||
| - | n1 = 4 | ||
| - | |||
| - | indConserved = Take(ind, | ||
| - | indConserved.kappas = Take(ind.kappas, | ||
| - | GConserved = Take(G, | ||
| - | FConserved = Take(F, | ||
| - | |||
| - | indNonCnsrvd = Take(ind, | ||
| - | indNonCnsrvd.kappas = Take(ind.kappas, | ||
| - | GNonCnsrvd = Take(G, | ||
| - | FNonCnsrvd = Take(F, | ||
| - | |||
| - | U0 = NewOperator(" | ||
| - | |||
| - | U1 = NewOperator(" | ||
| - | |||
| - | U2 = NewOperator(" | ||
| - | |||
| - | Uconserved = U0 + U1 + U2 | ||
| - | </ | ||
| - | |||
| - | |||
| - | ===== Table of contents ===== | ||
| - | {{indexmenu> | ||