Modified live plotting.
This commit is contained in:
parent
8b2732cad5
commit
0b726756ef
@ -1,4 +1,4 @@
|
|||||||
function plotLive2D(psi, Params, Transf, Observ)
|
function plotLive2D(psi, Params, Transf, Observ, vrun)
|
||||||
set(0,'defaulttextInterpreter','latex')
|
set(0,'defaulttextInterpreter','latex')
|
||||||
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
||||||
|
|
||||||
@ -14,6 +14,7 @@ function plotLive2D(psi, Params, Transf, Observ)
|
|||||||
|
|
||||||
% Plotting
|
% Plotting
|
||||||
figure(1);
|
figure(1);
|
||||||
|
set(gcf, 'Name', ['Variational Run: ', num2str(vrun)])
|
||||||
set(gcf,'Position', [100, 100, 1600, 900])
|
set(gcf,'Position', [100, 100, 1600, 900])
|
||||||
clf
|
clf
|
||||||
|
|
||||||
@ -46,7 +47,6 @@ function plotLive2D(psi, Params, Transf, Observ)
|
|||||||
xlabel('$x$ [$\mu$m]', 'FontSize', 14); ylabel('$y$ [$\mu$m]', 'FontSize', 14);
|
xlabel('$x$ [$\mu$m]', 'FontSize', 14); ylabel('$y$ [$\mu$m]', 'FontSize', 14);
|
||||||
title('Im$\{\Psi_{xy}\}$', 'FontSize', 14);
|
title('Im$\{\Psi_{xy}\}$', 'FontSize', 14);
|
||||||
|
|
||||||
|
|
||||||
% Plot residual (time steps vs -log10(residual))
|
% Plot residual (time steps vs -log10(residual))
|
||||||
subplot('Position', [0.05, 0.05, 0.26, 0.4]);
|
subplot('Position', [0.05, 0.05, 0.26, 0.4]);
|
||||||
plot(-log10(Observ.residual), '-b')
|
plot(-log10(Observ.residual), '-b')
|
||||||
|
@ -60,10 +60,10 @@ OptionsStruct.ScatteringLength = 98.0676; % Critical point: 102.515;
|
|||||||
OptionsStruct.TrapFrequencies = [10, 10, 72.4];
|
OptionsStruct.TrapFrequencies = [10, 10, 72.4];
|
||||||
OptionsStruct.TrapPotentialType = 'None';
|
OptionsStruct.TrapPotentialType = 'None';
|
||||||
|
|
||||||
OptionsStruct.NumberOfGridPoints = [256, 256];
|
OptionsStruct.NumberOfGridPoints = [128, 128];
|
||||||
OptionsStruct.Dimensions = [7.5, 7.5]; % Critical point: 6.996; Triangular phase: 7.5; Stripe phase: 6.972; Honeycomb phase: 6.239 for both for Atom Number fixed to 1E5
|
OptionsStruct.Dimensions = [7.5, 7.5]; % Critical point: 6.996; Triangular phase: 7.5; Stripe phase: 6.972; Honeycomb phase: 6.239 for both for Atom Number fixed to 1E5
|
||||||
OptionsStruct.TimeStepSize = 200E-6; % in s
|
OptionsStruct.TimeStepSize = 500E-6; % in s
|
||||||
OptionsStruct.TimeCutOff = 100; % in s
|
OptionsStruct.TimeCutOff = 1E4; % in s
|
||||||
OptionsStruct.EnergyTolerance = 5E-10;
|
OptionsStruct.EnergyTolerance = 5E-10;
|
||||||
OptionsStruct.ResidualTolerance = 1E-05;
|
OptionsStruct.ResidualTolerance = 1E-05;
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
function [psi, Observ] = propagateWavefunction(this, psi, Params, VParams, Transf, VDk, V, t_idx, Observ)
|
function [psi, Observ] = propagateWavefunction(this, psi, Params, VParams, Transf, VDk, V, t_idx, Observ, vrun)
|
||||||
set(0,'defaulttextInterpreter','latex')
|
set(0,'defaulttextInterpreter','latex')
|
||||||
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
set(groot, 'defaultAxesTickLabelInterpreter','latex'); set(groot, 'defaultLegendInterpreter','latex');
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ function [psi, Observ] = propagateWavefunction(this, psi, Params, VParams, Trans
|
|||||||
Observ.residual = [Observ.residual res];
|
Observ.residual = [Observ.residual res];
|
||||||
|
|
||||||
if this.PlotLive
|
if this.PlotLive
|
||||||
Plotter.plotLive2D(psi,Params,Transf,Observ)
|
Plotter.plotLive2D(psi,Params,Transf,Observ,vrun)
|
||||||
drawnow
|
drawnow
|
||||||
end
|
end
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ function [psi, Observ] = propagateWavefunction(this, psi, Params, VParams, Trans
|
|||||||
muchem = this.Calculator.calculateChemicalPotential(psi,Params,VParams,Transf,VDk,V);
|
muchem = this.Calculator.calculateChemicalPotential(psi,Params,VParams,Transf,VDk,V);
|
||||||
|
|
||||||
%Plotting loop
|
%Plotting loop
|
||||||
if mod(t_idx,500) == 0
|
if mod(t_idx,250) == 0
|
||||||
|
|
||||||
% Change in Energy
|
% Change in Energy
|
||||||
E = this.Calculator.calculateTotalEnergy(psi,Params,VParams,Transf,VDk,V);
|
E = this.Calculator.calculateTotalEnergy(psi,Params,VParams,Transf,VDk,V);
|
||||||
@ -78,7 +78,7 @@ function [psi, Observ] = propagateWavefunction(this, psi, Params, VParams, Trans
|
|||||||
|
|
||||||
% Plotting
|
% Plotting
|
||||||
if this.PlotLive
|
if this.PlotLive
|
||||||
Plotter.plotLive2D(psi,Params,Transf,Observ)
|
Plotter.plotLive2D(psi,Params,Transf,Observ,vrun)
|
||||||
drawnow
|
drawnow
|
||||||
end
|
end
|
||||||
%
|
%
|
||||||
|
@ -48,7 +48,7 @@ function [Params, Transf, psi, V, VDk] = run(this)
|
|||||||
psi = psi + 0.25*noise;
|
psi = psi + 0.25*noise;
|
||||||
|
|
||||||
% --- Run ---
|
% --- Run ---
|
||||||
[psi, Observ] = this.propagateWavefunction(psi, Params, VParams, Transf, VDk, V, t_idx, Observ);
|
[psi, Observ] = this.propagateWavefunction(psi, Params, VParams, Transf, VDk, V, t_idx, Observ, nn);
|
||||||
psi = gather(psi);
|
psi = gather(psi);
|
||||||
|
|
||||||
% --- Constrained minimization ---
|
% --- Constrained minimization ---
|
||||||
|
Loading…
Reference in New Issue
Block a user