diff options
Diffstat (limited to 'xmds2/lambda_no_dopler_no_z.example')
-rw-r--r-- | xmds2/lambda_no_dopler_no_z.example/Makefile | 37 | ||||
-rw-r--r-- | xmds2/lambda_no_dopler_no_z.example/lambda_no_dopler_no_z.xmds | 109 | ||||
-rw-r--r-- | xmds2/lambda_no_dopler_no_z.example/pp.m | 9 |
3 files changed, 155 insertions, 0 deletions
diff --git a/xmds2/lambda_no_dopler_no_z.example/Makefile b/xmds2/lambda_no_dopler_no_z.example/Makefile new file mode 100644 index 0000000..c9a3d8b --- /dev/null +++ b/xmds2/lambda_no_dopler_no_z.example/Makefile @@ -0,0 +1,37 @@ +### -*- make -*- +### This file is part of the Debian xmds package +### Copyright (C) 2006 Rafael Laboissiere +### This file is relased under the GNU General Public License +### NO WARRANTIES! + +### This makefile can be used to build and run the XMDS examples + +XMDS_FILES = $(shell ls *.xmds) +RUN_FILES = $(patsubst %.xmds,%.run,$(XMDS_FILES)) +CC_FILES = $(patsubst %.xmds,%.cc,$(XMDS_FILES)) +XSIL_FILES = $(patsubst %.xmds,%.xsil,$(XMDS_FILES)) +M_FILES = $(patsubst %.xmds,%.m,$(XMDS_FILES)) + +XMDS = xmds2 +XSIL2GRAPHICS = xsil2graphics + +all: $(M_FILES) plot + +%.run: %.xmds + $(XMDS) $< + mv $(patsubst %.xmds,%,$<) $@ + +%.xsil: %.run + ./$< + +%.m: %.xsil + $(XSIL2GRAPHICS) $< + +plot: lambda_no_dopler_no_z.m + octave pp.m + +clean: + rm -f $(CC_FILES) $(RUN_FILES) $(M_FILES) $(XSIL_FILES) *.wisdom.fftw3 *.dat octave-core *.wisdom + +.PRECIOUS: %.run %.xsil %.m +.PHONY: all clean diff --git a/xmds2/lambda_no_dopler_no_z.example/lambda_no_dopler_no_z.xmds b/xmds2/lambda_no_dopler_no_z.example/lambda_no_dopler_no_z.xmds new file mode 100644 index 0000000..fb3be35 --- /dev/null +++ b/xmds2/lambda_no_dopler_no_z.example/lambda_no_dopler_no_z.xmds @@ -0,0 +1,109 @@ +<?xml version="1.0"?> +<simulation xmds-version="2"> + + <name>lambda_no_dopler_no_z</name> + + <author>Eugeniy Mikhailov</author> + <description> + Solving 3 level atom in lambda field configuration, + no field propagation included + at time = tset drive field is changed in step-like manner + </description> + + <features> + <benchmark /> + <bing /> + <fftw plan="patient" /> + <openmp /> + <auto_vectorise /> + <globals> + <![CDATA[ + const complex g=10; + const complex gbc=.001; + const double tset=5; + + complex Gab, Gca, Gcb; + complex Ep,Ed,Epc,Edc; + double delta_2photon, delta_d; + complex rba,rac,rbc; + complex drive_field0=10, probe_field0=0.01; + ]]> + </globals> + </features> + + <geometry> + <propagation_dimension> t </propagation_dimension> + <transverse_dimensions> + <dimension name="delta_2photon" lattice="128" domain="(-25, 25)" /> + </transverse_dimensions> + </geometry> + + <vector name="density_matrix" type="complex" dimensions="delta_2photon"> + <components>raa rbb rcc rab rca rcb</components> + <initialisation> + <![CDATA[ + raa = 0; + rbb = 1; + rcc = 0; + rab = 0; + rca = 0; + rcb= 0; + ]]> + </initialisation> + </vector> + + <sequence> + <integrate algorithm="ARK45" interval="10.0" tolerance="1e-7"> + <samples>128</samples> + <operators> + <integration_vectors>density_matrix</integration_vectors> + <![CDATA[ + delta_d=0; + + Ed=drive_field0; + Ep=probe_field0; + if (t<tset) { Ed=drive_field0;} else {Ed=drive_field0/2.0;} + Epc = conj(Ep); + Edc = conj(Ed); + + Gab=g+i*(delta_d+delta_2photon); + Gca=g-i*delta_d; + Gcb=gbc+i*delta_2photon; + + + rba=conj(rab); + rac=conj(rca); + rbc=conj(rcb); + + draa_dt = -i*Epc*rab+i*Ep*rba-i*Edc*rac+i*Ed*rca-2*g*raa; + drbb_dt = i*Epc*rab-i*Ep*rba+g*raa-gbc*rbb+gbc*rcc; + drcc_dt = i*Edc*rac-i*Ed*rca+g*raa-gbc*rcc+gbc*rbb; + drab_dt = -Gab*rab+i*Ep*(rbb-raa)+i*Ed*rcb; + drca_dt = -Gca*rca+i*Edc*(raa-rcc)-i*Epc*rcb; + drcb_dt = -Gcb*rcb-i*Ep*rca+i*Edc*rab; + ]]> + </operators> + </integrate> + </sequence> + + + + + <!-- The output to generate --> + <output format="ascii" filename="lambda_no_dopler_no_z.xsil"> + <group> + <sampling basis="delta_2photon" initial_sample="yes"> + <dependencies>density_matrix</dependencies> + <moments>rab_rlOut rab_imOut raaOut rbbOut rccOut</moments> + <![CDATA[ + rab_rlOut = rab.Re(); + rab_imOut = rab.Im(); + raaOut = raa.Re(); + rbbOut = rbb.Re(); + rccOut = rcc.Re(); + ]]> + </sampling> + </group> + </output> + +</simulation> diff --git a/xmds2/lambda_no_dopler_no_z.example/pp.m b/xmds2/lambda_no_dopler_no_z.example/pp.m new file mode 100644 index 0000000..3019894 --- /dev/null +++ b/xmds2/lambda_no_dopler_no_z.example/pp.m @@ -0,0 +1,9 @@ +lambda_no_dopler_no_z; + +figure(1) +imagesc(t_1, delta_2photon_1, rab_imOut_1) +colorbar; +xlabel('t_1') +ylabel('delta_2photon_1') +zlabel('rab_imOut_1') +title('lambda_no_dopler_no_z') |