src/IntRank2/SolidSys.cc
/* The functions in this section provide access to the electron G interactions
   in the system.

           Input                ssys    : Solid spin system
                                sI      : Spin I of spin system [0, nspins-1]
                                val     : Electron G interaction value
                                          <=0: DCC coupling of spin (Hertz)
                                            1: Asymmetry [0, 1]
                                            2: Theta (degrees, down from +z)
                                            3: Phi   (degrees, over from +z)
           Output               none    : Get/Set dipolar interaction value
                                          for spicified spin pair

    Function  Arguments                        Result
    ========  =========  ======================================================
      GCC      i,dcc     Sets the electron G coupling constant to dcc (Hz)
      GCC        i       Returns the electron G coupling constant to dcc (Hz)
     Gdelz     i,dcc     Sets the electron G coupling constant to dcc (Hz)
     Gdelz       i       Returns the electron G coupling constant to dcc (Hz)
      GEta     i,dcc     Sets the electron G interaction asymmetry [0, 1]
      GEta       i       Returns the electron G interaction asymmetry [0,1]
     GTheta    i,the     Sets the electron G interaction theta orientation (deg)
     GTheta      i       Returns the electron G interaction theta orientat. (deg)
      GPhi     i,phi     Sets the electron G interaction phi orientation (deg)
      GPhi       i       Returns the electron G interaction phi orientat. (deg)
      IntG       i       Returns the rank 2 electron G interaction for spin i
     IntGVec             Returns a vector of all system electron G interactions
*/
The functions in this section provide access to the electron G interactions
in the system.



Function  Arguments                        Result

GCC      i,dcc     Sets the electron G coupling constant to dcc (Hz)
GCC        i       Returns the electron G coupling constant to dcc (Hz)
Gdelz     i,dcc     Sets the electron G coupling constant to dcc (Hz)
Gdelz       i       Returns the electron G coupling constant to dcc (Hz)
GEta     i,dcc     Sets the electron G interaction asymmetry [0, 1]
GEta       i       Returns the electron G interaction asymmetry [0,1]
GTheta    i,the     Sets the electron G interaction theta orientation (deg)
GTheta      i       Returns the electron G interaction theta orientat. (deg)
GPhi     i,phi     Sets the electron G interaction phi orientation (deg)
GPhi       i       Returns the electron G interaction phi orientat. (deg)
IntG       i       Returns the rank 2 electron G interaction for spin i
IntGVec             Returns a vector of all system electron G interactions
The functions in this section provide access to the electron G interactions in the system . Function Arguments Result GCC i dcc Sets the electron G coupling constant to dcc ( Hz ) GCC i Returns the electron G coupling constant to dcc ( Hz ) Gdelz i dcc Sets the electron G coupling constant to dcc ( Hz ) Gdelz i Returns the electron G coupling constant to dcc ( Hz ) GEta i dcc Sets the electron G interaction asymmetry [ 0 1 ] GEta i Returns the electron G interaction asymmetry [ 0 1 ] GTheta i the Sets the electron G interaction theta orientation ( deg ) GTheta i Returns the electron G interaction theta orientat . ( deg ) GPhi i phi Sets the electron G interaction phi orientation ( deg ) GPhi i Returns the electron G interaction phi orientat . ( deg ) IntG i Returns the rank 2 electron G interaction for spin i IntGVec Returns a vector of all system electron G interactions
void solid_sys::GValue(int sI, double val, int type)
  {
  if(!check_spin(sI)) ssys_fatal(1);	 	
  if(type<=0 && Gvec[sI].Izval()<0.5)		
    { 						
    Gvec(sI) = IntG(qn(sI), val);
    return;
    }
  switch(type)
    {
    default:
    case 1: Gvec[sI].eta(val);   break;        
    case 2: Gvec[sI].theta(val); break;        
    case 3: Gvec[sI].phi(val);   break;        
    }
  }
void solid_sys :: GValue ( int sI , double val , int type ) { if ( ! check_spin ( sI ) ) ssys_fatal ( 1 ) ; if ( type <= 0 && Gvec [ sI ] . Izval ( ) < 0.5 ) { Gvec ( sI ) = IntG ( qn ( sI ) , val ) ; return ; } switch ( type ) { default : case 1 : Gvec [ sI ] . eta ( val ) ; break ; case 2 : Gvec [ sI ] . theta ( val ) ; break ; case 3 : Gvec [ sI ] . phi ( val ) ; break ; } }
The functions in this section provide access to the electron G interactions
in the system.
The functions in this section provide access to the electron G interactions in the system .
// Check that spin exists //  if(!Gvec[sI].delz() && type>0)		// Can't set these values //    ssys_fatal(30);				// unless delzz is non-zero // If setting delzz & no G int. // construct a brand new one //    case 0: Gvec[sI].delz(val);  break;        // Here for delz // Here for asymmetry // Here for theta // Here for phi