Atomic computations

JenaAtomicCalculator.Atomic.ComputationType

struct Computation ... defines a type for defining (the model of simple) atomic computation of a single multiplet, including the SCF and CI as well as level properties and transition property calculations.

+ name                           ::String                          ... A name associated to the computation.
+ nuclearModel                   ::Nuclear.Model                   ... Model, charge and parameters of the nucleus.
+ grid                           ::Radial.Grid                     ... The radial grid to be used for the computation.
+ propertySettings               ::Array{Basics.AbstractPropertySettings,1}  ... List of atomic properties to be calculated.
+ configs                        ::Array{Configuration,1}          ... A list of non-relativistic configurations.
+ asfSettings                    ::AsfSettings                     
    ... Provides the settings for the SCF process and for the CI and QED calculations.
+ initialConfigs                 ::Array{Configuration,1}        
    ... A list of initial-state configurations for some transition property calculation, such as radiative transition, Auger, etc. 
+ initialAsfSettings             ::AsfSettings                     ... Provides the SCF and CI settings for the initial-state multiplet.
+ intermediateConfigs            ::Array{Configuration,1}          ... A list of initial-state configurations.
+ intermediateAsfSettings        ::AsfSettings                     ... Provides the SCF settings for the intermediate-state multiplet.
+ finalConfigs                   ::Array{Configuration,1}          ... A list of final-state configurations.
+ finalAsfSettings               ::AsfSettings                     ... Provides the SCF and CI settings for the final-state multiplet.
+ processSettings                ::Basics.AbstractProcessSettings  ... Provides the settings for the selected process.
source
JenaAtomicCalculator.Atomic.ComputationMethod

Atomic.Computation( ... example for SCF computations)

    grid     = Radial.Grid(true)
    nuclearM = Nuclear.Model(18., "Fermi")
    settings = AsfSettings(AsfSettings(), selectLevelsCI = true, selectedLevelsCI = [1,2, 4,5, 7,8], jjLS = LSjjSettings(false) )
    configs  = [Configuration("[Ne] 3s^2 3p^5"), Configuration("[Ne] 3s 3p^6")]
    Atomic.Computation(Atomic.Computation(), name="Example", grid=grid, nuclearModel=nuclearM, configs=configs, asfSettings=settings )

Atomic.Computation( ... example for the computation of atomic properties)

    grid        = Radial.Grid(true)
    nuclearM    = Nuclear.Model(26., "Fermi", 58., 3.81, AngularJ64(5//2), 1.0, 1.0)
    hfsSettings = Hfs.Settings(true, true, false, false, false, false, false, Int64[] )
    configs     = [Configuration("[Ne] 3s"), Configuration("[Ne] 3p"), Configuration("[Ne] 3d")]
    Atomic.Computation(Atomic.Computation(), name="Example", grid=grid, nuclearModel=nuclearM, configs=configs, properties=[HFS()],
                        hfsSettings=hfsSettings )

Atomic.Computation( ... example for the computation of one atomic process)

    grid           = Radial.Grid(true)
    initialConfigs = [Configuration("[Ne] 3s 3p^6"), Configuration("[Ne] 3s^2 3p^4 3d")]
    finalConfigs   = [Configuration("[Ne] 3s^2 3p^5")] 
    photoSettings  = PhotoEmission.Settings(PhotoEmission.Settings(), multipoles=[E1, M1], gauges=[UseCoulomb], printBefore=true)
    Atomic.Computation(Atomic.Computation(), name="Example", grid=grid, nuclearModel=nuclearM;
                        initialConfigs=initialConfigs, finalConfigs=finalConfigs, 
                        process = Radiative(), processSettings=photoSettings ); 

... These simple examples can be further improved by overwriting the corresponding parameters.
source
JenaAtomicCalculator.Atomic.ComputationMethod

Atomic.Computation(comp::Atomic.Computation;

name=..,                nuclearModel=..,            grid=..,                    configs=..,                   asfSettings=..,     
initialConfigs=..,      initialAsfSettings=..,      intermediateConfigs=..,     intermediateAsfSettings=.., 
finalConfigs=..,        finalAsfSettings=..,        alphaSettings=..,           einsteinSettings=.., 
formSettings=..,        hfsSettings=..,             isotopeSettings=..,         plasmaSettings=..,
polaritySettings=..,    yieldSettings::=..,         zeemanSettings=..,
process=..,             processSettings=..,         printout::Bool=false)
                
... constructor for modifying the given Atomic.Computation by 'overwriting' the previously selected parameters.
source