Ejemplo n.º 1
0
    def create_simulation(p):
        p_quenched = p.copy()
        p_quenched.g = 0.2

        system = HarmonicTrap(p, x)
        system_quenched = HarmonicTrap(p_quenched, x)

        sim = mlxtk.Simulation("harmonic_trap")
        sim += mlxtk.tasks.CreateOperator(
            "hamiltonian_1b.opr",
            system.get_hamiltonian_1b(),
        )
        sim += mlxtk.tasks.CreateMBOperator(
            "hamiltonian.mb_opr",
            system.get_hamiltonian(),
        )
        sim += mlxtk.tasks.CreateMBOperator(
            "hamiltonian_quenched.mb_opr",
            system_quenched.get_hamiltonian(),
        )
        sim += mlxtk.tasks.CreateMBOperator("com.mb_opr",
                                            system.get_com_operator())
        sim += mlxtk.tasks.CreateMBOperator(
            "com_2.mb_opr",
            system.get_com_operator_squared(),
        )
        sim += mlxtk.tasks.MCTDHBCreateWaveFunction(
            "initial.wfn",
            "hamiltonian_1b.opr",
            p.N,
            p.m,
        )
        sim += mlxtk.tasks.ImprovedRelax(
            "gs_relax",
            "initial.wfn",
            "hamiltonian.mb_opr",
            "1",
            tfinal=1000.0,
            dt=0.01,
        )
        sim += mlxtk.tasks.Propagate(
            "propagate",
            "gs_relax/final.wfn",
            "hamiltonian_quenched.mb_opr",
            tfinal=5.0,
            dt=0.05,
            psi=True,
        )
        sim += mlxtk.tasks.ComputeExpectationValue("propagate/psi",
                                                   "com.mb_opr")
        sim += mlxtk.tasks.ComputeExpectationValue("propagate/psi",
                                                   "com_2.mb_opr")
        sim += mlxtk.tasks.ComputeVariance("propagate/com", "propagate/com_2")

        return sim
Ejemplo n.º 2
0
def create_simulation(p: mlxtk.parameters.Parameters):
    p_quenched = p.copy()
    p_quenched.g = 0.2

    system = HarmonicTrap(p, x)

    sim = mlxtk.Simulation("harmonic_trap")
    sim += mlxtk.tasks.CreateOperator("hamiltonian_1b", system.get_hamiltonian_1b())
    sim += mlxtk.tasks.CreateMBOperator("hamiltonian", system.get_hamiltonian())
    sim += mlxtk.tasks.MCTDHBCreateWaveFunction("initial", "hamiltonian_1b", p.N, p.m)
    sim += mlxtk.tasks.ImprovedRelax(
        "gs_relax",
        "initial",
        "hamiltonian",
        "1",
        tfinal=1000.0,
        dt=0.01,
    )

    return sim
Ejemplo n.º 3
0
    def create_simulation(p):
        p_quenched = p.copy()
        p_quenched.g = 0.0

        system_quenched = HarmonicTrap(p_quenched, x)

        sim = mlxtk.Simulation("harmonic_trap")
        sim += mlxtk.tasks.CreateMBOperator(
            "hamiltonian_quenched",
            system_quenched.get_hamiltonian(),
        )
        sim += mlxtk.tasks.RequestWaveFunction("initial", p, "harmonic_gs.py")
        sim += mlxtk.tasks.Propagate(
            "propagate",
            "initial",
            "hamiltonian_quenched",
            tfinal=5.0,
            dt=0.05,
            psi=True,
        )

        return sim
Ejemplo n.º 4
0
#!/usr/bin/env python
import mlxtk
import mlxtk.parameters
from mlxtk.systems.single_species.harmonic_trap import HarmonicTrap

x = mlxtk.dvr.add_harmdvr(225, 0.0, 0.3)

parameters = HarmonicTrap.create_parameters()
parameters.g = 0.1
parameters.m = 5
parameters.N = 2


def create_simulation(p: mlxtk.parameters.Parameters):
    p_quenched = p.copy()
    p_quenched.g = 0.2

    system = HarmonicTrap(p, x)

    sim = mlxtk.Simulation("harmonic_trap")
    sim += mlxtk.tasks.CreateOperator("hamiltonian_1b", system.get_hamiltonian_1b())
    sim += mlxtk.tasks.CreateMBOperator("hamiltonian", system.get_hamiltonian())
    sim += mlxtk.tasks.MCTDHBCreateWaveFunction("initial", "hamiltonian_1b", p.N, p.m)
    sim += mlxtk.tasks.ImprovedRelax(
        "gs_relax",
        "initial",
        "hamiltonian",
        "1",
        tfinal=1000.0,
        dt=0.01,
    )
Ejemplo n.º 5
0
def create_simulation(p):
    p_quenched = parameters.copy()
    p_quenched.g = 0.0
    p_quenched.omega = 10

    system = HarmonicTrap(p, x)
    system_quenched = HarmonicTrap(p_quenched, x)

    sim = mlxtk.Simulation("harmonic_trap")

    sim += mlxtk.tasks.CreateOperator("hamiltonian_1b",
                                      system.get_hamiltonian_1b())
    sim += mlxtk.tasks.CreateMBOperator("hamiltonian",
                                        system.get_hamiltonian())
    sim += mlxtk.tasks.CreateMBOperator(
        "hamiltonian_quenched",
        system_quenched.get_hamiltonian(),
    )

    sim += mlxtk.tasks.MCTDHBCreateWaveFunction("initial", "hamiltonian_1b",
                                                p.N, p.m)
    # sim += mlxtk.tasks.Propagate("propagate_0",
    #                              "initial",
    #                              "hamiltonian",
    #                              tfinal=5.0,
    #                              dt=0.05,
    #                              psi=True,
    #                              gauge=p.gauge)
    sim += mlxtk.tasks.Relax(
        "rlx",
        "initial",
        "hamiltonian",
        tfinal=1000.0,
        dt=0.01,
        psi=True,
        gauge=p.gauge,
    )
    # sim += mlxtk.tasks.ImprovedRelax("imprlx",
    #                                  "initial",
    #                                  "hamiltonian",
    #                                  1,
    #                                  tfinal=1000.0,
    #                                  dt=0.01,
    #                                  psi=True,
    #                                  gauge=p.gauge)
    # sim += mlxtk.tasks.Propagate("propagate_rlx",
    #                              "rlx/final",
    #                              "hamiltonian_quenched",
    #                              tfinal=5.0,
    #                              dt=0.05,
    #                              psi=True,
    #                              gauge=p.gauge)
    # sim += mlxtk.tasks.Propagate(
    #     "propagate_imprlx",
    #     "imprlx/final",
    #     "hamiltonian_quenched",
    #     tfinal=5.0,
    #     dt=0.05,
    #     psi=True,
    #     gauge=p.gauge)

    return sim
Ejemplo n.º 6
0
#!/usr/bin/env python
import mlxtk
from mlxtk.systems.single_species.harmonic_trap import HarmonicTrap

if __name__ == "__main__":
    x = mlxtk.dvr.add_harmdvr(512, 0.0, 1.0)

    parameters = HarmonicTrap.create_parameters()
    parameters.m = 19

    parameters_quenched = parameters.copy()
    parameters_quenched.omega = 0.7

    system = HarmonicTrap(parameters, x)
    system_quenched = HarmonicTrap(parameters_quenched, x)

    sim = mlxtk.Simulation("spectrum")

    sim += mlxtk.tasks.CreateOperator("hamiltonian_1b", system.get_hamiltonian_1b())
    sim += mlxtk.tasks.ComputeSpectrum("hamiltonian_1b", parameters.m)

    sim.main()
Ejemplo n.º 7
0
#!/usr/bin/env python
import numpy

import mlxtk
from mlxtk import dvr
from mlxtk.systems.single_species.harmonic_trap import HarmonicTrap
from mlxtk.tools.tensors import get_delta_interaction_spf

grid = dvr.add_harmdvr(201, 0.0, 0.75)
parameters = HarmonicTrap.create_parameters()
system = HarmonicTrap(parameters, grid)

_, spfs = system.get_hamiltonian_1b().diagonalize(12)
tensor = get_delta_interaction_spf(grid, spfs)
numpy.save("delta_spf.npy", tensor)
Ejemplo n.º 8
0
#!/usr/bin/env python
import mlxtk
from mlxtk import tasks
from mlxtk.systems.single_species.harmonic_trap import HarmonicTrap

grid = mlxtk.dvr.add_fft(675, -20, 20)

parameters = HarmonicTrap.create_parameters()
parameters.N = 2
parameters.m = 3
parameters.g = 0.1
parameters.x0 = 10.0

if __name__ == "__main__":

    parameters_quenched = parameters.copy()
    parameters_quenched.x0 = 0.0

    system = HarmonicTrap(parameters, grid)
    system_quenched = HarmonicTrap(parameters_quenched, grid)

    sim = mlxtk.Simulation("harmonic_trap")

    sim += tasks.CreateOperator("hamiltonian_1b.opr",
                                system.get_hamiltonian_1b())
    sim += tasks.CreateMBOperator("hamiltonian.mb_opr",
                                  system.get_hamiltonian())
    sim += tasks.CreateMBOperator(
        "hamiltonian_quenched.mb_opr",
        system_quenched.get_hamiltonian(),
    )