26 #include "libmesh/reference_counted_object.h" 27 #include "libmesh/parallel_object.h" 74 void read_data(
const std::string& filename);
110 const std::vector<Real>& rot_vec);
125 const Real init_bondLength,
126 const Point init_bbox_min,
127 const Point init_bbox_max,
128 const std::string& filename,
129 unsigned int comm_in_rank);
142 const std::size_t Nb,
const Real Ls,
143 const Point& bbox_min,
144 const Point& bbox_max,
145 const std::string& filename);
159 const unsigned int& o_step,
160 const Real& real_time,
161 const std::vector<Point>& center0,
162 const std::vector<Real>& lvec,
163 std::vector<std::string>& output_file,
164 unsigned int comm_in_rank)
const;
170 unsigned int comm_in_rank)
const;
177 const unsigned int& o_step,
178 const std::vector<Real>& lvec,
179 unsigned int comm_in_rank)
const;
185 const unsigned int& o_step,
186 const std::vector<Real>& lvec,
187 unsigned int comm_in_rank)
const;
193 const unsigned int& o_step,
194 const std::vector<Real>& lvec,
195 unsigned int comm_in_rank)
const;
203 const unsigned int& o_step,
204 const std::vector<Point>& center0,
205 const std::vector<Real>& lvec,
206 unsigned int comm_in_rank)
const;
212 const unsigned int& o_step,
213 const Real& real_time,
214 const std::vector<Point>& center0,
215 const std::vector<Real>& lvec,
216 const std::vector<std::string>& output_file,
217 unsigned int comm_in_rank)
const;
224 unsigned int comm_in_rank)
const;
233 const unsigned int& o_step,
234 const std::vector<Real>& lvec,
235 unsigned int comm_in_rank)
const;
243 const unsigned int& o_step,
244 const std::vector<Point>& center0,
245 const std::vector<Real>& lvec,
246 unsigned int comm_in_rank)
const;
251 const unsigned int& o_step,
252 const Real& real_time,
253 unsigned int comm_in_rank)
const;
279 std::size_t
n_beads()
const {
return _beads.size(); }
285 std::size_t
n_bonds()
const {
return _n_bonds; }
291 std::size_t
n_springs()
const {
return _beads.size()-1; }
297 const std::vector<PointParticle*>&
beads() {
return _beads; };
303 const std::vector<std::vector<std::size_t> >&
bonds() {
return _bonds; };
344 std::vector<Point>& center)
const;
360 std::vector<Point>& stretch)
const;
366 const std::vector<Point>& center,
367 std::vector<Real>& RgSqrt)
const;
371 const std::vector<Point>& Rt,
385 const Point& bead1)
const;
393 std::size_t _n_beads;
396 std::size_t _n_bonds;
402 std::size_t _n_bead_types;
405 std::size_t _n_bond_types;
408 std::vector<size_t> _n_beads_per_chain;
411 std::vector<Real> _mass;
416 std::vector<PointParticle*> _beads;
419 std::vector<std::vector<std::size_t> > _bonds;
424 std::size_t _chain_id;
427 const unsigned int _dim = 3;
436 const int o_precision = 6;
void add_bead(const Point &pt, const PointType point_type, const int parent_id, const std::vector< Real > &rot_vec)
Definition: polymer_chain.C:417
void compute_center_of_mass(const std::vector< Real > &lvec, std::vector< Point > ¢er) const
Definition: polymer_chain.C:1263
void generate_polymer_chains(const unsigned int n_beads, const unsigned int n_chains, const Real init_bondLength, const Point init_bbox_min, const Point init_bbox_max, const std::string &filename, unsigned int comm_in_rank)
Definition: polymer_chain.C:444
void write_bead_trajectory(const unsigned int &o_step, unsigned int comm_in_rank) const
Definition: polymer_chain.C:947
void write_unfolded_com(const std::string &filename) const
Definition: polymer_chain.C:1113
void read_data(const std::string &filename)
Definition: polymer_chain.C:70
void write_unfolded_polymer_chain(const std::string &filename) const
Definition: polymer_chain.C:1076
void generate_polymer_chain(const Point pt0, const std::size_t Nb, const Real Ls, const Point &bbox_min, const Point &bbox_max, const std::string &filename)
Definition: polymer_chain.C:571
const std::vector< std::vector< std::size_t > > & bonds()
Definition: polymer_chain.h:303
void read_data_vtk(const std::string &filename)
Definition: polymer_chain.C:228
Real compute_chain_length()
Definition: polymer_chain.C:1238
std::size_t chain_id() const
Definition: polymer_chain.h:271
Definition: brownian_system.h:58
Definition: pm_periodic_boundary.h:46
const std::vector< PointParticle * > & beads()
Definition: polymer_chain.h:297
void compute_chain_stretch(const std::vector< Real > &lvec, std::vector< Point > &stretch) const
Definition: polymer_chain.C:1310
void write_polymer_rog(const unsigned int &step_id, const unsigned int &o_step, const std::vector< Real > &lvec, unsigned int comm_in_rank) const
Definition: polymer_chain.C:855
void read_data_pizza(const std::string &filename)
Definition: polymer_chain.C:123
void write_bead(const unsigned int &step_id, const unsigned int &o_step, const Real &real_time, const std::vector< Point > ¢er0, const std::vector< Real > &lvec, const std::vector< std::string > &output_file, unsigned int comm_in_rank) const
Definition: polymer_chain.C:921
void read_pbc_count()
Definition: polymer_chain.C:382
Point end_to_end_vector() const
Definition: polymer_chain.C:1181
Definition: polymer_chain.h:47
Point bead_vector(const Point &bead0, const Point &bead1) const
Definition: polymer_chain.C:1446
void write_polymer_stretch(const unsigned int &step_id, const unsigned int &o_step, const std::vector< Real > &lvec, unsigned int comm_in_rank) const
Definition: polymer_chain.C:824
std::size_t n_chains() const
Definition: polymer_chain.h:274
std::size_t n_bonds() const
Definition: polymer_chain.h:285
~PolymerChain()
Definition: polymer_chain.C:56
void read_data_csv(const std::string &filename)
Definition: polymer_chain.C:320
void write_polymer_com(const unsigned int &step_id, const unsigned int &o_step, const std::vector< Real > &lvec, unsigned int comm_in_rank) const
Definition: polymer_chain.C:793
void write_polymer_chain(const unsigned int &step_id, const unsigned int &o_step, const Real &real_time, const std::vector< Point > ¢er0, const std::vector< Real > &lvec, std::vector< std::string > &output_file, unsigned int comm_in_rank) const
Definition: polymer_chain.C:711
void initial_chain_center_of_mass(std::vector< Point > ¢er0) const
Definition: polymer_chain.C:1294
void print_info() const
Definition: polymer_chain.C:661
std::size_t n_springs() const
Definition: polymer_chain.h:291
void write_polymer_msd(const unsigned int &step_id, const unsigned int &o_step, const std::vector< Point > ¢er0, const std::vector< Real > &lvec, unsigned int comm_in_rank) const
Definition: polymer_chain.C:887
void compute_radius_of_gyration(const std::vector< Real > &lvec, const std::vector< Point > ¢er, std::vector< Real > &RgSqrt) const
Definition: polymer_chain.C:1355
void write_bead_com(const unsigned int &step_id, const unsigned int &o_step, const std::vector< Real > &lvec, unsigned int comm_in_rank) const
Definition: polymer_chain.C:983
Point spring_vector(const unsigned int i) const
Definition: polymer_chain.C:1160
PointType
Definition: point_particle.h:39
void initial_bead_center_of_mass(std::vector< Point > ¢er0) const
Definition: polymer_chain.C:1283
void write_bead_msd(const unsigned int &step_id, const unsigned int &o_step, const std::vector< Point > ¢er0, const std::vector< Real > &lvec, unsigned int comm_in_rank) const
Definition: polymer_chain.C:1015
void write_time(const unsigned int &step_id, const unsigned int &o_step, const Real &real_time, unsigned int comm_in_rank) const
Definition: polymer_chain.C:1054
PolymerChain(const std::size_t chain_id)
Definition: polymer_chain.C:37
void write_polymer_trajectory(const unsigned int &o_step, unsigned int comm_in_rank) const
Definition: polymer_chain.C:739
void compute_mean_square_displacement(const std::vector< Point > &R0, const std::vector< Point > &Rt, Point &msd) const
Definition: polymer_chain.C:1378
Point end_to_end_vector_square() const
Definition: polymer_chain.C:1205
bool check_chain(const Real &Ls)
Definition: polymer_chain.C:1401
std::size_t n_beads() const
Definition: polymer_chain.h:279