Warning: Trying to access array offset on value of type null in /home/site/wwwroot/lib/plugins/move/action/rename.php on line 42

Warning: Cannot modify header information - headers already sent by (output started at /home/site/wwwroot/lib/plugins/move/action/rename.php:42) in /home/site/wwwroot/inc/actions.php on line 38
playground:playground [topas wiki]

User Tools

Site Tools


playground:playground

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
playground:playground [2023/06/05 13:11] johnsoevansplayground:playground [2024/01/23 07:45] (current) – external edit 127.0.0.1
Line 1: Line 1:
-Add what you want here+====== PlayGround ======
  
-  +Play with any wiki page tests you like here.
-  +
  
-out phasename.ins append  
-Out_Str 
-Out_String("! Titles\n")! 
  
-macro Out_Ins(phasename) { 
-out phasename##.ins append  
-Out_String("! Titles\n") 
-Out(Get(phase_name), "%s\n" 
-Out_String("! Radiation (NBEAM)\n") 
-Out_String("NBEAM = 0! Neutron powder diffraction.\n") 
-Out_String("NBEAM = 1: Laboratory X-ray powder diffraction under characteristic radiations.\n") 
-Out_String("NBEAM = 2! Synchrotron X-ray powder diffraction.\n") 
-Out_String("! Analytical method\n") 
-Out_String("NMODE = 0: Rietveld analysis of powder diffraction data.\n") 
-Out_String("NMODE = 1! Calculation of powder diffraction intensities (plus simulation).\n") 
-Out_String("NMODE = 2! Total-pattern fitting where structure factors are fixed at Fc(MEM)|s.\n") 
-Out_String("NMODE = 3! The same as NMODE = 2 but refine |Fc|s for relaxed reflections.\n") 
-Out_String("NMODE = 4! Conventional Le Bail analysis.\n") 
-Out_String("NMODE = 5! Le Bail analysis using a partial structure.\n") 
-Out_String("NMODE = 6! Individual profile fitting.\n") 
-Out_String("NPRINT = 0! Minimal output.\n") 
-Out_String("NPRINT = 1: Standard output including a reflection list.\n") 
-Out_String("NPRINT = 2! Detailed output including xdc.gpd to plot f| and f|| against lambda.\n") 
-Out_String("! NBEAM\n") 
-Out_String("Select case NBEAM\n") 
-Out_String("case 0\n") 
-Out_String("  ! =0: Neutron PD\n") 
-Out(Lam, "   XLMDN = %6.5f: Neutron wavelength") 
-Out_String("/Angstrom.\n") 
-Out_String("   RADIUS = 0.5: Radius/cm of the cylindrical cell.\n") 
-Out_String("   ABSORP =  1.0! Positive --> Density/g.cm-3 = the sample mass/cylinder volume\n") 
-Out_String("   ABSORP =  0.0: Zero --> Neglect absorption.\n") 
-Out_String("   ABSORP = -1.0! Negative --> -(Linear absorption coefficient)*(radius).\n") 
-Out_String("case 1\n") 
-Out_String("  ! =1: X-ray PD\n") 
-Out(If(And((Lam > 0.559), (Lam < 0.564)),"   NTARG = 1: Ag K_alpha radiation.","   NTARG = 1! Ag K_alpha radiation."), "%s\n") 
-Out(If(And((Lam > 0.709), (Lam < 0.714)),"   NTARG = 2: Mo K_alpha radiation.","   NTARG = 2! Mo K_alpha radiation."), "%s\n") 
-Out(If(And((Lam > 1.389), (Lam < 1.394)),"   NTARG = 3: Cu K_beta radiation.","   NTARG = 3! Cu K_beta radiation."), "%s\n") 
-Out(If(And((Lam > 1.540), (Lam < 1.545)),"   NTARG = 4: Cu K_alpha radiation.","   NTARG = 4! Cu K_alpha radiation."), "%s\n") 
-Out(If(And((Lam > 1.788), (Lam < 1.793)),"   NTARG = 5: Co K_alpha radiation.","   NTARG = 5! Co K_alpha radiation."), "%s\n") 
-Out(If(And((Lam > 1.935), (Lam < 1.940)),"   NTARG = 6: Fe K_alpha radiation.","   NTARG = 6! Fe K_alpha radiation."), "%s\n") 
-Out(If(And((Lam > 2.289), (Lam < 2.294)),"   NTARG = 7: Cr K_alpha radiation.","   NTARG = 7! Cr K_alpha radiation."), "%s\n") 
-Out_String("   R12 = 0.5: alpha2 to alpha1 ratio for K lines. Use 0 for Cu K_beta radiation.\n") 
-Out((Cos(lpf Deg))^2, "   CTHM1 = %5.4f: ") 
-Out_String("(Cos(LP_factor))^2. Use 1.0 if no monochromator was used.\n") 
-Out_String("   NSURFR = 0: Do not correct for surface roughness.\n") 
-Out_String("   NSURFR = 1! Correct for surface roughness by combining NSURFR = 2 and 3.\n") 
-Out_String("   NSURFR = 2! Correct for surface roughness with Sparks et al.|s model.\n") 
-Out_String("   NSURFR = 3! Correct for surface roughness with Suortti|s model.\n") 
-Out_String("   NSURFR = 4! Correct for surface roughness with Pitschke et al.|s model.\n") 
-Out_String("   NSURFR = 5! Correct for surface roughness with Sidey|s model.\n") 
-Out_String("   NTRAN = 0: Bragg-Brentano geometry (fixed divergence slit).\n") 
-Out_String("   NTRAN = 1! Bragg-Brentano geometry (automatic divergence slit, fixed footprint).\n") 
-Out_String("   NTRAN = 2! Transmission geometry (Guinier diffractometer).\n") 
-Out_String("   NTRAN = 3! Debye-Scherrer geometry (Capillary transmission).\n") 
-Out_String("   Select case NTRAN\n") 
-Out_String("   case 1\n" 
-Out((If(Prm_There(FPlength),FPlength,10) Sin(X1/2 Deg))/Rp Rad, "      DSANG = %3.2f: Divergence angle in deg.\n") 
-Out(Rp,"      RGON = %4.1f: Goniometer radii in mm.\n") 
-Out(If(Prm_There(FPlength),FPlength,10),     SWIDTH = %3.1f: Footprint length in mm.\n") 
-Out_String("   case 2\n") 
-Out_String("      PCOR1 = 0.5: Fraction of the perfect crystal contribution.\n") 
-Out_String("      SABS = 0.2: (Linear absorption coefficient)*(effective thickness).\n") 
-Out_String("   case 3\n") 
-Out_String("      XMUR1 = 0.2: (Linear absorption coefficient)*(radius).\n") 
-Out_String("   end select\n") 
-Out_String("case 2\n") 
-Out_String("  ! =2: Synchrotron X-ray PD\n") 
-Out(Lam, "   XLMDX = %6.5f: X-Ray wavelength in ") 
-Out_String("Angstrom\n") 
-Out_String("   PCOR2 = 0.05: I0(perpendicular)/I0(parallel). I0: incident intensity.\n") 
-Out((Cos(lpf Deg))^2, "   CTHM2 = %5.4f: ") 
-Out_String("(Cos(LP_factor))^2 for crystal monochromator.\n") 
-Out_String("   XMUR2 = 1.0: (Linear absorption coefficient)*(radius).\n") 
-Out_String("end select\n") 
-Out_String("! Real chemical species\n") 
-Out_String("Select case NBEAM\n") 
-Out_String("case 0\n") 
-atom_out phasename##.ins append 
-               load out_record out_fmt out_eqn 
-               {"   |%s| " = Get_From_String(Get(current_atom), atom); 
-               "%5.2f" = Get_From_String(Get(current_atom), num_posns);} 
-out phasename##.ins append 
-Out_String(" /#Fix: Use atom without chemical valence: Fe H O \n") 
-Out_String("case 1$ 2\n") 
-atom_out phasename##.ins append 
-               load out_record out_fmt out_eqn 
-               {"   |%s| " = Get_From_String(Get(current_atom), atom);} 
-out phasename##.ins append 
-Out_String("/\n   If NBEAM = 2 or NTARG = 3 then\n") 
-atom_out phasename##.ins append 
-               load out_record out_fmt out_eqn 
-               {"      0.0  0.0   #f| and f|| for |%s|\n" = Get_From_String(Get(current_atom), atom);} 
-out phasename##.ins append 
-Out_String("   end if\n") 
-Out_String("end select\n") 
-Out_String("! Virtual chemical species\n") 
-Out_String("#{\n") 
-Out_String("# |M1| |Ba| 0.633 |Nd| 0.367 / # Metal on the rock-salt layer\n") 
-Out_String("# |M2| |Nd| 0.675 |Ce| 0.325 / # Eight-coordinated atom in the fluorite block\n") 
-Out_String("#} End of virtual chemical species.\n") 
-Out_String("Data concerning crystalline phases contained in the sample {\n") 
-Out_String("! Phase(s)\n") 
-Out_String("  ! Phase #1\n") 
-Out(Get(phase_name),"PHNAME1 = |%s| : Phase name (CHARACTER*25).\n") 
-Out_String("VNS1 = |A-SGNo|: #Fix: Int.Tables:A-S.G.No.-Setting No. Check spgr.daf\n") 
-Out(Get(sp_grp_char),"HKLM1 = |%s|: Hermann-Mauguin mark to derive hkl & M #Fix: as spgr.daf\n") 
-Out(Get(sp_grp_char),"HKLM1 = |%s*|! Space Group in Hermann-Mauguin symbol to be standardized #Fix: as spgr.daf.\n") 
-Out_String("If NBEAM >= 1 then\n") 
-Out_String("   LPAIR1 = 0: No Friedel pairs (hkl & -h-k-l) are generated.\n") 
-Out_String("   LPAIR1 = 1! Friedel pairs (hkl & -h-k-l) are generated.\n") 
-Out_String("end if\n") 
-Out_String("INDIV1 = 0! The overall isotropic atomic displacement parameter is input.\n") 
-Out_String("INDIV1 = 1: Atomic displacement parameters are assigned to all the sites. Set Q=0.\n") 
-Out_String("IHA1 = 0: \ \n") 
-Out_String("IKA1 = 0:   --> Anisotropic-broadening axis$ ha$ ka$ la.\n") 
-Out_String("ILA1 = 1: / \n") 
-Out_String("IHP1 = 1: \ \n") 
-Out_String("IKP1 = 0:   --> Preferred-orientation vector$ hp1$ kp1$ lp1.\n") 
-Out_String("ILP1 = 0: / \n"                                         
-Out_String("IHP2 = 0: \ \n"                                         
-Out_String("IKP2 = 0:   --> Preferred-orientation vector$ hp2$ kp2$ lp2.\n") 
-Out_String("ILP2 = 0: / \n"                                        
-Out_String("IHP3 = 0: \ \n"                                        
-Out_String("IKP3 = 0:   --> Preferred-orientation vector$ hp3$ kp3$ lp3.\n") 
-Out_String("ILP3 = 0: / \n") 
-Out_String("} End of information about phases.\n") 
-Out_String("! Profile function\n") 
-Out_String("NPRFN = 0! Pseudo-Voigt function in P.Thompson et al.$ J.Appl.Crystallogr. 20(1987)79.\n") 
-Out_String("NPRFN = 1: Split pseudo-Voigt (SPV) function in H.Toraya$ J.Appl.Crystallogr. 23(1990)485.\n") 
-Out_String("NPRFN = 2! Modified SPV function for relaxed reflections: FWHM(Lorentz) <> FWHM(Gauss).\n") 
-Out_String("NPRFN = 3! Split Pearson VII function in H.Toraya$ J.Appl.Crystallogr. 23(1990)485.\n") 
-Out_String("Select case NPRFN\n") 
-Out_String("case 0\n") 
-Out_String("   NASYM = 0: Made asymmetric as L.W.Finger et al.$ J.Appl.Crystallogr. 27(1994)892.\n") 
-Out_String("   NASYM = 1! Made asymmetric as C.J.Howard$ J.Appl.Crystallogr. 15(1982)615.\n") 
-Out_String("case default\n") 
-Out_String("   NSHIFT = 0! t0.\n") 
-Out_String("   NSHIFT = 1! t0 + t1*cos(x) + t2*sin(x) + t3*tan(theta).\n") 
-Out_String("   NSHIFT = 2! t0 + t1*x + t2*x^2 + t3*x^3.\n") 
-Out_String("   NSHIFT = 3! t0 + t1*tan(theta) + t2*(tan(theta))^2 + t3*(tan(theta))^3.\n") 
-Out_String("   NSHIFT = 4: Legendre polynomials where 2-theta is normalized as -1 to 1.\n") 
-Out_String("   NSHIFT = 5! Legendre polynomials where tan(theta) is normalized as -1 to 1.\n") 
-Out_String("end select\n") 
-Out_String("! Label$ A(I)$ ID(I)\n") 
-Out_String("Label$ A(I)$ and ID(I) now starts here {\n") 
-Out_String("  ! Phase-independent data\n") 
-Out_String("Select case NPRFN\n") 
-Out_String("case 0\n") 
-Out_String("   SHIFT0  0  0  0  0.0  1110 # Z$ Ds$ Ts & dummy1 (Ds=Ts=0 in ND).\n") 
-Out_String("case default\n") 
-Out_String("   SHIFTN  0  0  0  0.0  1000 # t0$ t1$ t2 & t3.\n") 
-Out_String("end select\n") 
-Out_String("ROUGH  0.0  0.0  0.0  0.0  0000\n") 
-Out_String("BKGD  1  0  0  0  0  0  0  0  0  0  0  0  111111111100\n") 
-Out_String("  ! Partial profile relaxation\n") 
-Out_String("#PPP1_2.1.1   0.0  0.0  0.0  0.0  0.0  33333 # W1/W2$ A$ eta_L$ eta_H.\n") 
-Out_String("  ! Phase #1\n") 
-Out_String("    ! Scale factor\n") 
-Out(Get(scale),"SCALE  %E  1\n") 
-Out_String("    ! Profile parameters\n") 
-Out_String("If NPRFN = 0 and NASYM = 1 then\n") 
-Out_String("   GAUSS01  1.49395E-4  7.401285E-5  2.558033E-4  0.0  0110\n") 
-Out_String("   LORENTZ01  3.157068E-2  2.282011E-3  2.879626E-2  -1.928188E-3  1111\n") 
-Out_String("   ASYM01  2.800001E-2  0.0  0.0  0.0  0.0  0.0  100000\n") 
-Out_String("   ANISTR01 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000000\n") 
-Out_String("else if NPRFN = 0 and NASYM = 0 then\n") 
-Out_String("   GAUSS00  1.49395E-4  1.41366E-4  2.07988E-4  0.0  0110\n") 
-Out_String("   LORENTZ00  3.3918E-2  1.85408E-3  2.48941E-2  -1.11746E-3  1010\n") 
-Out_String("   ASYM00  2.82968E-2  9.34981E-3  0.0  0.0  0.0  0.0  110000\n") 
-Out_String("   ANISTR00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000000\n") 
-Out_String("else if NPRFN = 1 or NPRFN = 2 then\n") 
-Out_String("   FWHM12  5.0E-3  -1.0E-3  5.0E-3  0.0  1110 #FWHM: U V W dummy.\n") 
-Out_String("   ASYM12  1.0  0.0  0.0  0.0  1110 #Asymmetry: a0 a1 a2 dummy.\n") 
-Out_String("   ETA12  0.1  0.1  0.1  0.1  1111 #Decay eta: L0 L1 H0 H1.\n") 
-Out_String("   ANISOBR12  0.0  0.0  00 # Anisotropic-broadening: Ue Pe.\n") 
-Out_String("   DUMMY12 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000000\n") 
-Out_String("else if NPRFN = 3 then\n") 
-Out_String("   FWHM3  5.874843E-3  -2.614835E-3  5.290567E-3  0.0  1110\n") 
-Out_String("   ASYM3  0.976399  0.184397  -4.801547E-2  0.0  1110\n") 
-Out_String("   M3  0.712220  0.219749  0.630807  0.125848  1111\n") 
-Out_String("   ANISOBR3  0.0  0.0  00\n") 
-Out_String("   DUMMY3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0000000000000000\n") 
-Out_String("end if\n") 
-Out_String("    ! Preferred orientation\n") 
-Out_String("PREF  1.0  1.0  0.0  0.0  0.0  0.0  010000 # f1$ r1$ f2$ r2$ f3$ r3\n") 
-Out_String("    ! Lattice parameters & Q\n") 
-Out(Get(a), "CELLQ  %V  ") 
-Out(Get(b), "%V  ") 
-Out(Get(c), "%V  ") 
-Out(Get(al), "%V  ") 
-Out(Get(be), "%V  ") 
-Out(Get(ga), "%V  0.0  1010000\n") 
-Out_String("    ! Structure parameters\n") 
-atom_out phasename##.ins append 
-               load out_record out_fmt out_eqn 
-               {"%s/" = Get_From_String(Get(current_atom), site); 
-                "%s  " = Get_From_String(Get(current_atom), atom); 
-                "%V  " = Get_From_String(Get(current_atom), occ); 
-                "%V  " = Get_From_String(Get(current_atom), x); 
-                "%V  " = Get_From_String(Get(current_atom), y); 
-                "%V  " = Get_From_String(Get(current_atom), z);  
-                "%V  " = Get_From_String(Get(current_atom), beq); 
-                "00000\n" = 1; 
-               } 
-out phasename##.ins append 
-Out_String("} End of lines for label_species A(I) and ID(I).\n") 
-Out_String("! Linear constraints\n") 
-Out_String("If NMODE <> 1 then\n") 
-Out_String("{\n") 
-Out_String("} End of linear constraints.\n") 
-Out_String("end if\n") 
-Out_String("! Voxel numbers\n") 
-Out_String("If NMODE <> 6 then\n") 
-Out(6(Round(Get(a)/0.07/6)+1),  NVOXA = %.0f: ") 
-Out_String("Number of voxels along the a axis.\n") 
-Out(6(Round(Get(b)/0.07/6)+1),  NVOXB = %.0f: ") 
-Out_String("Number of voxels along the b axis.\n") 
-Out(6(Round(Get(c)/0.07/6)+1),  NVOXC = %.0f: ") 
-Out_String("Number of voxels along the c axis.\n") 
-Out_String("end if\n") 
-Out_String("! PyAbstantia\n") 
-Out_String("If NMODE = 1 then\n") 
-Out_String("   NPYABST = 0: No input file for PyAbstantia is output.\n") 
-Out_String("   NPYABST = 1! BVS.inp for the BVS mode of PyAbstantia is output.\n") 
-Out_String("   NPYABST = 2! BVEL.inp for the BVEL mode of PyAbstantia is output.\n") 
-Out_String("   Select case NPYABST\n") 
-Out_String("   case 1\n") 
-Out_String("      {\n") 
-Out_String("      1 # Formal valence (positive) of the mobile ion in SIB.\n") 
-Out_String("      |O|  1.466  0.37 # Name$ R0$ b of counter ions (refer to bvparm2013.cif)\n") 
-Out_String("      } # End of counter ions\n") 
-Out_String("   case 2\n") 
-Out_String("      1.0  3.0  -2.0\n") 
-Out_String("      1.34  1.26  0.73\n") 
-Out_String("   end select\n") 
-Out_String("end if\n") 
-Out_String("NCUT = 0: The profile range for relaxed reflections is determined by RIETAN.\n") 
-Out_String("NCUT = 1! The profile range for relaxed reflections is input by the user.\n") 
-Out_String("If NCUT = 1 then\n") 
-Out_String("    5.10    9.40\n") 
-Out_String("   11.00   14.10\n") 
-Out_String("   18.20   21.80\n") 
-Out_String("   19.40   24.10\n") 
-Out_String("   21.60   23.40\n") 
-Out_String("end if\n") 
-Out_String("If NMODE <> 1 then\n") 
-Out_String("! Diffraction data\n") 
-Out_String("   NEXC = 0: Parameters are refined using all the data points.\n") 
-Out_String("   NEXC = 1! Parameters are refined by excluding part of the data points.\n") 
-Out_String("   If NEXC = 1 then\n") 
-Out_String("      2-theta range not to be used for the refinement {\n") 
-Out_String("        0.0    14.99\n") 
-Out_String("      130.01  180.0\n") 
-Out_String("      } End of excluded 2-theta ranges.\n") 
-Out_String("   end if\n") 
-Out_String("   NINT =  0! RIETAN format.\n") 
-Out_String("   NINT =  1: General (X-Y) format.\n") 
-Out_String("   NINT =  2! IGOR text file.\n") 
-Out_String("   NINT =  3! FVFM (Fully Variable ForMat).\n") 
-Out_String("   NINT =  4! Standard DBWS format.\n") 
-Out_String("   NINT =  5! DBWS format for multiple detectors.\n") 
-Out_String("   NINT =  6! Free format.\n") 
-Out_String("   NINT =  7! GSAS format.\n") 
-Out_String("   NINT =  8! HRPD (JAERI$ JRR-3M) formats. Two types are supported.\n") 
-Out_String("   NINT =  9! RIGAKU RINT2000 ASCII format.\n") 
-Out_String("   NINT = 10! MAC Science format.\n") 
-Out_String("   NINT = 11! General-3 format.\n") 
-Out_String("   NINT = 12! PANalytical XML format.\n") 
-Out_String("! Backgrounds\n") 
-Out_String("   NRANGE = 0: Refine background parameters.\n") 
-Out_String("   NRANGE = 1! Fix backgrounds at (interpolated) values at specified 2-theta|s.\n") 
-Out_String("   NRANGE = 2! Fix backgrounds of all the points at values in *.bkg.\n") 
-Out_String("   NRANGE = 3! Background = (background in *.bkg) * (Legendre polynomials).\n") 
-Out_String("   If NRANGE >= 2 then\n") 
-Out_String("      # Note that the following three data are ineffective if *.bkg or *.bgr exists.\n") 
-Out_String("      NPICKUP = 20: Background estimated as every NPICKUP-th intensity data\n") 
-Out_String("      NREPEAT = 40: Repeating time for background subtraction.\n") 
-Out_String("      CURVATURE = 0.0: A constant to cosider the curvature of the background.\n") 
-Out_String("   end if\n") 
-Out_String("else\n") 
-Out_String("   DEG1 = 2.0: Minimum 2-theta in the calculated (simulated) pattern.\n") 
-Out_String("   DEG2 = 170.0: Maximum 2-theta in the calculated (simulated) pattern.\n") 
-Out_String("   USTP = 0.01: Step width/degree.\n") 
-Out_String("end if\n") 
-Out_String("! Profile cutoff\n") 
-Out_String("Select case NPRFN\n") 
-Out_String("case 0\n") 
-Out_String("   PC = 0.001\n") 
-Out_String("case 1\n") 
-Out_String("   PC = 7.00\n") 
-Out_String("case 2$ 3\n") 
-Out_String("   PC = 7.00\n") 
-Out_String("end select\n") 
-Out_String("If NMODE = 1 then\n") 
-Out_String("   Go to *Graphs\n") 
-Out_String("end if\n") 
-Out_String("! Pattern decomposition\n") 
-Out_String("If NMODE = 4 then\n") 
-Out_String("   NSFF = 0: Starting F^2 estimated according to the Wilson statistics.\n") 
-Out_String("   NSFF = 1! input from *.ffi.\n") 
-Out_String("   NSFF = 2! all set at 100.0.\n") 
-Out_String("   If NSFF = 1 then\n") 
-Out_String("      NCONST = 0: Integrated intensities are varied during Le Bail analysis.\n") 
-Out_String("      NCONST = 1! Integrated intensities are fixed during Le Bail analysis.\n") 
-Out_String("   end if\n") 
-Out_String("   CHGPC = 1.0: Set initial Cut-off to CHGPC*PC$ restored once profiles are refined.\n") 
-Out_String("   NOPT = 0! No integrated intensities are refined after Le Bail analysis.\n") 
-Out_String("   NOPT = 1: Hybrid pattern decomposition: integrated intensities are refined after Le Bail analysis.\n") 
-Out_String("   If NOPT = 1 then\n") 
-Out_String("      MREG = 15: Maximum number of reflections in each group of overlapped reflections.\n") 
-Out_String("      RWID = 0.350: Integrated intensities of reflections with Delta.2-theta < RWID*FWHM are set equal.\n") 
-Out_String("      XMAX = 180.0: Integrated intensities are refined up to XMAX/degrees.\n") 
-Out_String("      WNEG = 1.E5: Weight to suppress negative integrated intensities.\n") 
-Out_String("   end if\n") 
-Out_String("   INCLH = 0: Output no reflections near 2-theta(max) to *.ffo for lack of partial observed intensities.\n") 
-Out_String("   INCLH = 1! Output reflections near 2-theta(max) to *.ffo despite partial lack of observed intensities.\n") 
-Out_String("   MEP = 0! No integrated intensities are improved by the maximum-entropy Patterson method.\n") 
-Out_String("   MEP = 1: Integrated intensities are improved by the maximum-entropy Patterson method.\n") 
-Out_String("   If MEP = 1 then\n") 
-atom_out phasename##.ins append 
-               load out_record out_fmt out_eqn 
-               {"   |%s| " = Get_From_String(Get(current_atom), atom); 
-               "%5.2f" = Get_From_String(Get(current_atom), num_posns);} 
-out phasename##.ins append 
-Out_String(" /#Fix: Use atom without chemical valence: Fe H O \n") 
-Out_String("      FLAMBDAMEP = 0.005: Initial Lagrange multiplier.\n") 
-Out_String("            TMEP = 0.010: Coefficient$ t$ to adjust the Lagrangian multiplier.\n") 
-Out_String("      ISCIOMEP = 2832: Coefficient to adjust estimated standard uncertainties.\n") 
-Out_String("      MAXITERMEP = 99999: Maximum number of MEP iterations.\n") 
-Out_String("   end if\n") 
-Out_String("end if\n") 
-Out_String("! Least-squares method\n") 
-Out_String("NLESQ = 0: Marquardt method (recommended in most cases).\n") 
-Out_String("NLESQ = 1! Gauss-Newton method.\n") 
-Out_String("NLESQ = 2! Conjugate-direction method (stable but very slow).\n") 
-Out_String("NESU = 0: Standard uncertainties are estimated by the conventional method.\n") 
-Out_String("NESU = 1! Standard uncertainties are estimated by Scott|s method.\n") 
-Out_String("Select case NLESQ\n") 
-Out_String("case 0$ 1\n") 
-Out_String("   NAUTO = 0! Refine all the variable parameters simultaneously.\n") 
-Out_String("   NAUTO = 1! Refine incrementally (specify variable parameters in each cycle).\n") 
-Out_String("   NAUTO = 2: Refine incrementally (automatic; recommended in most cases).\n") 
-Out_String("   NAUTO = 3! Same as NAUTO = 2$ checking convergence to the global min.\n") 
-Out_String("   NCYCL = 100: Maximum number of cycles.\n") 
-Out_String("   CONV = 0.0001: Small positive number used for convergence criteria.\n") 
-Out_String("   NCONV = 6: Number of cycles used for convergence criteria.\n") 
-Out_String("   NC = 0: No nonlinear restraints are imposed on geometric parameters.\n") 
-Out_String("   NC = 1! Nonlinear restraints are imposed on geometric parameters.\n") 
-Out_String("   TK = 650.0: Penalty parameter in Marquardt method.\n") 
-Out_String("   FINC = 2.0: Factor to scale TK when TK is increased in Marquardt method.\n") 
-Out_String("   Select case NAUTO\n") 
-Out_String("   case 1\n") 
-Out_String("      Parameters refined in each cycle {\n") 
-Out_String("      BKGD$1 BKGD$2 BKGD$3 BKGD$4 BKGD$5 BKGD$6 BKGD$7 BKGD$8 BKGD$9 BKGD$10\n") 
-Out_String("      SCALE$1 /\n") 
-Out_String("      CELLQ$1 CELLQ$3 /\n") 
-Out_String("      } End of inputs for numbers of refinable parameters.\n") 
-Out_String("   case 3\n") 
-Out_String("      MITER = 4: Maximum number of iterations.\n") 
-Out_String("      STEP = 0.02: Coefficient to calculate the initial step interval.\n") 
-Out_String("      ACC = 1.0E-6: Small positive number used for convergence criteria.\n") 
-Out_String("   end select\n") 
-Out_String("case 2\n") 
-Out_String("   MITER = 4: Maximum number of iterations.\n") 
-Out_String("   STEP = 0.02: Coefficient to calculate the initial step interval.\n") 
-Out_String("   ACC = 1.0E-6: Small positive number used for convergence criteria.\n") 
-Out_String("   NC = 0: No nonlinear restraints are imposed on geometric parameters.\n") 
-Out_String("   NC = 1! Nonlinear restraints are imposed on geometric parameters.\n") 
-Out_String("   TK = 650.0: Penalty parameter.\n") 
-Out_String("end select\n") 
-Out_String("If NC = 0 or NMODE <> 0 then\n") 
-Out_String("   Go to *Update\n") 
-Out_String("end if\n") 
-Out_String("! Restraints\n") 
-Out_String("LSER = 0: Input site names of bond lengths/angles to restrain.\n") 
-Out_String("LSER = 1! Input the order of bond lengths/angles in *.ffe to restrain.\n") 
-Out_String("Select case LSER\n") 
-Out_String("case 0\n") 
-Out_String("   LPAIR = 0: Input no pairs of site names$ |A| and |B|$ for restrained A-B bond lengths.\n") 
-Out_String("   LPAIR = 1! Input pairs of site names$ |A| and |B|$ for restrained A-B bond lengths.\n") 
-Out_String("   LTRIP = 0: Input no triplets of site names$ |A|$ |B|$ and |C|$ for restrained A-B-C bond angles.\n") 
-Out_String("   LTRIP = 1! Input triplets of site names$ |A|$ |B|$ and |C|$ for restrained A-B-C bond angles.\n") 
-Out_String("   If LPAIR = 1 then\n") 
-Out_String("      |A|  |B|  l_min  l_max  l_exp  Allowed dev.  Weight {\n" 
-Out_String("      |P|  |O|  1.3    1.7    1.50   0.08          0.0\n") 
-Out_String("      } End of nonlinear restraints for bond lengths.\n") 
-Out_String("   end if\n") 
-Out_String("   If LTRIP = 1 then\n") 
-Out_String("      |A|  |B|  |C|   phi_min  phi_max  phi_exp  Allowed dev.  Weight {\n") 
-Out_String("      |O|  |P|  |O|   99.47    119.47   109.47   6.0           0.0\n") 
-Out_String("      } End of nonlinear restraints for bond angles.\n") 
-Out_String("   end if\n") 
-Out_String("case 1\n") 
-Out_String("   Ser. No.  Exp. value  Allowed dev.  Weight {\n") 
-Out_String("   } End of nonlinear restraints on bond lengths/angles.\n") 
-Out_String("end select\n") 
-Out_String("LQUART = 0: Input no quartets of atoms related to restrained torsion angles.\n") 
-Out_String("LQUART = 1! Input quartets of atoms related to restrained torsion angles.\n") 
-Out_String("If LQUART = 1 then\n") 
-Out_String("   {\n") 
-Out_String("        O1  O  0.48563  1.16145  0.75000 ( 0, 1, 1)+ y$ -x+y$ -z\n") 
-Out_String("        O3  O  0.25697  0.91812  0.93008 ( 0, 1, 1)+ y$ -x+y$ -z\n") 
-Out_String("        O3  O  0.25697  0.91812  0.56992 ( 0, 1, 0)+ y$ -x+y$ z+1/2\n") 
-Out_String("        O2  O  0.46981  0.87819  0.75000 ( 0, 1, 1)+ y$ -x+y$ -z\n") 
-Out_String("   71.0          0.2            0.015\n") 
-Out_String("   } End of nonlinear restraints on torsion angles.\n") 
-Out_String("end if\n") 
-Out_String("*Update\n") 
-Out_String("! Update of *.ins\n") 
-Out_String("NUPDT = 0: refinable parameters (ID = 1$ 2) in this file remain unchanged.\n") 
-Out_String("NUPDT = 1! refinable parameters (ID = 1$ 2) are updated in the packing mode.\n") 
-Out_String("*Graphs\n") 
-Out_String("! Graphs\n") 
-Out_String("NPAT = 1: Output gnuplot files$ *.plt and *.gpd$ to plot a graph.\n") 
-Out_String("NPAT = 2! Output an Igor text file$ *.itx$ to plot a graph.\n") 
-Out_String("NPAT = 3! Output a RietPlot file$ *.itx$ to plot a graph (obselete).\n") 
-Out_String("If NMODE <> 1 then\n") 
-Out_String("   Select case NPAT\n") 
-Out_String("   case 1\n") 
-Out_String("  ! Gnuplot\n") 
-Out_String("      INDREF = 0: Output no profile intensities of individual reflections.\n") 
-Out_String("      INDREF = 1! Output profile intensities of individual reflections.\n") 
-Out_String("      LBG = 0! Plot no background.\n") 
-Out_String("      LBG = 1: Plot the background.\n") 
-Out_String("      LRES = 0: Plot Delta_y = (observed intensity - calculated intensity).\n") 
-Out_String("      LRES = 1! Plot Delta_y/(standard uncertainty).\n") 
-Out_String("      LRES = 2! Plot [Delta_y/(observed intensity)]/(standard uncertainty).\n") 
-Out_String("       WIDTH = 24.5: Width/cm of the graph.\n") 
-Out_String("      HEIGHT = 13.0: Height/cm of the graph.\n") 
-Out_String("      YMIN = -2000: Minimum value for the y axis.\n") 
-Out_String("      YMAX = 10000: Maximum value for the y axis.\n") 
-Out_String("      YINC =  2000: Increment for ticks on the y axis.\n") 
-Out_String("      IVSIZE = 15: Size of numerical values for the x and y axes.\n") 
-Out_String("      ILSIZE = 17: Size of labels for axes.\n") 
-Out_String("      PSIZE = 0.35: Size of |+| marks representing observed intensities.\n") 
-Out_String("      TSIZE = 0.90: Length (in percent of the y-axis length) of tick marks to show peak positions.\n") 
-Out_String("      OFFSETD = -800: Offset for the residual curve.\n") 
-Out_String("      OFFSET1 = -500: Offset (nonzero) for tick marks (peak positions) for phase No. 1.\n") 
-Out_String("      / # Place |/| if the number of phases whose offsets are input is less than 16.\n") 
-Out_String("      MSCS = 0! No commands to draw a Williamson-Hall or Halder-Wagner plot are appended to *.plt.\n") 
-Out_String("      MSCS = 1! Commands to draw a Williamson-Hall plot are appended to *.plt as comment lines.\n") 
-Out_String("      MSCS = 2: Commands to draw a Halder-Wagner plot are appended to *.plt as comment lines.\n") 
-Out_String("      POWER = 2.0: n in [beta(sample)]**n = [beta(obs)]**n - [beta(instr)]**n.\n") 
-Out_String("   case 2\n") 
-Out_String("  ! Igor Pro\n") 
-Out_String("      IWIDTH = 800: Width of the graph.\n") 
-Out_String("      IHEIGHT = 400: Height of the graph.\n") 
-Out_String("      IYMIN = -2500: Minimum value for the y axis (default for zero).\n") 
-Out_String("      IYMAX = 20000: Maximum value for the y axis (default for zero).\n") 
-Out_String("      LBG = 0: Do not plot the background.\n") 
-Out_String("      LBG = 1! Plot the background.\n") 
-Out_String("      LDEL = 0: Plot Delta_y = (observed intensity - calculated intensity).\n") 
-Out_String("      LDEL = 1! Plot Delta_y/(standard uncertainty).\n") 
-Out_String("      LDEL = 2! Plot [Delta_y/(observed intensity)]/(standard uncertainty).\n") 
-Out_String("      IOFFSETD = -1500: Offset for the residual curve.\n") 
-Out_String("      IPSIZE = 3: Length of tick marks to show peak positions.\n") 
-Out_String("      IFSIZE = 12: Size of numerical values attached to the x and y axes.\n") 
-Out_String("      ILSIZE = 14: Size of labels for axes.\n") 
-Out_String("      INDREF = 0: Do not output waves xrefl or yrefl.\n") 
-Out_String("      INDREF = 1! The profile of each reflection is output to waves xrefl and yrefl.\n") 
-Out_String("      IOFFSET1 = -300: Offset for tick marks (peak positions) for the first phase.\n") 
-Out_String("      / # Place |/| if the number of phases whose offsets are input is less than 16.\n") 
-Out_String("   end select\n") 
-Out_String("else\n") 
-Out_String("   Select case NPAT\n") 
-Out_String("  ! Simulation\n") 
-Out_String("   case 1\n") 
-Out_String("      WIDTH = 24.5: Width/cm of the graph.\n") 
-Out_String("      HEIGHT = 12.0: Height/cm of the graph.\n") 
-Out_String("      IVSIZE = 15: Size of numerical values for the x and y axes.\n") 
-Out_String("      ILSIZE = 17: Size of labels for axes.\n") 
-Out_String("   case 2\n") 
-Out_String("      IWIDTH = 800: Width of the graph.\n") 
-Out_String("      IHEIGHT = 400: Height of the graph.\n") 
-Out_String("      LBG = 0: Plot no background (fixed).\n") 
-Out_String("      IPSIZE =  3: Length of tick marks (peak positions).\n") 
-Out_String("      IFSIZE = 12: Size of numerical values attached to the x and y axes.\n") 
-Out_String("      ILSIZE = 14: Size of labels for axes.\n") 
-Out_String("   end select\n") 
-Out_String("end if\n") 
-Out_String("! *.inflip & *.exp\n") 
-Out_String("If NMODE <> 1 and NMODE <> 6 then\n") 
-Out_String("   NCF = 0: No input file$ *.inflip$ of superflip is output for charge flipping.\n") 
-Out_String("   NCF = 1! An input file$ *.inflip$ of superflip is output for charge flipping.\n") 
-Out_String("   If NCF = 1 then\n") 
-Out_String("      COMPOSCF = |Ca10 P6 O24 F2|: String following |composition| (CHARACTER*100)\n") 
-Out_String("   end if\n") 
-Out_String("end if\n") 
-Out_String("If NMODE = 4 or NMODE = 5 then\n") 
-Out_String("   NEXPO = 0! No input file$ *.exp$ of EXPO is output for buidling a structural model.\n") 
-Out_String("   NEXPO = 1: An input file$ *.exp$ of EXPO is output for buidling a structural model.\n") 
-Out_String("   If NEXPO = 1 then\n") 
-Out_String("      CONTENTEXP = |Ca 10 P 6 O 24 F 2|: String following |content| in *.exp (CHARACTER*100)\n") 
-Out_String("   end if\n") 
-Out_String("end if\n") 
-Out_String("Select case NMODE\n") 
-Out_String("case 0$ 1\n") 
-Out_String("case 2$ 3\n") 
-Out_String("  Go to *MEM\n") 
-Out_String("case 4-6\n") 
-Out_String("  Go to *Quit\n") 
-Out_String("end select\n") 
-Out_String("! Bond lengths and angles\n") 
-Out_String("NDA = 0: No file is output which store ORFFE data.\n") 
-Out_String("NDA = 1! *.xyz for ORFFE is output for the first phase.\n") 
-Out_String("If NDA > 0 then\n") 
-Out_String("ORFFE functions start {\n") 
-Out_String("#        1                                                         8\n") 
-Out_String("#2345678901234567890123456789012345678901234567890123456789012345678901234567890\n") 
-Out_String("  201    7                  31\n") 
-Out_String("} End of ORFFE functions.\n") 
-Out_String("end if\n") 
-Out_String("If NMODE = 1 then\n") 
-Out_String("   Go to *Quit\n") 
-Out_String("end if\n") 
-Out_String("NFR = 0: No file is output for Fourier/D synthesis.\n") 
-Out_String("NFR = 1! *.hkl for Fourier/D synthesis is output for the first phase.\n") 
-Out_String("If NFR = 1 then\n") 
-Out_String("   TSCAT = 500.0: Total number of electrons (X-ray) or sum of b_c (N).\n") 
-Out_String("end if\n") 
-Out_String("*MEM\n") 
-Out_String("! MEM analysis\n") 
-Out_String("NMEM = 0! No file is output for MEM analysis.\n") 
-Out_String("NMEM = 1: *.fos for MEM analysis is output for the first phase.\n") 
-Out_String("If NMEM = 1 then\n") 
-Out_String("   LANOM = 0: Calculate esu from I without contributions of anomalous dispersion\n") 
-Out_String("   LANOM = 1! Calculate esu from I with contributions of anomalous dispersion\n") 
-Out_String("   LGR = 0: All the reflections are output independently (should be fixed at 0).\n") 
-Out_String("   LGR = 1! Reflections overlapped heavily are output as a group.\n") 
-Out_String("   LFOFC = 0: Using calculated Fo based on Rietveld refinement.\n") 
-Out_String("   LFOFC = 1! Using Fcal (dependent on the model) in Rietveld refinement.\n") 
-Out_String("   EPSD = 0.001: Maximum difference in d/Angstrom in grouped reflections.\n") 
-Out_String("   TSCAT1 = 500.0: Total number of electrons (XRD) or sum of positive b_c (ND).\n") 
-Out_String("   TSCAT2 = 0.0: Zero (XRD) or sum of negative b_c (ND).\n") 
-Out_String("end if\n") 
-Out_String("*Quit\n") 
  
  
 +<code topas>
 +/* this is a comment */
 +' this is a quotation comment
 +   TOF_XYE....
 +    local !two_theta 145
 +    local !Lf 25
 +    local mu 0 min 0
 +    Abs_Lobanov
  
 +   TOF_XYE....
 +    local !two_theta 90
 +    local !Lf 26
 +    local mu 0 min 0
 +    Abs_Lobanov
 +    
  
-  +    macro Abs_Lobanov   
 +    { 
 +    prm !Lf 60.183 /* POWGEN 90 degree flightpath */ 
 +    prm !h_bar 6.626176e-34 /* Plank's constant */ 
 +    prm !m_n 1.67495e-27 /* neutron mass */ 
 +    prm !td_const = 10^4 h_bar/(m_n Lf); 
 +    local !sintheta = Sin(Deg_on_2 two_theta); 
 +    local !lambda = Xo 10^4 h_bar/(m_n Lf); 
 +    local !k0 = 1.697653; 
 +    local !k1 = (25.99978 - (0.01911 sintheta^0.5)Exp(-0.024514 sintheta^2)) + 0.109561 sintheta - 26.0456; 
 +    local !k2 = -0.02489 - (0.39499 sintheta^2) + (1.219077 sintheta^3) - (1.31268 sintheta^4) + (0.871081 sintheta^5) - (0.2327 sintheta^6); 
 +    local !k3 = 0.003045 + (0.018167 sintheta^2) - (0.03305 sintheta^4); 
 +    local !k4 = 1.433902 + (11.07504 sintheta^2) - (8.77629 sintheta^4) + (10.02088 sintheta^6) - (3.36778 sintheta^8); 
 +    local !k5 = ((0.013869 - 0.01249 sintheta^2)Exp(3.27094 sintheta^2)) + ((0.337894 + (13.77317 sintheta^2))/((1 + 11.53544 sintheta^2)^1.555039)); 
 +    local !k6 = (1.933433 / (1 + 23.12967 sintheta^2)^1.686715) - 0.13576 sintheta + 1.163198; 
 +    local !k7 = 0.044365 - (0.04259/((1 + 0.41051 sintheta^2)^148.4202)); 
 +    scale_pks = If( (mu*lambda) < 3, Exp(-k0 (mu*lambda) - k1 (mu*lambda)^2 - k2 (mu*lambda)^3 - k3 (mu*lambda)^4), 
 + Exp((k4 - k7/(1 + k5 ((mu*lambda)-3))^k6)+k7) 
 + );  
 +    } 
 +</code>
playground/playground.1685970665.txt.gz · Last modified: 2023/06/05 13:11 by johnsoevans