sc::BEMSolvent(3)

πŸ“¦
version 2.3.1 Β· 4 versions
, in fedora 43, ubuntu noble

πŸ’– sc::BEMSolvent(3) πŸ’–

okay bestie, sit down, hydrate, because we're about to get into sc::BEMSolvent β€” straight out of the Library Functions Manual, brought to you by MPQC, version 2.3.1. she's a whole queen, she's a whole vibe, and yes she has a lot of member functions. buckle up πŸŽ€


✨ NAME ✨

sc::BEMSolvent β€” that's it, that's the name, no notes πŸ’…


🌸 SYNOPSIS 🌸

she Inherits sc::DescribedClass. iconic lineage, we love a family tree πŸ’–

Inherits sc::DescribedClass.

πŸ¦‹ Public Member Functions πŸ¦‹

the main character functions, fr fr. here's every single one:

BEMSolvent (const Ref< KeyVal > &)
void init ()
void done (int clear_surface=1)
int ncharge ()
Ref< Molecule > solvent ()
double solvent_density ()
double ** alloc_charge_positions ()
void free_charge_positions (double **a)
double ** alloc_normals ()
void free_normals (double **a)
double * alloc_efield_dot_normals ()
void free_efield_dot_normals (double *a)
double * alloc_charges ()
void free_charges (double *a)
void charge_positions (double **)
void normals (double **)
void compute_charges (double *efield_dot_normals, double *charge)
void normalize_charge (double enclosed_charge, double *charges)
double nuclear_charge_interaction_energy (double *nuclear_charge, double
    **charge_positions, double *charge)
double nuclear_interaction_energy (double **charge_positions, double
    *charge)
double self_interaction_energy (double **charge_positions, double
    *charge)
double polarization_charge (double *charge)
double area () const
double volume () const
double computed_enclosed_charge () const
double disp ()
double rep ()
double disprep ()
void init_system_matrix ()
Ref< TriangulatedImplicitSurface > surface () const
Ref< SCMatrixKit > matrixkit ()

lowkey a lot of allocation-and-freeing going on up in here β€” alloc_charge_positions / free_charge_positions, alloc_normals / free_normals, alloc_efield_dot_normals / free_efield_dot_normals, alloc_charges / free_charges. they come in pairs, bestie. that's the whole point. don't be out here allocating and ghosting the free 😭


πŸ’œ Public Member Functions inherited from sc::DescribedClass πŸ’œ

these ones she got from her parent, and we're gonna list every single one:

DescribedClass (const DescribedClass &)
DescribedClass & operator= (const DescribedClass &)
ClassDesc * class_desc () const  throw ()
    This returns the unique pointer to the ClassDesc corresponding to
    the given type_info object.
const char * class_name () const
    Return the name of the object's exact type.
int class_version () const
    Return the version of the class.
virtual void print (std::ostream &=ExEnv::out0()) const
    Print the object.
  • DescribedClass (const DescribedClass &) β€” the copy constructor, doing copy constructor things πŸ’«
  • DescribedClass & operator= (const DescribedClass &) β€” assignment operator, also doing its thing ✨
  • ClassDesc * class_desc () const throw () β€” hands you the unique pointer to the ClassDesc that matches the given type_info object. one pointer, one destiny 🫢
  • const char * class_name () const β€” gives you the name of the object's exact type. exact. not the vibe-adjacent type. the exact one πŸ‘‘
  • int class_version () const β€” returns the version of the class, so you always know what era you're in 🌈
  • virtual void print (std::ostream &=ExEnv::out0()) const β€” prints the object. default stream is ExEnv::out0(), noted and respected πŸ“

πŸ”₯ Public Member Functions inherited from sc::RefCount πŸ”₯

reference counting era. every one of them, in order:

int lock_ptr () const
    Lock this object.
int unlock_ptr () const
    Unlock this object.
void use_locks (bool inVal)
    start and stop using locks on this object
refcount_t nreference () const
    Return the reference count.
refcount_t reference ()
    Increment the reference count and return the new count.
refcount_t dereference ()
    Decrement the reference count and return the new count.
int managed () const
void unmanage ()
    Turn off the reference counting mechanism for this object.
int managed () const
    Return 1 if the object is managed. Otherwise return 0.
  • int lock_ptr () const β€” locks this object πŸ”’
  • int unlock_ptr () const β€” unlocks this object πŸ”“
  • void use_locks (bool inVal) β€” start and stop using locks on this object, your call, bestie
  • refcount_t nreference () const β€” returns the reference count. just tells you the number, no drama πŸ’…
  • refcount_t reference () β€” bumps the reference count up and hands you the new count ⬆️
  • refcount_t dereference () β€” brings the reference count down and hands you the new count ⬇️
  • int managed () const β€” (yes she's listed twice, that's genuinely how it is, no I will not be editing the source 😀)
  • void unmanage () β€” turns off the reference counting mechanism for this object. big move, use wisely 🚨
  • int managed () const β€” returns 1 if the object is managed. otherwise returns 0. binary queen πŸ‘‘

🌟 Public Member Functions inherited from sc::Identity 🌟

Identifier identifier ()
    Return the Identifier for this argument.
  • Identifier identifier () β€” returns the Identifier for this argument. that's the whole job, and she does it flawlessly πŸ’–

🧚 Additional Inherited Members 🧚

πŸ“ Protected Member Functions inherited from sc::RefCount

RefCount (const RefCount &)
RefCount & operator= (const RefCount &)
  • RefCount (const RefCount &) β€” protected copy constructor, for the family only πŸ™ˆ
  • RefCount & operator= (const RefCount &) β€” protected assignment operator, same energy πŸ’œ

πŸŽ€ Author πŸŽ€

Generated automatically by Doxygen for MPQC from the source code. so like, no human author to thank here, it's all the robot's doing πŸ€–βœ¨


and that's the whole page, bestie!! no cap, every single function made it in, nothing skipped, nothing merged, nothing invented. slay πŸ’…πŸŒΈπŸ¦‹

this was sc::BEMSolvent(3) from the Library Functions Manual, MPQC Version 2.3.1, and yes the footer said the same thing, so consider yourself thoroughly signed off πŸ«ΆπŸ’–
πŸ“¦ where this page comes from