Class NMRCalculation

    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static double DIPOLAR_FACTOR  
      private static double e_charge  
      private static double h_bar_planck  
      private static double h_planck  
      private java.util.Map<java.lang.String,​double[]> isotopeData
      isotopeData keyed by nnnSym, for example: 1H, 19F, etc.; and also by element name itself: H, F, etc., for default
      private static double J_FACTOR  
      private static int MAGNETOGYRIC_RATIO  
      private static double Q_FACTOR  
      private static int QUADRUPOLE_MOMENT  
      private static java.lang.String resource
      NOTE! Do not change this txt file! Instead, edit trunk/Jmol/_documents/nmr_data.xls and then clip its contents to org/jmol/quantum/nmr_data.txt.
      private java.util.Map<java.lang.String,​java.lang.Float> shiftRefsPPM  
      private Viewer vwr  
    • Constructor Summary

      Constructors 
      Constructor Description
      NMRCalculation()  
    • Field Detail

      • isotopeData

        private java.util.Map<java.lang.String,​double[]> isotopeData
        isotopeData keyed by nnnSym, for example: 1H, 19F, etc.; and also by element name itself: H, F, etc., for default
      • resource

        private static final java.lang.String resource
        NOTE! Do not change this txt file! Instead, edit trunk/Jmol/_documents/nmr_data.xls and then clip its contents to org/jmol/quantum/nmr_data.txt.
        See Also:
        Constant Field Values
      • shiftRefsPPM

        private java.util.Map<java.lang.String,​java.lang.Float> shiftRefsPPM
    • Constructor Detail

      • NMRCalculation

        public NMRCalculation()
    • Method Detail

      • getQuadrupolarConstant

        public float getQuadrupolarConstant​(Tensor efg)
        Description copied from interface: JmolNMRInterface
        Quadrupolar constant, directly proportional to Vzz and dependent on the quadrupolar moment of the isotope considered
        Specified by:
        getQuadrupolarConstant in interface JmolNMRInterface
        Returns:
        float value
      • getInteractionTensorList

        private javajs.util.Lst<Tensor> getInteractionTensorList​(java.lang.String type,
                                                                 BS bsA)
        Returns a list of tensors that are of the specified type and have both atomIndex1 and atomIndex2 in bsA. If there is just one atom specified, then the list is "all tensors involving this atom". We have to use atom sites, because interaction tensors are not duplicated.
        Parameters:
        type -
        bsA -
        Returns:
        list of Tensors
      • getAtomSiteBS

        private BS getAtomSiteBS​(BS bsA)
        Interaction tensors are not repeated for every possible combination. They are just for the base atom set. These are identified as a.atomIndex == models[b.modelIndex].firstAtomIndex + b.atomSite - 1
        Parameters:
        bsA -
        Returns:
        new bs in terms of atom sites
      • getJCouplingHz

        public float getJCouplingHz​(Atom a1,
                                    Atom a2,
                                    java.lang.String type,
                                    Tensor isc)
      • getIsoOrAnisoHz

        public float getIsoOrAnisoHz​(boolean isIso,
                                     Atom a1,
                                     Atom a2,
                                     java.lang.String type,
                                     Tensor isc)
        Description copied from interface: JmolNMRInterface
        If t is null, then a1, a2, and type are used to find the appropriate tensor.
        Specified by:
        getIsoOrAnisoHz in interface JmolNMRInterface
        Returns:
        0 if not found
      • getISCtype

        private java.lang.String getISCtype​(Atom a1,
                                            java.lang.String type)
      • getIsotopeData

        private double getIsotopeData​(Atom a,
                                      int iType)
        Get magnetogyricRatio (gamma/10^7 rad s^-1 T^-1) and quadrupoleMoment (Q/10^-2 fm^2) for a given isotope or for the default isotope of an element.
        Parameters:
        a -
        iType -
        Returns:
        g or Q
      • getData

        private void getData()
        Creates the data set necessary for doing NMR calculations. Values are retrievable using getProperty "nmrInfo" "Xx"; each entry is float[+/-isotopeNumber, g, Q], where [0] < 0 for the default value.
      • getInfo

        public java.lang.Object getInfo​(java.lang.String what)
        Specified by:
        getInfo in interface JmolNMRInterface
        Parameters:
        what - "C" or "14C" or "all"
        Returns:
        list of double[isotopeNumber,g,Q] if no isotope number is given, or a single double[] if it does.
      • getChemicalShift

        public float getChemicalShift​(Atom atom)
        Description copied from interface: JmolNMRInterface
        If shift reference has not been set, it defaults to 0 and just displays the negative of magnetic shielding
        Specified by:
        getChemicalShift in interface JmolNMRInterface
        Returns:
        value
      • getTensorInfo

        public javajs.util.Lst<java.lang.Object> getTensorInfo​(java.lang.String tensorType,
                                                               java.lang.String infoType,
                                                               BS bs)
        Specified by:
        getTensorInfo in interface JmolNMRInterface