Lattice


class description - source file - inheritance tree

class Lattice

    private:
void PrecalculateDistances() public:
Lattice Lattice() Lattice Lattice(const int Na, const int Nb, const int Nc) Lattice Lattice(const Lattice&) virtual void ~Lattice() static TClass* Class() float Distance(const int i, const int j, const int k) const float Distance(const int idx) void FillRandom() float*** Get() const float Geta() const float Getb() const float Getc() const float GetEnergy(int i, int j, int k) const float GetEnergyDifference(int i, int j, int k, int di, int dj, int dk) const int GetNa() const int GetNb() const int GetNc() const virtual TClass* IsA() const void ScaleEnergy(const float sigma) void SetBase(const float a, const float b, const float c) virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b)

Data Members


    protected:
float* fdistances precalculated distances float*** fspace lattice energies float fa float fb float fc base cell size in Angstroms int fNa int fNb int fNc lattice size float fsigma scale of the field, used to set sigma of FillRandom in eV

Class Description

  This class is for use to montecarlo
  simulation of charge particle in a
  disordered molecular crystal

  it contains mechanism to get periodic
  boundary conditions of lattice.

  lattice contains integer coordinates
  base cell size are floats
  working space is by defaults 7x7x7 sites

  Note:
     - no bias here!!! see LSpace
     - 1-based indexes of fspace(3D array)
     - 0-based private index fdistances


 Logs:

  $Log: Lattice.cc,v $
  Revision 1.7  2003/06/26 14:46:16  cvs
  found a bug in LSpace::GetEnergy() with fbias. Bug successfully resolved :)

  Revision 1.6  2003/06/26 11:24:25  cvs
  modified particle moving with LMiki and faster LDisorder operations

  Revision 1.5  2003/06/26 09:27:11  cvs
  added log fields...


Lattice(const int Na,const int Nb,const int Nc)
create float lattice [1..Na][1..Nb][1..Nc] in memory with nrc f3tensor
base cell size is 1x1x1

~Lattice()
destroy Lattice and particles and free memory space

void SetBase(const float a,const float b,const float c)
Set lattice base cell size

void FillRandom()
fill fspace with normal energy distribution of sigma=unity
use ScaleEnergy() to get diferent sigma

void ScaleEnergy(const float sigma)
scale energy values
sigma in eV!!!

float Distance(const int i,const int j,const int k) const
Calculates distance from the given lattice vector
this method has no control about limits since it
 is intended to be used with small values.

float Distance(const int idx)
return distance from the given lattice index
 is intended to be used with LDisorder::Step.

void PrecalculateDistances()
precalculates distances to speed up the calculation
index is calculated as in LDisorder::Step
WARNING!!!
set parameters here regarding LDisorder::SetWSpace
working space for example 7x7x7

float GetEnergy(int i,int j,int k) const
return the energy of the lattice at the current position.
periodic boundary condition is used
Details:
     This procedure returns the i,j,k is centered in the sublattice fWa,fWb,fWc
     of latice fspace and periodic boudary condition is included

float GetEnergyDifference(int i,int j,int k,int di,int dj,int dk) const
return the energy difference of the latice at the i,j,k position (e1) and
the lattice site in the i+di,j+dj,k+dk position (e2)
 de=e2-e1
calls GetEnergy()
it is not faster than two GetEnergy()



Inline Functions


            Lattice Lattice(const int Na, const int Nb, const int Nc)
           float*** Get() const
                int GetNa() const
                int GetNb() const
                int GetNc() const
              float Geta() const
              float Getb() const
              float Getc() const
            TClass* Class()
            TClass* IsA() const
               void ShowMembers(TMemberInspector& insp, char* parent)
               void Streamer(TBuffer& b)
               void StreamerNVirtual(TBuffer& b)
            Lattice Lattice(const Lattice&)


Author: Egon Pavlica
Last update: Sat Oct 16 19:10:33 2004


ROOT page - Class index - Top of the page

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.