ESPResSo 3.2.0-11-g9950804-git
Extensible Simulation Package for Soft Matter Research
Functions
polymer_tcl.c File Reference
#include "polymer.h"
#include "communication.h"
#include "interaction_data.h"
#include "parser.h"
#include "grid.h"
#include "constraint.h"
Include dependency graph for polymer_tcl.c:

Go to the source code of this file.

Functions

int tclcommand_polymer (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
polymer <N_P> <MPC> <bond_length> [start <part_id>] [pos <x> <y> <z>] [mode { SAW | RW | PSAW } [<shield> [<max_try>]]] [charge <val_cM>] [distance <cM_dist>] [types <type_nM> [<type_cM>]] [FENE <type_FENE>] [angle <angle> [<angle2> [<x2> <y2> <z2>]]]
Creates some polymer chains within the simulation box, and returns how often the attempt to place a monomer failed in the worst case.
int tclcommand_counterions (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
counterions <N_CI> [start <part_id>] [mode { SAW | RW } [<shield> [<max_try>]]] [charge <val_CI>] [type <type_CI>]
Creates counterions of charge <val_CI> within the simulation box, and returns how often the attempt to place a counterion failed in the worst case.
int tclcommand_salt (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
salt <N_pS> <N_nS> [start <part_id>] [mode { SAW | RW } [<shield> [<max_try>]]] [charges <val_pS> [<val_nS>]] [types <type_pS> [<type_nS>]] [rad <rad>]
Creates <N_pS> positively and <N_nS> negatively charged salt ions of charge <val_pS> and <val_nS> within the simulation box, and returns how often the attempt to place a salt ion failed in the worst case.
int tclcommand_velocities (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
velocities <v_max> [start <part_id>] [count <N_T>]
Sets the velocities of <N_T> particles to a random value [-vmax,vmax], and returns the averaged velocity assigned.
int tclcommand_maxwell_velocities (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
maxwell_velocities [start <part_id>] [count <N_T>]
Sets the velocities of <N_T> particles to a random value with maxwell distribution, and returns the averaged velocity assigned.
int tclcommand_crosslink (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
crosslink <N_P> <MPC> [start <part_id>] [catch <r_catch>] [distLink <link_dist>] [distChain <chain_dist>] [FENE <type_FENE>] [trials <max_try>]
Evaluates the current configuration and connects each chain's end to a random monomer of another chain at most <r_catch> away, if the next crosslink from there is at least <link_dist> monomers away, and returns how many ends are now successfully linked.
int tclcommand_diamond (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
diamond <a> <bond_length> <MPC> [counterions <N_CI>] [charges <val_nodes> <val_cM> <val_CI>] [distance <cM_dist>] [nonet].
int tclcommand_icosaeder (ClientData data, Tcl_Interp *interp, int argc, char **argv)
 Implementation of the tcl-command
icosaeder <a> <MPC> [counterions <N_CI>] [charges <val_cM> <val_CI>] [distance <cM_dist>].

Function Documentation

int tclcommand_counterions ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
counterions <N_CI> [start <part_id>] [mode { SAW | RW } [<shield> [<max_try>]]] [charge <val_CI>] [type <type_CI>]
Creates counterions of charge <val_CI> within the simulation box, and returns how often the attempt to place a counterion failed in the worst case.

Parameters:
<N_CI> = number of counterions to create
<part_id> = particle number of the first counterion (defaults to 'n_total_particles')
<mode> = selects setup mode: Self avoiding walk (SAW) or plain random walk (RW) (defaults to 'SAW')
<shield> = shield around each particle another particle's position may not enter if using SAW (defaults to '0.0')
<max_try> = how often a monomer should be reset if current position collides with a previous particle (defaults to '30000')
<val_CI> = valency of the counterions (defaults to '-1.0')
<type_CI> = type number of the counterions to be used with "part" (default to '2')

For more informations on the parameters see counterionsC.

Definition at line 263 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, counterionsC(), gather_runtime_errors(), i, n_total_particles, and POLY_TRACE.

Referenced by register_tcl_commands().

int tclcommand_crosslink ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
crosslink <N_P> <MPC> [start <part_id>] [catch <r_catch>] [distLink <link_dist>] [distChain <chain_dist>] [FENE <type_FENE>] [trials <max_try>]
Evaluates the current configuration and connects each chain's end to a random monomer of another chain at most <r_catch> away, if the next crosslink from there is at least <link_dist> monomers away, and returns how many ends are now successfully linked.

Parameters:
<N_P> = number of polymer chains
<MPC> = monomers per chain
<part_id> = particle number of the start monomer (defaults to '0')
<r_catch> = maximum length of a crosslink (defaults to '1.9')
<link_dist> = minimum distance between the indices of two crosslinked monomers with different binding partners (defaults to '2')
<chain_dist> = same as <link_dist>, but for monomers of the same bond (defaults to <MPC> => no bonds to the same chain allowed)
<type_FENE> = type number of the FENE-typed bonded interaction bonds to be set between the monomers (defaults to '0')
<max_try> = how often crosslinks should be removed if they are too close to other links (defaults to '30000')

For more informations on the parameters see crosslinkC.

Definition at line 571 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, box_l, crosslinkC(), dmax(), gather_runtime_errors(), i, n_total_particles, and POLY_TRACE.

Referenced by register_tcl_commands().

int tclcommand_diamond ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
diamond <a> <bond_length> <MPC> [counterions <N_CI>] [charges <val_nodes> <val_cM> <val_CI>] [distance <cM_dist>] [nonet].

Definition at line 704 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, bonded_ia_params, diamondC(), gather_runtime_errors(), i, n_bonded_ia, and POLY_TRACE.

Referenced by register_tcl_commands().

int tclcommand_icosaeder ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
icosaeder <a> <MPC> [counterions <N_CI>] [charges <val_cM> <val_CI>] [distance <cM_dist>].

Definition at line 792 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, bonded_ia_params, gather_runtime_errors(), i, icosaederC(), n_bonded_ia, and POLY_TRACE.

Referenced by register_tcl_commands().

int tclcommand_maxwell_velocities ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
maxwell_velocities [start <part_id>] [count <N_T>]
Sets the velocities of <N_T> particles to a random value with maxwell distribution, and returns the averaged velocity assigned.

Parameters:
<part_id> = particle number of the first of the <N_T> particles (defaults to '0')
<N_T> = number of particles of which the velocities should be set (defaults to 'n_total_particles - part_id')

For more informations on the parameters see maxwell_velocitiesC.

Definition at line 523 of file polymer_tcl.c.

References ARG_IS_I, ARG_IS_S, gather_runtime_errors(), i, maxwell_velocitiesC(), n_total_particles, and POLY_TRACE.

Referenced by register_tcl_commands().

int tclcommand_polymer ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
polymer <N_P> <MPC> <bond_length> [start <part_id>] [pos <x> <y> <z>] [mode { SAW | RW | PSAW } [<shield> [<max_try>]]] [charge <val_cM>] [distance <cM_dist>] [types <type_nM> [<type_cM>]] [FENE <type_FENE>] [angle <angle> [<angle2> [<x2> <y2> <z2>]]]
Creates some polymer chains within the simulation box, and returns how often the attempt to place a monomer failed in the worst case.

Parameters:
<N_P> = how many polymers to create
<MPC> = monomers per chain
<bond_length> = length of the bonds between two monomers
<part_id> = particle number of the start monomer (defaults to '0')
<pos> = sets the position of the start monomer of the first chain (defaults to a randomly chosen value)
<mode> = selects setup mode: (Pseudo) self avoiding walk ([P]SAW) or plain random walk (RW) (defaults to 'SAW')
<shield> = shield around each particle another particle's position may not enter if using SAW (defaults to '0.0')
<max_try> = how often a monomer should be reset if current position collides with a previous particle (defaults to '30000')
<val_cM> = valency of charged monomers (defaults to '0.0')
<cM_dist> = distance between two charged monomers' indices (defaults to '1')
<type_{n|c}P> = type number of {neutral|charged} monomers to be used with "part" (default to '0' and '1')
<type_FENE> = type number of the FENE-typed bonded interaction bonds to be set between the monomers (defaults to '0')
<angle> = freely rotating bond-angle to be fixed
<angle2> = second spherical bond-angle (for setting up helixes or planar polymers)
<x2,y2,z2> = sets the position of the 2nd monomer of the first chain
<constr> = shall constraints be respected when setting up polymer? (0=no, 1=yes, default: 0)
For more informations on the parameters see polymerC.

Definition at line 43 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, CONSTRAINT_MAZE, CONSTRAINT_PLATE, CONSTRAINT_PORE, CONSTRAINT_RHOMBOID, constraints, free, i, malloc, n_constraints, and PI.

Referenced by register_tcl_commands().

int tclcommand_salt ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
salt <N_pS> <N_nS> [start <part_id>] [mode { SAW | RW } [<shield> [<max_try>]]] [charges <val_pS> [<val_nS>]] [types <type_pS> [<type_nS>]] [rad <rad>]
Creates <N_pS> positively and <N_nS> negatively charged salt ions of charge <val_pS> and <val_nS> within the simulation box, and returns how often the attempt to place a salt ion failed in the worst case.

Parameters:
<N_pS>/<N_nS> = number of salt ions to create
<part_id> = particle number of the first salt ion (defaults to 'n_total_particles')
<mode> = selects setup mode: Self avoiding walk (SAW) or plain random walk (RW) (defaults to 'SAW')
<shield> = shield around each particle another particle's position may not enter if using SAW (defaults to '0')
<max_try> = how often a monomer should be reset if current position collides with a previous particle (defaults to '30000')
<val_{p|n}S> = valencies of the salt ions (default to '1' and '-1', respectively); if <val_nS> is not given, <val_nS> = -1*<val_pS>
<type_{p|n}S> = type numbers to be used with "part" (default to '3' and '4'); if <type_nS> is not given, <type_nS> = <type_pS> is assumed.
<rad> = radius of the cell for the cell model.

For more informations on the parameters see saltC.

Definition at line 347 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, gather_runtime_errors(), i, n_total_particles, POLY_TRACE, and saltC().

Referenced by register_tcl_commands().

int tclcommand_velocities ( ClientData  data,
Tcl_Interp *  interp,
int  argc,
char **  argv 
)

Implementation of the tcl-command
velocities <v_max> [start <part_id>] [count <N_T>]
Sets the velocities of <N_T> particles to a random value [-vmax,vmax], and returns the averaged velocity assigned.

Parameters:
<v_max> = maximum velocity to be used
<part_id> = particle number of the first of the <N_T> particles (defaults to '0')
<N_T> = number of particles of which the velocities should be set (defaults to 'n_total_particles - part_id')

For more informations on the parameters see velocitiesC.

Definition at line 464 of file polymer_tcl.c.

References ARG_IS_D, ARG_IS_I, ARG_IS_S, gather_runtime_errors(), i, n_total_particles, POLY_TRACE, and velocitiesC().

Referenced by register_tcl_commands().