Rosetta
Public Member Functions | Private Attributes | List of all members
core::energy_methods::ImplicitMembraneCoulomb Class Reference

Minimal class for computing the depth- and membrane-dependent electrostatics energy. More...

#include <ImplicitMembraneCoulomb.hh>

Inheritance diagram for core::energy_methods::ImplicitMembraneCoulomb:
Inheritance graph
[legend]

Public Member Functions

 ImplicitMembraneCoulomb ()
 Default constructor. More...
 
 ImplicitMembraneCoulomb (ImplicitMembraneCoulomb const &src)
 Copy constructor. More...
 
 ~ImplicitMembraneCoulomb () override
 Destructor. More...
 
ImplicitMembraneCoulombOP clone () const
 Clone operation: make a copy of this object, and return an owning pointer to the copy. More...
 
void initialize ()
 Initialize max distance and coulomb constants. More...
 
core::Real compute_depth_and_bilayer_dep_dielectric (core::Real const fi, core::Real const fj, core::Real const d) const
 Compute depth- and bilayer-dependent dielectric constant. More...
 
core::Real sigmoidal_eps (core::Real const sigmoid_D0, core::Real const sigmoid_D, core::Real const sigmoid_s, core::Real const d) const
 Compute the distance dependent sigmoid function. More...
 
core::Real sigmoidal_deps_dr (core::Real const sigmoid_D0, core::Real const sigmoid_D, core::Real const sigmoid_s, core::Real const d) const
 
core::Real compute_deps_dr (core::Real const fi, core::Real const fj, core::Real const d) const
 Compute the derivative of depth- and bilayer-dependent dielectric. More...
 
core::Real eval_atom_atom_fa_elecE (core::Vector const &i_xyz, core::Real const i_charge, core::Real const i_hyd, core::Vector const &j_xyz, core::Real const j_charge, core::Real const j_hyd) const
 Evaluate atom pair electrostatics energy (pass through) More...
 
core::Real eval_atom_atom_fa_elecE (core::Vector const &i_xyz, core::Real const i_charge, core::Real const i_hyd, core::Vector const &j_xyz, core::Real const j_charge, core::Real const j_hyd, DistanceSquared &d2) const
 Evaluate atom pair electrostatics energy. More...
 
core::Real eval_dfa_elecE_dr_over_r (core::Real const dis2, core::Real const q1, core::Real const q2, core::Real const i_hyd, core::Real const j_hyd) const
 Get the key numeric value for derivative calculations. More...
 
core::Vector eval_dfa_elecE_df (core::Real const dis2, core::Real const q1, core::Real const q2, core::Real const i_hyd, core::Real const j_hyd, core::Vector const di_hyd_df, core::Vector const dj_hyd_df) const
 Get the key numeric value for derivative calculations i.e. the derivative of energy with respect to membrane depth. More...
 
numeric::CubicPolynomial compute_hipoly (core::Real const fi, core::Real const fj) const
 
numeric::CubicPolynomial compute_lowpoly (core::Real const fi, core::Real const fj) const
 
core::Real compute_min_dis_score (core::Real const fi, core::Real const fj) const
 

Private Attributes

core::Real max_dis_
 
core::Real max_dis2_
 
core::Real min_dis_
 
core::Real min_dis2_
 
core::Real low_poly_start_
 
core::Real low_poly_start2_
 
core::Real low_poly_end_
 
core::Real low_poly_end2_
 
core::Real hi_poly_start_
 
core::Real hi_poly_start2_
 
core::Real hi_poly_end_
 
core::Real hi_poly_end2_
 
core::Real C0_
 
core::Real C1_
 
core::Real dEfac_
 

Detailed Description

Minimal class for computing the depth- and membrane-dependent electrostatics energy.

Author
rfalford12 (rfalf.nosp@m.ord1.nosp@m.2@gma.nosp@m.il.c.nosp@m.om)

Constructor & Destructor Documentation

◆ ImplicitMembraneCoulomb() [1/2]

core::energy_methods::ImplicitMembraneCoulomb::ImplicitMembraneCoulomb ( )

Default constructor.

References initialize().

◆ ImplicitMembraneCoulomb() [2/2]

core::energy_methods::ImplicitMembraneCoulomb::ImplicitMembraneCoulomb ( ImplicitMembraneCoulomb const &  src)
default

Copy constructor.

Copy constructor. Keep default unless deep copying is needed (and in that case, consider using DeepCopyOPs.)

◆ ~ImplicitMembraneCoulomb()

core::energy_methods::ImplicitMembraneCoulomb::~ImplicitMembraneCoulomb ( )
override

Destructor.

Member Function Documentation

◆ clone()

ImplicitMembraneCoulombOP core::energy_methods::ImplicitMembraneCoulomb::clone ( ) const

Clone operation: make a copy of this object, and return an owning pointer to the copy.

◆ compute_deps_dr()

core::Real core::energy_methods::ImplicitMembraneCoulomb::compute_deps_dr ( core::Real const  fi,
core::Real const  fj,
core::Real const  d 
) const

Compute the derivative of depth- and bilayer-dependent dielectric.

References sigmoidal_deps_dr().

Referenced by compute_hipoly(), compute_lowpoly(), and eval_dfa_elecE_dr_over_r().

◆ compute_depth_and_bilayer_dep_dielectric()

core::Real core::energy_methods::ImplicitMembraneCoulomb::compute_depth_and_bilayer_dep_dielectric ( core::Real const  fi,
core::Real const  fj,
core::Real const  d 
) const

Compute depth- and bilayer-dependent dielectric constant.

References sigmoidal_eps().

Referenced by compute_hipoly(), compute_lowpoly(), compute_min_dis_score(), eval_atom_atom_fa_elecE(), eval_dfa_elecE_df(), and eval_dfa_elecE_dr_over_r().

◆ compute_hipoly()

numeric::CubicPolynomial core::energy_methods::ImplicitMembraneCoulomb::compute_hipoly ( core::Real const  fi,
core::Real const  fj 
) const

◆ compute_lowpoly()

numeric::CubicPolynomial core::energy_methods::ImplicitMembraneCoulomb::compute_lowpoly ( core::Real const  fi,
core::Real const  fj 
) const

◆ compute_min_dis_score()

core::Real core::energy_methods::ImplicitMembraneCoulomb::compute_min_dis_score ( core::Real const  fi,
core::Real const  fj 
) const

◆ eval_atom_atom_fa_elecE() [1/2]

core::Real core::energy_methods::ImplicitMembraneCoulomb::eval_atom_atom_fa_elecE ( core::Vector const &  i_xyz,
core::Real const  i_charge,
core::Real const  i_hyd,
core::Vector const &  j_xyz,
core::Real const  j_charge,
core::Real const  j_hyd 
) const

Evaluate atom pair electrostatics energy (pass through)

◆ eval_atom_atom_fa_elecE() [2/2]

core::Real core::energy_methods::ImplicitMembraneCoulomb::eval_atom_atom_fa_elecE ( core::Vector const &  i_xyz,
core::Real const  i_charge,
core::Real const  i_hyd,
core::Vector const &  j_xyz,
core::Real const  j_charge,
core::Real const  j_hyd,
DistanceSquared d2 
) const

◆ eval_dfa_elecE_df()

core::Vector core::energy_methods::ImplicitMembraneCoulomb::eval_dfa_elecE_df ( core::Real const  dis2,
core::Real const  q1,
core::Real const  q2,
core::Real const  i_hyd,
core::Real const  j_hyd,
core::Vector const  di_hyd_df,
core::Vector const  dj_hyd_df 
) const

Get the key numeric value for derivative calculations i.e. the derivative of energy with respect to membrane depth.

References C0_, compute_depth_and_bilayer_dep_dielectric(), compute_hipoly(), compute_lowpoly(), hi_poly_start2_, low_poly_end2_, low_poly_start2_, and max_dis2_.

◆ eval_dfa_elecE_dr_over_r()

core::Real core::energy_methods::ImplicitMembraneCoulomb::eval_dfa_elecE_dr_over_r ( core::Real const  dis2,
core::Real const  q1,
core::Real const  q2,
core::Real const  i_hyd,
core::Real const  j_hyd 
) const

Get the key numeric value for derivative calculations.

Get the key numeric value for derivative calculations i.e. the derivative of energy with respect to distance divided by the distance.

References compute_deps_dr(), compute_depth_and_bilayer_dep_dielectric(), compute_hipoly(), compute_lowpoly(), dEfac_, hi_poly_start2_, low_poly_end2_, low_poly_start2_, and max_dis2_.

◆ initialize()

void core::energy_methods::ImplicitMembraneCoulomb::initialize ( )

◆ sigmoidal_deps_dr()

core::Real core::energy_methods::ImplicitMembraneCoulomb::sigmoidal_deps_dr ( core::Real const  sigmoid_D0,
core::Real const  sigmoid_D,
core::Real const  sigmoid_s,
core::Real const  d 
) const

Referenced by compute_deps_dr().

◆ sigmoidal_eps()

core::Real core::energy_methods::ImplicitMembraneCoulomb::sigmoidal_eps ( core::Real const  sigmoid_D0,
core::Real const  sigmoid_D,
core::Real const  sigmoid_s,
core::Real const  d 
) const

Compute the distance dependent sigmoid function.

Referenced by compute_depth_and_bilayer_dep_dielectric().

Member Data Documentation

◆ C0_

core::Real core::energy_methods::ImplicitMembraneCoulomb::C0_
private

◆ C1_

core::Real core::energy_methods::ImplicitMembraneCoulomb::C1_
private

◆ dEfac_

core::Real core::energy_methods::ImplicitMembraneCoulomb::dEfac_
private

◆ hi_poly_end2_

core::Real core::energy_methods::ImplicitMembraneCoulomb::hi_poly_end2_
private

Referenced by initialize().

◆ hi_poly_end_

core::Real core::energy_methods::ImplicitMembraneCoulomb::hi_poly_end_
private

Referenced by compute_hipoly(), and initialize().

◆ hi_poly_start2_

core::Real core::energy_methods::ImplicitMembraneCoulomb::hi_poly_start2_
private

◆ hi_poly_start_

core::Real core::energy_methods::ImplicitMembraneCoulomb::hi_poly_start_
private

Referenced by compute_hipoly(), and initialize().

◆ low_poly_end2_

core::Real core::energy_methods::ImplicitMembraneCoulomb::low_poly_end2_
private

◆ low_poly_end_

core::Real core::energy_methods::ImplicitMembraneCoulomb::low_poly_end_
private

Referenced by compute_lowpoly(), and initialize().

◆ low_poly_start2_

core::Real core::energy_methods::ImplicitMembraneCoulomb::low_poly_start2_
private

◆ low_poly_start_

core::Real core::energy_methods::ImplicitMembraneCoulomb::low_poly_start_
private

Referenced by compute_lowpoly(), and initialize().

◆ max_dis2_

core::Real core::energy_methods::ImplicitMembraneCoulomb::max_dis2_
private

◆ max_dis_

core::Real core::energy_methods::ImplicitMembraneCoulomb::max_dis_
private

◆ min_dis2_

core::Real core::energy_methods::ImplicitMembraneCoulomb::min_dis2_
private

Referenced by initialize().

◆ min_dis_

core::Real core::energy_methods::ImplicitMembraneCoulomb::min_dis_
private

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