Esempio 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
Esempio n. 2
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(),
    )
    sim += tasks.CreateMBOperator("com.mb_opr",
                                  system_quenched.get_com_operator())
    sim += tasks.CreateMBOperator(
        "com_2.mb_opr",
        system_quenched.get_com_operator_squared(),
    )

    sim += tasks.MCTDHBCreateWaveFunction(
        "initial.wfn",
        "hamiltonian_1b.opr",
        parameters.N,
        parameters.m,
    )
    sim += tasks.ImprovedRelax(
        "gs_relax",
        "initial.wfn",
        "hamiltonian.mb_opr",