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
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
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
#!/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, )
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
#!/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()
#!/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)
#!/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(), )