NAMD
Public Member Functions | List of all members
AForcingAngleRestraint Class Reference

#include <FreeEnergyRestrain.h>

Inheritance diagram for AForcingAngleRestraint:
AnAngleRestraint ARestraint

Public Member Functions

void SetStartAngle (double Angle)
 
void SetStopAngle (double Angle)
 
double GetStartAngle ()
 
double GetStopAngle ()
 
double GetEnergy ()
 
AVector GetGradient (int WhichGroup)
 
double Get_dU_dLambda ()
 
Bool_t IsForcing ()
 
void GetStr (char *Str)
 
double GetAngleTarget ()
 
- Public Member Functions inherited from AnAngleRestraint
 AnAngleRestraint ()
 
void PrintInfo ()
 
- Public Member Functions inherited from ARestraint
 ARestraint ()
 
virtual ~ARestraint ()
 
int GetNumGroups ()
 
void SetKf (double Kf)
 
double GetKf ()
 
void SetLambdaKf (double LambdaKf)
 
void SetLambdaRef (double LambdaRef)
 
double GetLambdaKf ()
 
double GetLambdaRef ()
 
void SetGroup (AGroup &Group, int GroupIndex)
 
void SetGroups (AGroup &Group1)
 
void SetGroups (AGroup &Group1, AGroup &Group2)
 
void SetGroups (AGroup &Group1, AGroup &Group2, AGroup &Group3)
 
void SetGroups (AGroup &Group1, AGroup &Group2, AGroup &Group3, AGroup &Group4)
 
void UpdateCOMs (GlobalMasterFreeEnergy &CFE)
 
void DistributeForce (int WhichGroup, AVector Force, GlobalMasterFreeEnergy &CFE)
 
virtual void SetRefPos (AVector)
 
virtual void SetRefDist (double)
 
virtual void SetRefAngle (double)
 
virtual void SetBound (Bound_t)
 
virtual void SetLowerAngle (double)
 
virtual void SetUpperAngle (double)
 
virtual void SetIntervalAngle (double)
 
virtual void SetStartPos (AVector)
 
virtual void SetStopPos (AVector)
 
virtual void SetStartDist (double)
 
virtual void SetStopDist (double)
 

Additional Inherited Members

- Protected Member Functions inherited from AnAngleRestraint
double GetE (double RefAngle, double LambdaKf=1.0)
 
AVector GetGrad (int WhichGroup, double RefAngle, double LambdaKf=1.0)
 
- Protected Member Functions inherited from ARestraint
double GetAngle (AVector &A, AVector &B, AVector &C)
 
double GetDihe (AVector &A, AVector &B, AVector &C, AVector &D)
 
void EarlyExit (const char *Str, int AtomID)
 
- Protected Attributes inherited from ARestraint
double m_Kf
 
int m_NumGroups
 
AGroupm_pGroups
 
AVectorm_pCOMs
 
- Static Protected Attributes inherited from ARestraint
static double m_LambdaKf = 1.0
 
static double m_LambdaRef = 0.0
 

Detailed Description

Definition at line 345 of file FreeEnergyRestrain.h.

Member Function Documentation

double AForcingAngleRestraint::Get_dU_dLambda ( )
virtual

Reimplemented from ARestraint.

Definition at line 986 of file FreeEnergyRestrain.C.

References ARestraint::GetAngle(), ARestraint::m_Kf, ARestraint::m_LambdaKf, ARestraint::m_LambdaRef, and ARestraint::m_pCOMs.

986  {
987 //---------------------------------------------------------------------------
988 // return dU/dLambda for this forcing angle restraint
989 //---------------------------------------------------------------------------
990  double Angle;
991  double RefAngle;
992 
993  Angle = GetAngle(m_pCOMs[0], m_pCOMs[1], m_pCOMs[2]);
994  RefAngle = m_StopAngle*m_LambdaRef + m_StartAngle*(1.0-m_LambdaRef);
995  return( m_Kf * m_LambdaKf * (Angle-RefAngle)*(m_StartAngle-m_StopAngle) );
996 }
struct angle Angle
double GetAngle(AVector &A, AVector &B, AVector &C)
static double m_LambdaRef
static double m_LambdaKf
AVector * m_pCOMs
double AForcingAngleRestraint::GetAngleTarget ( )
inlinevirtual

Implements AnAngleRestraint.

Definition at line 364 of file FreeEnergyRestrain.h.

References ARestraint::m_LambdaRef.

364  {
365  return(m_StopAngle*m_LambdaRef + m_StartAngle*(1.0-m_LambdaRef));
366  }
static double m_LambdaRef
double AForcingAngleRestraint::GetEnergy ( )
virtual

Implements ARestraint.

Definition at line 964 of file FreeEnergyRestrain.C.

References AnAngleRestraint::GetE(), ARestraint::m_LambdaKf, and ARestraint::m_LambdaRef.

964  {
965 //---------------------------------------------------------------------------
966 // return the Energy for this forcing angle restraint.
967 //---------------------------------------------------------------------------
968  double RefAngle;
969 
970  RefAngle = m_StopAngle*m_LambdaRef + m_StartAngle*(1.0-m_LambdaRef);
971  return(GetE(RefAngle, m_LambdaKf));
972 }
double GetE(double RefAngle, double LambdaKf=1.0)
static double m_LambdaRef
static double m_LambdaKf
AVector AForcingAngleRestraint::GetGradient ( int  WhichGroup)
virtual

Implements ARestraint.

Definition at line 975 of file FreeEnergyRestrain.C.

References AnAngleRestraint::GetGrad(), ARestraint::m_LambdaKf, and ARestraint::m_LambdaRef.

975  {
976 //---------------------------------------------------------------------------
977 // return the gradient for this forcing angle restraint.
978 //---------------------------------------------------------------------------
979  double RefAngle;
980 
981  RefAngle = m_StopAngle*m_LambdaRef + m_StartAngle*(1.0-m_LambdaRef);
982  return(GetGrad(WhichGroup, RefAngle, m_LambdaKf));
983 }
AVector GetGrad(int WhichGroup, double RefAngle, double LambdaKf=1.0)
static double m_LambdaRef
static double m_LambdaKf
double AForcingAngleRestraint::GetStartAngle ( )
inline

Definition at line 355 of file FreeEnergyRestrain.h.

355 {return(m_StartAngle);}
double AForcingAngleRestraint::GetStopAngle ( )
inline

Definition at line 356 of file FreeEnergyRestrain.h.

356 {return(m_StopAngle);}
void AForcingAngleRestraint::GetStr ( char *  Str)
inlinevirtual

Implements ARestraint.

Definition at line 361 of file FreeEnergyRestrain.h.

361  {
362  strcpy(Str, "Forcing Angle Restraint");
363  }
Bool_t AForcingAngleRestraint::IsForcing ( )
inlinevirtual

Reimplemented from ARestraint.

Definition at line 360 of file FreeEnergyRestrain.h.

References kTrue.

360 {return(kTrue);}
void AForcingAngleRestraint::SetStartAngle ( double  Angle)
inlinevirtual

Reimplemented from ARestraint.

Definition at line 353 of file FreeEnergyRestrain.h.

353 {m_StartAngle=Angle;}
struct angle Angle
void AForcingAngleRestraint::SetStopAngle ( double  Angle)
inlinevirtual

Reimplemented from ARestraint.

Definition at line 354 of file FreeEnergyRestrain.h.

354 {m_StopAngle=Angle;}
struct angle Angle

The documentation for this class was generated from the following files: