From 41687a84a4f8c17e597634978bfcb98a25455043 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 22:55:49 -0500 Subject: [PATCH 01/29] Added body and pair styles for rounded/polygon and rounded polyhedra, wall fixesthat are compatible with these body styles --- src/BODY/body_rounded_polygon.cpp | 452 ++++ src/BODY/body_rounded_polygon.h | 86 + src/BODY/body_rounded_polyhedron.cpp | 523 +++++ src/BODY/body_rounded_polyhedron.h | 88 + src/BODY/fix_wall_body_polygon.cpp | 831 ++++++++ src/BODY/fix_wall_body_polygon.h | 129 ++ src/BODY/fix_wall_body_polyhedron.cpp | 944 +++++++++ src/BODY/fix_wall_body_polyhedron.h | 143 ++ src/BODY/pair_body_rounded_polygon.cpp | 1359 ++++++++++++ src/BODY/pair_body_rounded_polygon.h | 128 ++ src/BODY/pair_body_rounded_polyhedron.cpp | 2348 +++++++++++++++++++++ src/BODY/pair_body_rounded_polyhedron.h | 176 ++ 12 files changed, 7207 insertions(+) create mode 100644 src/BODY/body_rounded_polygon.cpp create mode 100644 src/BODY/body_rounded_polygon.h create mode 100644 src/BODY/body_rounded_polyhedron.cpp create mode 100644 src/BODY/body_rounded_polyhedron.h create mode 100644 src/BODY/fix_wall_body_polygon.cpp create mode 100644 src/BODY/fix_wall_body_polygon.h create mode 100644 src/BODY/fix_wall_body_polyhedron.cpp create mode 100644 src/BODY/fix_wall_body_polyhedron.h create mode 100644 src/BODY/pair_body_rounded_polygon.cpp create mode 100644 src/BODY/pair_body_rounded_polygon.h create mode 100644 src/BODY/pair_body_rounded_polyhedron.cpp create mode 100644 src/BODY/pair_body_rounded_polyhedron.h diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp new file mode 100644 index 0000000000..d848a8fa95 --- /dev/null +++ b/src/BODY/body_rounded_polygon.cpp @@ -0,0 +1,452 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include "body_rounded_polygon.h" +#include "atom_vec_body.h" +#include "atom.h" +#include "force.h" +#include "domain.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +#define EPSILON 1.0e-7 +enum{SPHERE,LINE}; // also in DumpImage + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolygon::BodyRoundedPolygon(LAMMPS *lmp, int narg, char **arg) : + Body(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR,"Invalid body rounded/polygon command"); + + if (domain->dimension != 2) + error->all(FLERR,"Atom_style body rounded/polygon " + "can only be used in 2d simulations"); + + // nmin and nmax are minimum and maximum number of vertices + + int nmin = force->inumeric(FLERR,arg[1]); + int nmax = force->inumeric(FLERR,arg[2]); + if (nmin <= 0 || nmin > nmax) + error->all(FLERR,"Invalid body rounded/polygon command"); + + size_forward = 0; + + // 1 integer for number of vertices, + // 3*nmax doubles for vertex coordinates + 2*nmax doubles for edge ends + // 1 double for the enclosing radius + // 1 double for the rounded radius + + size_border = 1 + 3*nmax + 2*nmax + 1 + 1; + + // NOTE: need to set appropriate nnbin param for dcp + + icp = new MyPoolChunk(1,1); + dcp = new MyPoolChunk(3*nmin+2*nmin+1+1,3*nmax+2*nmax+1+1); + + memory->create(imflag,nmax,"body/rounded/polygon:imflag"); + memory->create(imdata,nmax,7,"body/nparticle:imdata"); +} + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolygon::~BodyRoundedPolygon() +{ + delete icp; + delete dcp; + memory->destroy(imflag); + memory->destroy(imdata); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::nsub(AtomVecBody::Bonus *bonus) +{ + return bonus->ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolygon::coords(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::nedges(AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1) return 0; + else if (nvertices == 2) return 1; + return nvertices; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolygon::edges(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue+3*nsub(bonus); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolygon::enclosing_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2); + return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolygon::rounded_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2+1); + return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)+1); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::pack_border_body(AtomVecBody::Bonus *bonus, double *buf) +{ + int nsub = bonus->ivalue[0]; + buf[0] = nsub; + memcpy(&buf[1],bonus->dvalue,(3*nsub+2*nsub+1+1)*sizeof(double)); + return 1+(3*nsub+2*nsub+1+1); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::unpack_border_body(AtomVecBody::Bonus *bonus, + double *buf) +{ + int nsub = static_cast (buf[0]); + bonus->ivalue[0] = nsub; + memcpy(bonus->dvalue,&buf[1],(3*nsub+2*nsub+1+1)*sizeof(double)); + return 1+(3*nsub+2*nsub+1+1); +} + +/* ---------------------------------------------------------------------- + populate bonus data structure with data file values +------------------------------------------------------------------------- */ + +void BodyRoundedPolygon::data_body(int ibonus, int ninteger, int ndouble, + int *ifile, double *dfile) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + // set ninteger, ndouble in bonus and allocate 2 vectors of ints, doubles + + if (ninteger != 1) + error->one(FLERR,"Incorrect # of integer values in " + "Bodies section of data file"); + int nsub = ifile[0]; + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + + // nentries = number of double entries to be read from Body section: + // 6 for inertia + 3*nsub for vertex coords + 1 for rounded radius + + int nentries = 6 + 3*nsub + 1; + if (ndouble != nentries) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + bonus->ninteger = 1; + bonus->ivalue = icp->get(bonus->iindex); + bonus->ivalue[0] = nsub; + bonus->ndouble = 3*nsub + 2*nsub + 1 + 1; + bonus->dvalue = dcp->get(bonus->ndouble,bonus->dindex); + + // diagonalize inertia tensor + + double tensor[3][3]; + tensor[0][0] = dfile[0]; + tensor[1][1] = dfile[1]; + tensor[2][2] = dfile[2]; + tensor[0][1] = tensor[1][0] = dfile[3]; + tensor[0][2] = tensor[2][0] = dfile[4]; + tensor[1][2] = tensor[2][1] = dfile[5]; + + double *inertia = bonus->inertia; + double evectors[3][3]; + int ierror = MathExtra::jacobi(tensor,inertia,evectors); + if (ierror) error->one(FLERR, + "Insufficient Jacobi rotations for body nparticle"); + + // if any principal moment < scaled EPSILON, set to 0.0 + + double max; + max = MAX(inertia[0],inertia[1]); + max = MAX(max,inertia[2]); + + if (inertia[0] < EPSILON*max) inertia[0] = 0.0; + if (inertia[1] < EPSILON*max) inertia[1] = 0.0; + if (inertia[2] < EPSILON*max) inertia[2] = 0.0; + + // exyz_space = principal axes in space frame + + double ex_space[3],ey_space[3],ez_space[3]; + + ex_space[0] = evectors[0][0]; + ex_space[1] = evectors[1][0]; + ex_space[2] = evectors[2][0]; + ey_space[0] = evectors[0][1]; + ey_space[1] = evectors[1][1]; + ey_space[2] = evectors[2][1]; + ez_space[0] = evectors[0][2]; + ez_space[1] = evectors[1][2]; + ez_space[2] = evectors[2][2]; + + // enforce 3 evectors as a right-handed coordinate system + // flip 3rd vector if needed + + double cross[3]; + MathExtra::cross3(ex_space,ey_space,cross); + if (MathExtra::dot3(cross,ez_space) < 0.0) MathExtra::negate3(ez_space); + + // create initial quaternion + + MathExtra::exyz_to_q(ex_space,ey_space,ez_space,bonus->quat); + + // bonus->dvalue = the first 3*nsub elements are sub-particle displacements + // find the enclosing radius of the body from the maximum displacement + + int i,m; + double delta[3], rsq, erad, rrad; + double erad2 = 0; + int j = 6; + int k = 0; + for (i = 0; i < nsub; i++) { + delta[0] = dfile[j]; + delta[1] = dfile[j+1]; + delta[2] = dfile[j+2]; + MathExtra::transpose_matvec(ex_space,ey_space,ez_space, + delta,&bonus->dvalue[k]); + rsq = delta[0] * delta[0] + delta[1] * delta[1] + + delta[2] * delta[2]; + if (rsq > erad2) erad2 = rsq; + j += 3; + k += 3; + } + + // .. the next 2*nsub elements are edge ends + + int nedges; + if (nsub == 1) { // spheres + nedges = 0; + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 0; + k += 2; + + // the last element of bonus->dvalue is the rounded & enclosing radius + + rrad = 0.5 * dfile[j]; + bonus->dvalue[k] = rrad; + erad = rrad; + + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad; + + } else if (nsub == 2) { // rods + nedges = 1; + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 1; + k += 2; + } + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element of bonus->dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + + } else { // polygons + nedges = nsub; + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = i; + m = i+1; + if (m == nedges) m = 0; + *(&bonus->dvalue[k]+1) = m; + k += 2; + } + + // the next to last element is the enclosing radius + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element of bonus->dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + } +} + +/* ---------------------------------------------------------------------- + return radius of body particle defined by ifile/dfile params + params are ordered as in data file + called by Molecule class which needs single body size +------------------------------------------------------------------------- */ + +double BodyRoundedPolygon::radius_body(int ninteger, int ndouble, + int *ifile, double *dfile) +{ + int nsub = ifile[0]; + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + if (ndouble != 6 + 3*nsub + 1) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + // sub-particle coords are relative to body center at (0,0,0) + // offset = 6 for sub-particle coords + + double onerad; + double maxrad = 0.0; + double delta[3]; + + int offset = 6; + for (int i = 0; i < nsub; i++) { + delta[0] = dfile[offset]; + delta[1] = dfile[offset+1]; + delta[2] = dfile[offset+2]; + offset += 3; + onerad = MathExtra::len3(delta); + maxrad = MAX(maxrad,onerad); + } + + // add in radius of rounded corners + + return maxrad + 0.5*dfile[offset]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::noutcol() +{ + // the number of columns for the vertex coordinates + + return 3; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::noutrow(int ibonus) +{ + // only return the first nsub rows for the vertex coordinates + + return avec->bonus[ibonus].ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +void BodyRoundedPolygon::output(int ibonus, int m, double *values) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*m],values); + + double *x = atom->x[bonus->ilocal]; + values[0] += x[0]; + values[1] += x[1]; + values[2] += x[2]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolygon::image(int ibonus, double flag1, double flag2, + int *&ivec, double **&darray) +{ + int j; + double p[3][3]; + double *x, rrad; + + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int n = bonus->ivalue[0]; + + if (n == 1) { + for (int i = 0; i < n; i++) { + imflag[i] = SPHERE; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*i],imdata[i]); + + rrad = enclosing_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + if (flag1 <= 0) imdata[i][3] = 2*rrad; + else imdata[i][3] = flag1; + } + + } else { + + // first end pt of each line + + for (int i = 0; i < n; i++) { + imflag[i] = LINE; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*i],imdata[i]); + + rrad = rounded_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + if (flag1 <= 0) imdata[i][6] = 2*rrad; + else imdata[i][6] = flag1; + } + + // second end pt of each line + + for (int i = 0; i < n; i++) { + j = i+1; + if (j == n) j = 0; + imdata[i][3] = imdata[j][0]; + imdata[i][4] = imdata[j][1]; + imdata[i][5] = imdata[j][2]; + } + } + + ivec = imflag; + darray = imdata; + return n; +} diff --git a/src/BODY/body_rounded_polygon.h b/src/BODY/body_rounded_polygon.h new file mode 100644 index 0000000000..b6f45c5cf5 --- /dev/null +++ b/src/BODY/body_rounded_polygon.h @@ -0,0 +1,86 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef BODY_CLASS + +BodyStyle(rounded/polygon,BodyRoundedPolygon) + +#else + +#ifndef LMP_BODY_ROUNDED_POLYGON_H +#define LMP_BODY_ROUNDED_POLYGON_H + +#include "body.h" +#include "atom_vec_body.h" + +namespace LAMMPS_NS { + +class BodyRoundedPolygon : public Body { + public: + BodyRoundedPolygon(class LAMMPS *, int, char **); + ~BodyRoundedPolygon(); + int nsub(struct AtomVecBody::Bonus *); + double *coords(struct AtomVecBody::Bonus *); + int nedges(struct AtomVecBody::Bonus *); + double *edges(struct AtomVecBody::Bonus *); + double enclosing_radius(struct AtomVecBody::Bonus *); + double rounded_radius(struct AtomVecBody::Bonus *); + + int pack_border_body(struct AtomVecBody::Bonus *, double *); + int unpack_border_body(struct AtomVecBody::Bonus *, double *); + void data_body(int, int, int, int *, double *); + double radius_body(int, int, int *, double *); + + int noutrow(int); + int noutcol(); + void output(int, int, double *); + int image(int, double, double, int *&, double **&); + + private: + int *imflag; + double **imdata; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Invalid body rounded/polygon command + +Arguments in atom-style command are not correct. + +E: Invalid format in Bodies section of data file + +The specified number of integer or floating point values does not +appear. + +E: Incorrect # of integer values in Bodies section of data file + +See doc page for body style. + +E: Incorrect integer value in Bodies section of data file + +See doc page for body style. + +E: Incorrect # of floating-point values in Bodies section of data file + +See doc page for body style. + +E: Insufficient Jacobi rotations for body nparticle + +Eigensolve for rigid body was not sufficiently accurate. + +*/ diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp new file mode 100644 index 0000000000..a26b6d0cbd --- /dev/null +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -0,0 +1,523 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include "body_rounded_polyhedron.h" +#include "atom_vec_body.h" +#include "atom.h" +#include "force.h" +#include "domain.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +#define EPSILON 1.0e-7 +#define MAX_FACE_SIZE 4 // maximum number of vertices per face (for now) + +enum{SPHERE,LINE}; // also in DumpImage + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolyhedron::BodyRoundedPolyhedron(LAMMPS *lmp, int narg, char **arg) : + Body(lmp, narg, arg) +{ + if (narg != 3) error->all(FLERR,"Invalid body rounded/polygon command"); + + // nmin and nmax are minimum and maximum number of vertices + + int nmin = force->inumeric(FLERR,arg[1]); + int nmax = force->inumeric(FLERR,arg[2]); + if (nmin <= 0 || nmin > nmax) + error->all(FLERR,"Invalid body rounded/polyhedron command"); + + size_forward = 0; + + // 1 integer for number of vertices, + // 3*nmax doubles for vertex coordinates + 2*nmax doubles for edge ends + + // (MAX_FACE_SIZE+1)*nmax for faces + // 1 double for the enclosing radius + // 1 double for the rounded radius + + size_border = 1 + 3*nmax + 2*nmax + MAX_FACE_SIZE*nmax + 1 + 1; + + // NOTE: need to set appropriate nnbin param for dcp + + icp = new MyPoolChunk(1,3); + dcp = new MyPoolChunk(3*nmin+2+1+1, + 3*nmax+2*nmax+MAX_FACE_SIZE*nmax+1+1); + + memory->create(imflag,2*nmax,"body/rounded/polyhedron:imflag"); + memory->create(imdata,2*nmax,7,"body/polyhedron:imdata"); +} + +/* ---------------------------------------------------------------------- */ + +BodyRoundedPolyhedron::~BodyRoundedPolyhedron() +{ + delete icp; + delete dcp; + memory->destroy(imflag); + memory->destroy(imdata); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::nsub(AtomVecBody::Bonus *bonus) +{ + return bonus->ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolyhedron::coords(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::nedges(AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + int nedges = bonus->ivalue[1]; + int nfaces = bonus->ivalue[2]; + if (nvertices == 1) return 0; + else if (nvertices == 2) return 1; + return nedges; //(nvertices+nfaces-2); // Euler's polyon formula: V-E+F=2 +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolyhedron::edges(AtomVecBody::Bonus *bonus) +{ + return bonus->dvalue+3*nsub(bonus); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::nfaces(AtomVecBody::Bonus *bonus) +{ + return bonus->ivalue[2]; +} + +/* ---------------------------------------------------------------------- */ + +double *BodyRoundedPolyhedron::faces(AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) return NULL; + return bonus->dvalue+3*nsub(bonus)+2*nedges(bonus); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolyhedron::enclosing_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2); + return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)); +} + +/* ---------------------------------------------------------------------- */ + +double BodyRoundedPolyhedron::rounded_radius(struct AtomVecBody::Bonus *bonus) +{ + int nvertices = bonus->ivalue[0]; + if (nvertices == 1 || nvertices == 2) + return *(bonus->dvalue+3*nsub(bonus)+2+1); + return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)+1); +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::pack_border_body(AtomVecBody::Bonus *bonus, double *buf) +{ + int nsub = bonus->ivalue[0]; + int ned = bonus->ivalue[1]; + int nfac = bonus->ivalue[2]; + buf[0] = nsub; + buf[1] = ned; + buf[2] = nfac; + int ndouble; + if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + memcpy(&buf[3],bonus->dvalue,ndouble*sizeof(double)); + return 3+ndouble; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::unpack_border_body(AtomVecBody::Bonus *bonus, + double *buf) +{ + int nsub = static_cast (buf[0]); + int ned = static_cast (buf[1]); + int nfac = static_cast (buf[2]); + bonus->ivalue[0] = nsub; + bonus->ivalue[1] = ned; + bonus->ivalue[2] = nfac; + int ndouble; + if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + memcpy(bonus->dvalue,&buf[3],ndouble*sizeof(double)); + return 3+ndouble; +} + +/* ---------------------------------------------------------------------- + populate bonus data structure with data file values +------------------------------------------------------------------------- */ + +void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, + int *ifile, double *dfile) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + // set ninteger, ndouble in bonus and allocate 2 vectors of ints, doubles + + if (ninteger != 3) + error->one(FLERR,"Incorrect # of integer values in " + "Bodies section of data file"); + int nsub = ifile[0]; + int ned = ifile[1]; + int nfac = ifile[2]; + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + + // nentries = number of double entries to be read from Body section: + // nsub == 1 || nsub == 2 || nsub == 3: + // 6 for inertia + 3*nsub for vertex coords + 1 for rounded radius + // nsub > 3: + // 6 for inertia + 3*nsub for vertex coords + 2*nsub for edges + 3*nfaces + 1 for rounded radius + + int nedges,nentries; + if (nsub == 1 || nsub == 2) { + nentries = 6 + 3*nsub + 1; + } else { + nedges = ned; //nsub + nfac - 2; + nentries = 6 + 3*nsub + 2*nedges + MAX_FACE_SIZE*nfac + 1; + } + if (ndouble != nentries) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + bonus->ninteger = 3; + bonus->ivalue = icp->get(bonus->iindex); + bonus->ivalue[0] = nsub; + bonus->ivalue[1] = ned; + bonus->ivalue[2] = nfac; + if (nsub == 1 || nsub == 2) bonus->ndouble = 3*nsub + 2*nsub + 1 + 1; + else bonus->ndouble = 3*nsub + 2*nedges + MAX_FACE_SIZE*nfac + 1 + 1; + bonus->dvalue = dcp->get(bonus->ndouble,bonus->dindex); + + // diagonalize inertia tensor + + double tensor[3][3]; + tensor[0][0] = dfile[0]; + tensor[1][1] = dfile[1]; + tensor[2][2] = dfile[2]; + tensor[0][1] = tensor[1][0] = dfile[3]; + tensor[0][2] = tensor[2][0] = dfile[4]; + tensor[1][2] = tensor[2][1] = dfile[5]; + + double *inertia = bonus->inertia; + double evectors[3][3]; + int ierror = MathExtra::jacobi(tensor,inertia,evectors); + if (ierror) error->one(FLERR, + "Insufficient Jacobi rotations for body nparticle"); + + // if any principal moment < scaled EPSILON, set to 0.0 + + double max; + max = MAX(inertia[0],inertia[1]); + max = MAX(max,inertia[2]); + + if (inertia[0] < EPSILON*max) inertia[0] = 0.0; + if (inertia[1] < EPSILON*max) inertia[1] = 0.0; + if (inertia[2] < EPSILON*max) inertia[2] = 0.0; + + // exyz_space = principal axes in space frame + + double ex_space[3],ey_space[3],ez_space[3]; + + ex_space[0] = evectors[0][0]; + ex_space[1] = evectors[1][0]; + ex_space[2] = evectors[2][0]; + ey_space[0] = evectors[0][1]; + ey_space[1] = evectors[1][1]; + ey_space[2] = evectors[2][1]; + ez_space[0] = evectors[0][2]; + ez_space[1] = evectors[1][2]; + ez_space[2] = evectors[2][2]; + + // enforce 3 evectors as a right-handed coordinate system + // flip 3rd vector if needed + + double cross[3]; + MathExtra::cross3(ex_space,ey_space,cross); + if (MathExtra::dot3(cross,ez_space) < 0.0) MathExtra::negate3(ez_space); + + // create initial quaternion + + MathExtra::exyz_to_q(ex_space,ey_space,ez_space,bonus->quat); + + // bonus->dvalue = the first 3*nsub elements are sub-particle displacements + // find the enclosing radius of the body from the maximum displacement + + int i,m; + double delta[3], rsq, erad, rrad; + double erad2 = 0; + int j = 6; + int k = 0; + for (i = 0; i < nsub; i++) { + delta[0] = dfile[j]; + delta[1] = dfile[j+1]; + delta[2] = dfile[j+2]; + MathExtra::transpose_matvec(ex_space,ey_space,ez_space, + delta,&bonus->dvalue[k]); + rsq = delta[0] * delta[0] + delta[1] * delta[1] + + delta[2] * delta[2]; + if (rsq > erad2) erad2 = rsq; + j += 3; + k += 3; + } + + // .. the next 2*nsub elements are edge ends + + if (nsub == 1) { // spheres + nedges = 0; + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 0; + k += 2; + + rrad = 0.5 * dfile[j]; + bonus->dvalue[k] = rrad; + erad = rrad; // enclosing radius = rounded_radius + + // the last element of bonus->dvalue is the rounded radius + + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad; + + } else if (nsub == 2) { // rods + nedges = 1; + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = 0; + *(&bonus->dvalue[k]+1) = 1; + k += 2; + } + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element of bonus->dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + + } else { // polyhedra + + // edges + + for (i = 0; i < nedges; i++) { + bonus->dvalue[k] = dfile[j]; + *(&bonus->dvalue[k]+1) = dfile[j+1]; + k += 2; + j += 2; + } + + // faces + + for (i = 0; i < nfac; i++) { + for (m = 0; m < MAX_FACE_SIZE; m++) + *(&bonus->dvalue[k]+m) = dfile[j+m]; + k += MAX_FACE_SIZE; + j += MAX_FACE_SIZE; + } + + // the next to last element is the enclosing radius + + erad = sqrt(erad2); + bonus->dvalue[k] = erad; + + // the last element bonus-> dvalue is the rounded radius + + rrad = 0.5 * dfile[j]; + k++; + bonus->dvalue[k] = rrad; + + atom->radius[bonus->ilocal] = erad + rrad; + } +} + +/* ---------------------------------------------------------------------- + return radius of body particle defined by ifile/dfile params + params are ordered as in data file + called by Molecule class which needs single body size +------------------------------------------------------------------------- */ + +double BodyRoundedPolyhedron::radius_body(int ninteger, int ndouble, + int *ifile, double *dfile) +{ + int nsub = ifile[0]; + int ned = ifile[1]; + int nfac = ifile[2]; + int nedges = ned; //nsub + nfac - 2; + + int nentries; + if (nsub == 1 || nsub == 2) nentries = 6 + 3*nsub + 1; + else nentries = 6 + 3*nsub + 2*nedges + MAX_FACE_SIZE*nfac + 1; + + if (nsub < 1) + error->one(FLERR,"Incorrect integer value in " + "Bodies section of data file"); + if (ndouble != nentries) + error->one(FLERR,"Incorrect # of floating-point values in " + "Bodies section of data file"); + + // sub-particle coords are relative to body center at (0,0,0) + // offset = 6 for sub-particle coords + + double onerad; + double maxrad = 0.0; + double delta[3]; + + int offset = 6; + for (int i = 0; i < nsub; i++) { + delta[0] = dfile[offset]; + delta[1] = dfile[offset+1]; + delta[2] = dfile[offset+2]; + offset += 3; + onerad = MathExtra::len3(delta); + maxrad = MAX(maxrad,onerad); + } + + if (nsub > 2) offset += (2*nedges+MAX_FACE_SIZE*nfac); + + // add in radius of rounded corners + + return maxrad + 0.5*dfile[offset]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::noutcol() +{ + // the number of columns for the vertex coordinates + + return 3; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::noutrow(int ibonus) +{ + // only return the first nsub rows for the vertex coordinates + + return avec->bonus[ibonus].ivalue[0]; +} + +/* ---------------------------------------------------------------------- */ + +void BodyRoundedPolyhedron::output(int ibonus, int m, double *values) +{ + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*m],values); + + double *x = atom->x[bonus->ilocal]; + values[0] += x[0]; + values[1] += x[1]; + values[2] += x[2]; +} + +/* ---------------------------------------------------------------------- */ + +int BodyRoundedPolyhedron::image(int ibonus, double flag1, double flag2, + int *&ivec, double **&darray) +{ + int j, nelements; + double p[3][3]; + double *x, rrad; + + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nvertices = bonus->ivalue[0]; + + if (nvertices == 1) { // spheres + + for (int i = 0; i < nvertices; i++) { + imflag[i] = SPHERE; + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*i],imdata[i]); + + rrad = enclosing_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + if (flag1 <= 0) imdata[i][3] = 2*rrad; + else imdata[i][3] = flag1; + } + + nelements = nvertices; + } else { + int nfaces = bonus->ivalue[2]; + int nedges = bonus->ivalue[1]; //nvertices + nfaces - 2; + if (nvertices == 2) nedges = 1; // special case: rods + double* edge_ends = &bonus->dvalue[3*nvertices]; + int pt1, pt2; + + for (int i = 0; i < nedges; i++) { + imflag[i] = LINE; + + pt1 = static_cast(edge_ends[2*i]); + pt2 = static_cast(edge_ends[2*i+1]); + + MathExtra::quat_to_mat(bonus->quat,p); + MathExtra::matvec(p,&bonus->dvalue[3*pt1],imdata[i]); + MathExtra::matvec(p,&bonus->dvalue[3*pt2],&imdata[i][3]); + + rrad = rounded_radius(bonus); + x = atom->x[bonus->ilocal]; + imdata[i][0] += x[0]; + imdata[i][1] += x[1]; + imdata[i][2] += x[2]; + imdata[i][3] += x[0]; + imdata[i][4] += x[1]; + imdata[i][5] += x[2]; + + if (flag1 <= 0) imdata[i][6] = 2*rrad; + else imdata[i][6] = flag1; + } + + nelements = nedges; + } + + ivec = imflag; + darray = imdata; + return nelements; +} diff --git a/src/BODY/body_rounded_polyhedron.h b/src/BODY/body_rounded_polyhedron.h new file mode 100644 index 0000000000..e5b15fd8f9 --- /dev/null +++ b/src/BODY/body_rounded_polyhedron.h @@ -0,0 +1,88 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef BODY_CLASS + +BodyStyle(rounded/polyhedron,BodyRoundedPolyhedron) + +#else + +#ifndef LMP_BODY_ROUNDED_POLYHEDRON_H +#define LMP_BODY_ROUNDED_POLYHEDRON_H + +#include "body.h" +#include "atom_vec_body.h" + +namespace LAMMPS_NS { + +class BodyRoundedPolyhedron : public Body { + public: + BodyRoundedPolyhedron(class LAMMPS *, int, char **); + ~BodyRoundedPolyhedron(); + int nsub(struct AtomVecBody::Bonus *); + double *coords(struct AtomVecBody::Bonus *); + int nedges(struct AtomVecBody::Bonus *); + double *edges(struct AtomVecBody::Bonus *); + int nfaces(struct AtomVecBody::Bonus *); + double *faces(struct AtomVecBody::Bonus *); + double enclosing_radius(struct AtomVecBody::Bonus *); + double rounded_radius(struct AtomVecBody::Bonus *); + + int pack_border_body(struct AtomVecBody::Bonus *, double *); + int unpack_border_body(struct AtomVecBody::Bonus *, double *); + void data_body(int, int, int, int *, double *); + double radius_body(int, int, int *, double *); + + int noutrow(int); + int noutcol(); + void output(int, int, double *); + int image(int, double, double, int *&, double **&); + + private: + int *imflag; + double **imdata; +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Invalid body rounded/polyhedron command + +Arguments in atom-style command are not correct. + +E: Invalid format in Bodies section of data file + +The specified number of integer or floating point values does not +appear. + +E: Incorrect # of integer values in Bodies section of data file + +See doc page for body style. + +E: Incorrect integer value in Bodies section of data file + +See doc page for body style. + +E: Incorrect # of floating-point values in Bodies section of data file + +See doc page for body style. + +E: Insufficient Jacobi rotations for body rounded/polyhedron + +Eigensolve for rigid body was not sufficiently accurate. + +*/ diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp new file mode 100644 index 0000000000..ea81ae26df --- /dev/null +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -0,0 +1,831 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_wall_body_polygon.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polygon.h" +#include "domain.h" +#include "update.h" +#include "force.h" +#include "pair.h" +#include "modify.h" +#include "respa.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{XPLANE=0,YPLANE=1,ZCYLINDER}; // XYZ PLANE need to be 0,1,2 +enum{HOOKE,HOOKE_HISTORY}; + +enum {INVALID=0,NONE=1,VERTEX=2}; +enum {FAR=0,XLO,XHI,YLO,YHI}; + +//#define _POLYGON_DEBUG +#define DELTA 10000 +#define EPSILON 1e-2 +#define BIG 1.0e20 +#define MAX_CONTACTS 4 // maximum number of contacts for 2D models +#define EFF_CONTACTS 2 // effective contacts for 2D models + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polygon command"); + + if (!atom->body_flag) + error->all(FLERR,"Fix wall/body/polygon requires atom style body/rounded/polygon"); + + restart_peratom = 1; + create_attribute = 1; + + // wall/particle coefficients + + kn = force->numeric(FLERR,arg[3]); + + c_n = force->numeric(FLERR,arg[4]); + if (strcmp(arg[5],"NULL") == 0) c_t = 0.5 * c_n; + else c_t = force->numeric(FLERR,arg[5]); + + if (kn < 0.0 || c_n < 0.0 || c_t < 0.0) + error->all(FLERR,"Illegal fix wall/body/polygon command"); + + // wallstyle args + + int iarg = 6; + if (strcmp(arg[iarg],"xplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polygon command"); + wallstyle = XPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"yplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polygon command"); + wallstyle = YPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"zcylinder") == 0) { + if (narg < iarg+2) error->all(FLERR,"Illegal fix wall/body/polygon command"); + wallstyle = ZCYLINDER; + lo = hi = 0.0; + cylradius = force->numeric(FLERR,arg[iarg+1]); + iarg += 2; + } + + // check for trailing keyword/values + + wiggle = 0; + + while (iarg < narg) { + if (strcmp(arg[iarg],"wiggle") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal fix wall/body/polygon command"); + if (strcmp(arg[iarg+1],"x") == 0) axis = 0; + else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; + else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; + else error->all(FLERR,"Illegal fix wall/body/polygon command"); + amplitude = force->numeric(FLERR,arg[iarg+2]); + period = force->numeric(FLERR,arg[iarg+3]); + wiggle = 1; + iarg += 4; + } else error->all(FLERR,"Illegal fix wall/body/polygon command"); + } + + if (wallstyle == XPLANE && domain->xperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == YPLANE && domain->yperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == ZCYLINDER && (domain->xperiodic || domain->yperiodic)) + error->all(FLERR,"Cannot use wall in periodic dimension"); + + if (wiggle && wallstyle == ZCYLINDER && axis != 2) + error->all(FLERR,"Invalid wiggle direction for fix wall/body/polygon"); + + // setup oscillations + + if (wiggle) omega = 2.0*MY_PI / period; + + time_origin = update->ntimestep; + + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolygon::~FixWallBodyPolygon() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); +} + +/* ---------------------------------------------------------------------- */ + +int FixWallBodyPolygon::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::init() +{ + dt = update->dt; + + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) + error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polygon") != 0) + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + bptr = (BodyRoundedPolygon *) avec->bptr; + + // set pairstyle from body/polygonular pair style + + if (force->pair_match("body/rounded/polygon",1)) + pairstyle = HOOKE; + else error->all(FLERR,"Fix wall/body/polygon is incompatible with Pair style"); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::post_force(int vflag) +{ + double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; + int i,ni,npi,ifirst,nei,iefirst,side; + double facc[3]; + + // set position of wall to initial settings and velocity to 0.0 + // if wiggle, set wall position and velocity accordingly + + double wlo = lo; + double whi = hi; + vwall[0] = vwall[1] = vwall[2] = 0.0; + if (wiggle) { + double arg = omega * (update->ntimestep - time_origin) * dt; + if (wallstyle == axis) { + wlo = lo + amplitude - amplitude*cos(arg); + whi = hi + amplitude - amplitude*cos(arg); + } + vwall[axis] = amplitude*omega*sin(arg); + } + + // loop over all my atoms + // rsq = distance from wall + // dx,dy,dz = signed distance from wall + // for rotating cylinder, reset vwall based on particle position + // skip atom if not close enough to wall + // if wall was set to NULL, it's skipped since lo/hi are infinity + // compute force and torque on atom if close enough to wall + // via wall potential matched to pair potential + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *body = atom->body; + double *radius = atom->radius; + double **torque = atom->torque; + double **angmom = atom->angmom; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"fix:dnum"); + memory->create(dfirst,nmax,"fix:dfirst"); + memory->create(ednum,nmax,"fix:ednum"); + memory->create(edfirst,nmax,"fix:edfirst"); + memory->create(enclosing_radius,nmax,"fix:enclosing_radius"); + memory->create(rounded_radius,nmax,"fix:rounded_radius"); + } + + ndiscrete = nedge = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = 0; + + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + if (body[i] < 0) continue; + + dx = dy = dz = 0.0; + side = FAR; + if (wallstyle == XPLANE) { + del1 = x[i][0] - wlo; + del2 = whi - x[i][0]; + if (del1 < del2) { + dx = del1; + wall_pos = wlo; + side = XLO; + } else { + dx = -del2; + wall_pos = whi; + side = XHI; + } + } else if (wallstyle == YPLANE) { + del1 = x[i][1] - wlo; + del2 = whi - x[i][1]; + if (del1 < del2) { + dy = del1; + wall_pos = wlo; + side = YLO; + } else { + dy = -del2; + wall_pos = whi; + side = YHI; + } + } else if (wallstyle == ZCYLINDER) { + delxy = sqrt(x[i][0]*x[i][0] + x[i][1]*x[i][1]); + delr = cylradius - delxy; + if (delr > eradi) dz = cylradius; + else { + dx = -delr/delxy * x[i][0]; + dy = -delr/delxy * x[i][1]; + } + } + + rsq = dx*dx + dy*dy + dz*dz; + if (rsq > radius[i]*radius[i]) continue; + + double r = sqrt(rsq); + double rsqinv = 1.0 / rsq; + + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + } + + int interact, num_contacts, done; + double delta_a, delta_ua, j_a; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + facc[0] = facc[1] = facc[2] = 0; + interact = vertex_against_wall(i, wall_pos, x, f, torque, side, + contact_list, num_contacts, facc); + + if (num_contacts >= 2) { + + // find the first two distinct contacts + + done = 0; + for (int m = 0; m < num_contacts-1; m++) { + for (int n = m+1; n < num_contacts; n++) { + delta_a = contact_separation(contact_list[m], contact_list[n]); + if (delta_a > 0) { + delta_ua = 1.0; + j_a = delta_a / (EFF_CONTACTS * delta_ua); + if (j_a < 1.0) j_a = 1.0; + + // scale the force at both contacts + + contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, + vwall, facc); + contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, + vwall, facc); + done = 1; + break; + } + } + if (done == 1) break; + } + + } else if (num_contacts == 1) { + + // if there's only one contact, it should be handled here + // since forces/torques have not been accumulated from vertex2wall() + + contact_forces(contact_list[0], 1.0, x, v, angmom, f, torque, + vwall, facc); + } + } // group bit + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::reset_dt() +{ + dt = update->dt; +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* vertices = bptr->edges(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,6,"fix:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, + // the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,5,"fix:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(vertices[2*m+0]); + edge[nedge][1] = static_cast(vertices[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + nedge++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's vertices against the wall + + i = atom i (body i) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + Return: + contact_list = list of contacts between i and the wall + num_contacts = number of contacts between i's vertices and the wall + interact = 0 no interaction with the wall + 1 there's at least one vertex of i interacts + with the wall +---------------------------------------------------------------------- */ + +int FixWallBodyPolygon::vertex_against_wall(int i, double wall_pos, + double** x, double** f, double** torque, int side, + Contact* contact_list, int &num_contacts, double* facc) +{ + int ni, npi, ifirst, interact; + double xpi[3], xpj[3], dist, eradi, rradi; + double fx, fy, fz, rx, ry, rz; + int nlocal = atom->nlocal; + + npi = dnum[i]; + ifirst = dfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + interact = 0; + + // loop through body i's vertices + + for (ni = 0; ni < npi; ni++) { + + // convert body-fixed coordinates to space-fixed, xi + + xpi[0] = x[i][0] + discrete[ifirst+ni][0]; + xpi[1] = x[i][1] + discrete[ifirst+ni][1]; + xpi[2] = x[i][2] + discrete[ifirst+ni][2]; + + int mode, contact, p2vertex; + double d, R, hi[3], t, delx, dely, delz, fpair, shift; + double xj[3], rij; + + // compute the distance from the vertex xpi to the wall + + mode = compute_distance_to_wall(xpi, rradi, wall_pos, side, + d, hi, contact); + + if (mode == INVALID || mode == NONE) continue; + + if (mode == VERTEX) { + + interact = 1; + + // vertex i interacts with the wall + + delx = xpi[0] - hi[0]; + dely = xpi[1] - hi[1]; + delz = xpi[2] - hi[2]; + + // R = surface separation = d shifted by the rounded radius + // R = d - p1.rounded_radius; + // note: the force is defined for R, not for d + // R > 0: no interaction + // R <= 0: deformation between vertex i and the wall + + rij = sqrt(delx*delx + dely*dely + delz*delz); + R = rij - rradi; + + // the normal frictional term -c_n * vn will be added later + + if (R <= 0) { // deformation occurs + fpair = -kn * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + #ifdef _POLYGON_DEBUG + printf(" Interaction between vertex %d of %d and wall:", ni); + printf(" mode = %d; contact = %d; d = %f; rij = %f\n", + mode, contact, d, rij); + printf(" R = %f\n", R); + printf(" fpair = %f\n", fpair); + #endif + + if (contact == 1) { + + // vertex ni of body i contacts with edge nj of body j + + contact_list[num_contacts].ibody = i; + contact_list[num_contacts].jbody = -1; + contact_list[num_contacts].vertex = ni; + contact_list[num_contacts].edge = -1; + contact_list[num_contacts].xv[0] = xpi[0]; + contact_list[num_contacts].xv[1] = xpi[1]; + contact_list[num_contacts].xv[2] = xpi[2]; + contact_list[num_contacts].xe[0] = hi[0]; + contact_list[num_contacts].xe[1] = hi[1]; + contact_list[num_contacts].xe[2] = hi[2]; + contact_list[num_contacts].separation = R; + num_contacts++; + + // store forces to vertex ni to be rescaled later, + // if there are 2 contacts + + discrete[ifirst+ni][3] = fx; + discrete[ifirst+ni][4] = fy; + discrete[ifirst+ni][5] = fz; + + #ifdef _POLYGON_DEBUG + printf(" Stored forces at vertex and edge for accumulating later.\n"); + #endif + + } else { // no contact + + // accumulate force and torque to the body directly + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + sum_torque(x[i], xpi, fx, fy, fz, torque[i]); + + } // end if contact + + } // end if mode + + } // end for looping through the vertices of body i + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between a vertex to the wall + another body + Input: + x0 = coordinate of the tested vertex + rradi = rounded radius of the vertex + wall_pos = position of the wall + Output: + d = Distance from a point x0 to an wall + hi = coordinates of the projection of x0 on the wall + contact = 0 no contact between the queried vertex and the wall + 1 contact detected + return NONE if there is no interaction + EDGE if the tested vertex interacts with the wall +------------------------------------------------------------------------- */ + +int FixWallBodyPolygon::compute_distance_to_wall(double* x0, double rradi, + double wall_pos, int side, double &d, double hi[3], int &contact) +{ + int mode; + double delxy; + + // h0 = position of the projection of x0 on the wall + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = x0[1]; + hi[2] = x0[2]; + } else if (wallstyle == YPLANE) { + hi[0] = x0[0]; + hi[1] = wall_pos; + hi[2] = x0[2]; + } else if (wallstyle == ZCYLINDER) { + delxy = sqrt(x0[0]*x0[0] + x0[1]*x0[1]); + hi[0] = x0[0]*cylradius/delxy; + hi[1] = x0[1]*cylradius/delxy; + hi[2] = x0[2]; + } + + // distance from x0 to the wall = distance from x0 to hi + + distance(hi, x0, d); + + // determine the interaction mode + + if (d < rradi) { + mode = VERTEX; + contact = 1; + } else { + if (side == XLO) { + if (x0[0] < wall_pos) mode = VERTEX; + else mode = NONE; + } else if (side == XHI) { + if (x0[0] > wall_pos) mode = VERTEX; + else mode = NONE; + } else if (side == YLO) { + if (x0[1] < wall_pos) mode = VERTEX; + else mode = NONE; + } else if (side == YHI) { + if (x0[1] > wall_pos) mode = VERTEX; + else mode = NONE; + } + } + + if (mode == NONE) contact = 0; + else contact = 1; + + return mode; +} + +/* ---------------------------------------------------------------------- + Compute the contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * vrt) +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double* vwall, double* facc) +{ + int ibody,ibonus,ifirst, jefirst, ni; + double fx,fy,fz,delx,dely,delz,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + ibody = contact.ibody; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xv, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // vector pointing from the vertex to the point on the wall + + delx = contact.xv[0] - contact.xe[0]; + dely = contact.xv[1] - contact.xe[1]; + delz = contact.xv[2] - contact.xe[2]; + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vwall[0]; + vr2 = vi[1] - vwall[1]; + vr3 = vi[2] - vwall[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // only the cohesive force is scaled by j_a + + ifirst = dfirst[ibody]; + ni = contact.vertex; + + fx = discrete[ifirst+ni][3] * j_a + fn[0] + ft[0]; + fy = discrete[ifirst+ni][4] * j_a + fn[1] + ft[1]; + fz = discrete[ifirst+ni][5] * j_a + fn[2] + ft[2]; + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact.xv, fx, fy, fz, torque[ibody]); + + // accumulate forces to the vertex only + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYGON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n", + discrete[ifirst+ni][3], discrete[ifirst+ni][4], discrete[ifirst+ni][5], + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts +------------------------------------------------------------------------- */ + +double FixWallBodyPolygon::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = c1.xv[0]; + double y1 = c1.xv[1]; + double x2 = c1.xe[0]; + double y2 = c1.xe[1]; + double x3 = c2.xv[0]; + double y3 = c2.xv[1]; + + double delta_a = 0.0; + if (fabs(x2 - x1) > EPSILON) { + double A = (y2 - y1) / (x2 - x1); + delta_a = fabs(y1 - A * x1 - y3 + A * x3) / sqrt(1 + A * A); + } else { + delta_a = fabs(x1 - x3); + } + + return delta_a; +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void FixWallBodyPolygon::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, + double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolygon::distance(const double* x2, const double* x1, + double& r) { + r = sqrt((x2[0] - x1[0]) * (x2[0] - x1[0]) + + (x2[1] - x1[1]) * (x2[1] - x1[1]) + + (x2[2] - x1[2]) * (x2[2] - x1[2])); +} + diff --git a/src/BODY/fix_wall_body_polygon.h b/src/BODY/fix_wall_body_polygon.h new file mode 100644 index 0000000000..3521c6c797 --- /dev/null +++ b/src/BODY/fix_wall_body_polygon.h @@ -0,0 +1,129 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(wall/body/polygon,FixWallBodyPolygon) + +#else + +#ifndef LMP_FIX_WALL_BODY_POLYGON_H +#define LMP_FIX_WALL_BODY_POLYGON_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixWallBodyPolygon : public Fix { + public: + FixWallBodyPolygon(class LAMMPS *, int, char **); + virtual ~FixWallBodyPolygon(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + void reset_dt(); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int vertex; // vertex of the first polygon + int edge; // edge of the second polygon + double xv[3]; // coordinates of the vertex + double xe[3]; // coordinates of the projection of the vertex on the edge + double separation;// separation at contact + }; + + protected: + int wallstyle,pairstyle,wiggle,axis; + double kn,c_n,c_t; + double lo,hi,cylradius; + double amplitude,period,omega; + double dt; + int time_origin; + + class AtomVecBody *avec; + class BodyRoundedPolygon *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + + void body2space(int); + + int vertex_against_wall(int ibody, double wall_pos, double** x, + double** f, double** torque, int side, + Contact* contact_list, int &num_contacts, + double* facc); + + int compute_distance_to_wall(double* x0, double rradi, double wall_pos, + int side, double &d, double hi[3], int &contact); + double contact_separation(const Contact& c1, const Contact& c2); + void contact_forces(Contact& contact, double j_a, double** x, + double** v, double** angmom, double** f, double** torque, + double* vwall, double* facc); + void sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + void distance(const double* x2, const double* x1, double& r); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix wall/body/polygon requires atom style body rounded/polygon + +Self-explanatory. + +E: Cannot use wall in periodic dimension + +Self-explanatory. + +E: Cannot wiggle and shear fix wall/body/polygon + +Cannot specify both options at the same time. + +E: Invalid wiggle direction for fix wall/body/polygon + +Self-explanatory. + +E: Fix wall/body/polygon is incompatible with Pair style + +Must use a body pair style to define the parameters needed for +this fix. + +*/ diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp new file mode 100644 index 0000000000..4806da9673 --- /dev/null +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -0,0 +1,944 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) +------------------------------------------------------------------------- */ + +#include +#include +#include +#include "fix_wall_body_polyhedron.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polyhedron.h" +#include "domain.h" +#include "update.h" +#include "force.h" +#include "pair.h" +#include "modify.h" +#include "respa.h" +#include "math_const.h" +#include "math_extra.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; +using namespace FixConst; +using namespace MathConst; + +enum{XPLANE=0,YPLANE=1,ZPLANE}; // XYZ PLANE need to be 0,1,2 +enum{HOOKE,HOOKE_HISTORY}; + +enum {INVALID=0,NONE=1,VERTEX=2}; +enum {FAR=0,XLO,XHI,YLO,YHI,ZLO,ZHI}; + +//#define _POLYHEDRON_DEBUG +#define DELTA 10000 +#define EPSILON 1e-2 +#define BIG 1.0e20 +#define MAX_CONTACTS 4 // maximum number of contacts for 2D models +#define EFF_CONTACTS 2 // effective contacts for 2D models + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) : + Fix(lmp, narg, arg) +{ + if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + + if (!atom->body_flag) + error->all(FLERR,"Fix wall/body/polyhedron requires atom style body/rounded/polyhedron"); + + restart_peratom = 1; + create_attribute = 1; + + // wall/particle coefficients + + kn = force->numeric(FLERR,arg[3]); + + c_n = force->numeric(FLERR,arg[4]); + if (strcmp(arg[5],"NULL") == 0) c_t = 0.5 * c_n; + else c_t = force->numeric(FLERR,arg[5]); + + if (kn < 0.0 || c_n < 0.0 || c_t < 0.0) + error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + + // wallstyle args + + int iarg = 6; + if (strcmp(arg[iarg],"xplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + wallstyle = XPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"yplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + wallstyle = YPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } else if (strcmp(arg[iarg],"zplane") == 0) { + if (narg < iarg+3) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + wallstyle = ZPLANE; + if (strcmp(arg[iarg+1],"NULL") == 0) lo = -BIG; + else lo = force->numeric(FLERR,arg[iarg+1]); + if (strcmp(arg[iarg+2],"NULL") == 0) hi = BIG; + else hi = force->numeric(FLERR,arg[iarg+2]); + iarg += 3; + } + + // check for trailing keyword/values + + wiggle = 0; + + while (iarg < narg) { + if (strcmp(arg[iarg],"wiggle") == 0) { + if (iarg+4 > narg) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + if (strcmp(arg[iarg+1],"x") == 0) axis = 0; + else if (strcmp(arg[iarg+1],"y") == 0) axis = 1; + else if (strcmp(arg[iarg+1],"z") == 0) axis = 2; + else error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + amplitude = force->numeric(FLERR,arg[iarg+2]); + period = force->numeric(FLERR,arg[iarg+3]); + wiggle = 1; + iarg += 4; + } else error->all(FLERR,"Illegal fix wall/body/polyhedron command"); + } + + if (wallstyle == XPLANE && domain->xperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == YPLANE && domain->yperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + if (wallstyle == ZPLANE && domain->zperiodic) + error->all(FLERR,"Cannot use wall in periodic dimension"); + + // setup oscillations + + if (wiggle) omega = 2.0*MY_PI / period; + + time_origin = update->ntimestep; + + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + facmax = facnummax = 0; + face = NULL; + facnum = facfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; +} + +/* ---------------------------------------------------------------------- */ + +FixWallBodyPolyhedron::~FixWallBodyPolyhedron() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(face); + memory->destroy(facnum); + memory->destroy(facfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); +} + +/* ---------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::setmask() +{ + int mask = 0; + mask |= POST_FORCE; + return mask; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::init() +{ + dt = update->dt; + + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) + error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + bptr = (BodyRoundedPolyhedron *) avec->bptr; + + // set pairstyle from body/polyhedronular pair style + + if (force->pair_match("body/rounded/polyhedron",1)) + pairstyle = HOOKE; + else error->all(FLERR,"Fix wall/body/polyhedron is incompatible with Pair style"); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::setup(int vflag) +{ + if (strstr(update->integrate_style,"verlet")) + post_force(vflag); +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::post_force(int vflag) +{ + double vwall[3],dx,dy,dz,del1,del2,delxy,delr,rsq,eradi,rradi,wall_pos; + int i,ni,npi,ifirst,nei,iefirst,nfi,iffirst,side; + double facc[3]; + + // set position of wall to initial settings and velocity to 0.0 + // if wiggle, set wall position and velocity accordingly + + double wlo = lo; + double whi = hi; + vwall[0] = vwall[1] = vwall[2] = 0.0; + if (wiggle) { + double arg = omega * (update->ntimestep - time_origin) * dt; + if (wallstyle == axis) { + wlo = lo + amplitude - amplitude*cos(arg); + whi = hi + amplitude - amplitude*cos(arg); + } + vwall[axis] = amplitude*omega*sin(arg); + } + + // loop over all my atoms + // rsq = distance from wall + // dx,dy,dz = signed distance from wall + // for rotating cylinder, reset vwall based on particle position + // skip atom if not close enough to wall + // if wall was set to NULL, it's skipped since lo/hi are infinity + // compute force and torque on atom if close enough to wall + // via wall potential matched to pair potential + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + int *body = atom->body; + double *radius = atom->radius; + double **torque = atom->torque; + double **angmom = atom->angmom; + int *mask = atom->mask; + int nlocal = atom->nlocal; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(facnum); + memory->destroy(facfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"fix:dnum"); + memory->create(dfirst,nmax,"fix:dfirst"); + memory->create(ednum,nmax,"fix:ednum"); + memory->create(edfirst,nmax,"fix:edfirst"); + memory->create(facnum,nmax,"fix:facnum"); + memory->create(facfirst,nmax,"fix:facfirst"); + memory->create(enclosing_radius,nmax,"fix:enclosing_radius"); + memory->create(rounded_radius,nmax,"fix:rounded_radius"); + } + + ndiscrete = nedge = nface = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = facnum[i] = 0; + + for (i = 0; i < nlocal; i++) { + if (mask[i] & groupbit) { + + if (body[i] < 0) continue; + + dx = dy = dz = 0.0; + side = FAR; + if (wallstyle == XPLANE) { + del1 = x[i][0] - wlo; + del2 = whi - x[i][0]; + if (del1 < del2) { + dx = del1; + wall_pos = wlo; + side = XLO; + } else { + dx = -del2; + wall_pos = whi; + side = XHI; + } + } else if (wallstyle == YPLANE) { + del1 = x[i][1] - wlo; + del2 = whi - x[i][1]; + if (del1 < del2) { + dy = del1; + wall_pos = wlo; + side = YLO; + } else { + dy = -del2; + wall_pos = whi; + side = YHI; + } + } else if (wallstyle == ZPLANE) { + del1 = x[i][2] - wlo; + del2 = whi - x[i][2]; + if (del1 < del2) { + dy = del1; + wall_pos = wlo; + side = ZLO; + } else { + dy = -del2; + wall_pos = whi; + side = ZHI; + } + } + + rsq = dx*dx + dy*dy + dz*dz; + if (rsq > radius[i]*radius[i]) continue; + + double r = sqrt(rsq); + double rsqinv = 1.0 / rsq; + + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + nfi = facnum[i]; + iffirst = facfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + if (npi == 1) { + sphere_against_wall(i, wall_pos, side, vwall, x, v, f, angmom, torque); + continue; + } + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + discrete[ifirst+ni][6] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + edge[iefirst+ni][5] = 0; + } + + int interact, num_contacts, done; + double delta_a, delta_ua, j_a; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + facc[0] = facc[1] = facc[2] = 0; + interact = edge_against_wall(i, wall_pos, side, vwall, x, f, torque, + contact_list, num_contacts, facc); + + } // group bit + } +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::reset_dt() +{ + dt = update->dt; +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* edge_ends = bptr->edges(bonus); + int body_num_faces = bptr->nfaces(bonus); + double* face_pts = bptr->faces(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,7,"fix:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + discrete[ndiscrete][6] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, + // the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,6,"fix:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(edge_ends[2*m+0]); + edge[nedge][1] = static_cast(edge_ends[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + edge[nedge][5] = 0; + nedge++; + } + + // get the number of faces and the index of the first face + + facnum[i] = body_num_faces; + facfirst[i] = nface; + + // grow the face list if necessary + // the first 3 columns are for vertex indices within body, the last 3 for forces + + if (nface + body_num_faces > facmax) { + facmax += DELTA; + memory->grow(face,facmax,6,"pair:face"); + } + + for (int m = 0; m < body_num_faces; m++) { + face[nface][0] = static_cast(face_pts[3*m+0]); + face[nface][1] = static_cast(face_pts[3*m+1]); + face[nface][2] = static_cast(face_pts[3*m+2]); + face[nface][3] = 0; + face[nface][4] = 0; + face[nface][5] = 0; + nface++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between a sphere against the wall + + i = atom i (body i) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques +---------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::sphere_against_wall(int i, double wall_pos, + int side, double* vwall, double** x, double** v, double** f, + double** angmom, double** torque) +{ + int mode; + double rradi,hi[3],d,delx,dely,delz,R,fpair,fx,fy,fz; + + rradi = rounded_radius[i]; + mode = NONE; + + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = x[i][1]; + hi[2] = x[i][2]; + } else if (wallstyle == YPLANE) { + hi[0] = x[i][0]; + hi[1] = wall_pos; + hi[2] = x[i][2]; + } else if (wallstyle == ZPLANE) { + hi[0] = x[i][0]; + hi[1] = x[i][1]; + hi[2] = wall_pos; + } + + distance(hi, x[i], d); + + if (d <= rradi) { + delx = x[i][0] - hi[0]; + dely = x[i][1] - hi[1]; + delz = x[i][2] - hi[2]; + R = d - rradi; + + fpair = -kn * R; + + fx = delx*fpair/d; + fy = dely*fpair/d; + fz = delz*fpair/d; + + contact_forces(i, 1.0, x[i], hi, delx, dely, delz, + fx, fy, fz, x, v, angmom, f, torque, vwall); + mode = VERTEX; + } + + return mode; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's vertices against the wall + + i = atom i (body i) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + Output: + contact_list = list of contacts between i and the wall + num_contacts = number of contacts between i's vertices and the wall + Return: + number of contacts of the edge to the wall (0, 1 or 2) +---------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::edge_against_wall(int i, double wall_pos, + int side, double* vwall, double** x, double** f, double** torque, + Contact* contact_list, int &num_contacts, double* facc) +{ + int ni, nei, mode, contact; + double rradi; + int nlocal = atom->nlocal; + + nei = ednum[i]; + rradi = rounded_radius[i]; + + contact = 0; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) + mode = compute_distance_to_wall(i, ni, x[i], rradi, wall_pos, side, vwall, + contact); + + return contact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between a vertex to the wall + another body + Input: + x0 = coordinate of the tested vertex + rradi = rounded radius of the vertex + wall_pos = position of the wall + Output: + d = Distance from a point x0 to an wall + hi = coordinates of the projection of x0 on the wall + contact = 0 no contact between the queried vertex and the wall + 1 contact detected + return NONE if there is no interaction + VERTEX if the tested vertex interacts with the wall +------------------------------------------------------------------------- */ + +int FixWallBodyPolyhedron::compute_distance_to_wall(int ibody, int edge_index, + double *xmi, double rounded_radius_i, double wall_pos, + int side, double* vwall, int &contact) +{ + int mode,ifirst,iefirst,npi1,npi2; + double d1,d2,xpi1[3],xpi2[3],hi[3]; + double fx,fy,fz,fpair,delx,dely,delz,R; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + // two ends of the edge from body i + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index][0]); + npi2 = static_cast(edge[iefirst+edge_index][1]); + + xpi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xpi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xpi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xpi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xpi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xpi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // determine the intersection of the edge to the wall + + mode = NONE; + double j_a = 1.0; + + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = xpi1[1]; + hi[2] = xpi1[2]; + } else if (wallstyle == YPLANE) { + hi[0] = xpi1[0]; + hi[1] = wall_pos; + hi[2] = xpi1[2]; + } else if (wallstyle == ZPLANE) { + hi[0] = xpi1[0]; + hi[1] = xpi1[1]; + hi[2] = wall_pos; + } + + distance(hi, xpi1, d1); + + if (d1 <= rounded_radius_i && static_cast(discrete[ifirst+npi1][6]) == 0) { + delx = xpi1[0] - hi[0]; + dely = xpi1[1] - hi[1]; + delz = xpi1[2] - hi[2]; + R = d1 - rounded_radius_i; + + fpair = -kn * R; + + fx = delx*fpair/d1; + fy = dely*fpair/d1; + fz = delz*fpair/d1; + + contact_forces(ibody, j_a, xpi1, hi, delx, dely, delz, + fx, fy, fz, x, v, angmom, f, torque, vwall); + discrete[ifirst+npi1][6] = 1; + contact++; + mode = VERTEX; + } + + if (wallstyle == XPLANE) { + hi[0] = wall_pos; + hi[1] = xpi2[1]; + hi[2] = xpi2[2]; + } else if (wallstyle == YPLANE) { + hi[0] = xpi2[0]; + hi[1] = wall_pos; + hi[2] = xpi2[2]; + } else if (wallstyle == ZPLANE) { + hi[0] = xpi2[0]; + hi[1] = xpi2[1]; + hi[2] = wall_pos; + } + + distance(hi, xpi2, d2); + + if (d2 <= rounded_radius_i && static_cast(discrete[ifirst+npi2][6]) == 0) { + delx = xpi2[0] - hi[0]; + dely = xpi2[1] - hi[1]; + delz = xpi2[2] - hi[2]; + R = d2 - rounded_radius_i; + + fpair = -kn * R; + + fx = delx*fpair/d2; + fy = dely*fpair/d2; + fz = delz*fpair/d2; + + contact_forces(ibody, j_a, xpi2, hi, delx, dely, delz, + fx, fy, fz, x, v, angmom, f, torque, vwall); + discrete[ifirst+npi2][6] = 1; + contact++; + mode = VERTEX; + } + + return mode; +} + +/* ---------------------------------------------------------------------- + Compute contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * v_t) +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::contact_forces(int ibody, + double j_a, double *xi, double *xj, double delx, double dely, double delz, + double fx, double fy, double fz, double** x, double** v, double** angmom, + double** f, double** torque, double* vwall) +{ + int ibonus,jbonus; + double fxt,fyt,fzt,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3],vj[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(xi, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // vector pointing from the contact point on ibody to the wall + + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vwall[0]; + vr2 = vi[1] - vwall[1]; + vr3 = vi[2] - vwall[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fxt = fx; fyt = fy; fzt = fz; + fx = fxt * j_a + fn[0] + ft[0]; + fy = fyt * j_a + fn[1] + ft[1]; + fz = fzt * j_a + fn[2] + ft[2]; + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], xi, fx, fy, fz, torque[ibody]); + + #ifdef _POLYHEDRON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", + fxt, fyt, fzt, + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2], + atom->tag[jbody],torque[jbody][0],torque[jbody][1],torque[jbody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Compute the contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * vrt) +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double* vwall, double* facc) +{ + int ibody,ibonus,ifirst, jefirst, ni; + double fx,fy,fz,delx,dely,delz,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + ibody = contact.ibody; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xv, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // vector pointing from the vertex to the point on the wall + + delx = contact.xv[0] - contact.xe[0]; + dely = contact.xv[1] - contact.xe[1]; + delz = contact.xv[2] - contact.xe[2]; + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vwall[0]; + vr2 = vi[1] - vwall[1]; + vr3 = vi[2] - vwall[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // only the cohesive force is scaled by j_a + + ifirst = dfirst[ibody]; + ni = contact.vertex; + + fx = discrete[ifirst+ni][3] * j_a + fn[0] + ft[0]; + fy = discrete[ifirst+ni][4] * j_a + fn[1] + ft[1]; + fz = discrete[ifirst+ni][5] * j_a + fn[2] + ft[2]; + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact.xv, fx, fy, fz, torque[ibody]); + + // accumulate forces to the vertex only + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYHEDRON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n", + discrete[ifirst+ni][3], discrete[ifirst+ni][4], discrete[ifirst+ni][5], + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts +------------------------------------------------------------------------- */ + +double FixWallBodyPolyhedron::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = c1.xv[0]; + double y1 = c1.xv[1]; + double x2 = c1.xe[0]; + double y2 = c1.xe[1]; + double x3 = c2.xv[0]; + double y3 = c2.xv[1]; + + double delta_a = 0.0; + if (fabs(x2 - x1) > EPSILON) { + double A = (y2 - y1) / (x2 - x1); + delta_a = fabs(y1 - A * x1 - y3 + A * x3) / sqrt(1 + A * A); + } else { + delta_a = fabs(x1 - x3); + } + + return delta_a; +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, + double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void FixWallBodyPolyhedron::distance(const double* x2, const double* x1, + double& r) { + r = sqrt((x2[0] - x1[0]) * (x2[0] - x1[0]) + + (x2[1] - x1[1]) * (x2[1] - x1[1]) + + (x2[2] - x1[2]) * (x2[2] - x1[2])); +} + diff --git a/src/BODY/fix_wall_body_polyhedron.h b/src/BODY/fix_wall_body_polyhedron.h new file mode 100644 index 0000000000..ff7b7ca7cf --- /dev/null +++ b/src/BODY/fix_wall_body_polyhedron.h @@ -0,0 +1,143 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef FIX_CLASS + +FixStyle(wall/body/polyhedron,FixWallBodyPolyhedron) + +#else + +#ifndef LMP_FIX_WALL_BODY_POLYHERON_H +#define LMP_FIX_WALL_BODY_POLYHERON_H + +#include "fix.h" + +namespace LAMMPS_NS { + +class FixWallBodyPolyhedron : public Fix { + public: + FixWallBodyPolyhedron(class LAMMPS *, int, char **); + virtual ~FixWallBodyPolyhedron(); + int setmask(); + void init(); + void setup(int); + virtual void post_force(int); + void reset_dt(); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int vertex; // vertex of the first polygon + int edge; // edge of the second polygon + double xv[3]; // coordinates of the vertex + double xe[3]; // coordinates of the projection of the vertex on the edge + double separation;// separation at contact + }; + + protected: + int wallstyle,pairstyle,wiggle,axis; + double kn,c_n,c_t; + double lo,hi,cylradius; + double amplitude,period,omega; + double dt; + int time_origin; + + class AtomVecBody *avec; + class BodyRoundedPolyhedron *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double **face; // list of all edge for all bodies + int nface; // number of faces in list + int facmax; // allocated size of face list + int *facnum; // number of faces per line, 0 if uninit + int *facfirst; // index of first face per each line + int facnummax; // allocated size of facnum,facfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + + void body2space(int); + + int edge_against_wall(int ibody, double wall_pos, int side, double* vwall, + double** x, double** f, double** torque, Contact* contact_list, + int &num_contacts, double* facc); + int sphere_against_wall(int i, double wall_pos, int side, double* vwall, + double** x, double** v, double** f, double** angmom, double** torque); + + int compute_distance_to_wall(int ibody, int edge_index, double *xmi, + double rounded_radius_i, double wall_pos, int side, + double* vwall, int &contact); + double contact_separation(const Contact& c1, const Contact& c2); + void contact_forces(int ibody, double j_a, double *xi, double *xj, + double delx, double dely, double delz, + double fx, double fy, double fz, double** x, double** v, + double** angmom, double** f, double** torque, double* vwall); + + void contact_forces(Contact& contact, double j_a, double** x, + double** v, double** angmom, double** f, double** torque, + double* vwall, double* facc); + void sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + void distance(const double* x2, const double* x1, double& r); + +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Fix wall/body/polyhedron requires atom style body rounded/polyhedron + +Self-explanatory. + +E: Cannot use wall in periodic dimension + +Self-explanatory. + +E: Cannot wiggle and shear fix wall/body/polygon + +Cannot specify both options at the same time. + +E: Invalid wiggle direction for fix wall/body/polygon + +Self-explanatory. + +E: Fix wall/body/polygon is incompatible with Pair style + +Must use a body pair style to define the parameters needed for +this fix. + +*/ diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp new file mode 100644 index 0000000000..72591d2bd0 --- /dev/null +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -0,0 +1,1359 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) + Ref: Fraige, Langston, Matchett and Dodds, Particuology 2008, 6:455-466 + Note: The current implementation has not taken into account + the contact history for friction forces. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_body_rounded_polygon.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polygon.h" +#include "comm.h" +#include "force.h" +#include "fix.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "memory.h" +#include "error.h" + +using namespace LAMMPS_NS; + +//#define _POLYGON_DEBUG +#define DELTA 10000 +#define EPSILON 1e-3 +#define MAX_CONTACTS 4 // maximum number of contacts for 2D models +#define EFF_CONTACTS 2 // effective contacts for 2D models + +enum {INVALID=0,NONE=1,VERTEXI=2,VERTEXJ=3,EDGE=4}; + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolygon::PairBodyRoundedPolygon(LAMMPS *lmp) : Pair(lmp) +{ + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; + maxerad = NULL; + + single_enable = 0; + restartinfo = 0; + + c_n = 0.1; + c_t = 0.2; + mu = 0.0; + delta_ua = 1.0; +} + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolygon::~PairBodyRoundedPolygon() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(k_n); + memory->destroy(k_na); + memory->destroy(maxerad); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + int ni,nj,npi,npj,ifirst,jfirst; + int nei,nej,iefirst,jefirst; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,fx,fy,fz; + double rsq,rsqinv,r,radi,radj,eradi,eradj,rradi,rradj,k_nij,k_naij; + double xi[3],xj[3],fi[3],fj[3],ti[3],tj[3],facc[3]; + double *dxi,*dxj; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **torque = atom->torque; + double **angmom = atom->angmom; + double *radius = atom->radius; + tagint* tag = atom->tag; + int *body = atom->body; + int *type = atom->type; + int nlocal = atom->nlocal; + int nall = nlocal + atom->nghost; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = 0; + for (i = 0; i < nall; i++) + dnum[i] = ednum[i] = 0; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + radi = radius[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + radj = radius[j]; + + // body/body interactions + + evdwl = 0.0; + facc[0] = facc[1] = facc[2] = 0; + + if (body[i] < 0 || body[j] < 0) continue; + + if (dnum[j] == 0) body2space(j); + npj = dnum[j]; + jfirst = dfirst[j]; + nej = ednum[j]; + jefirst = edfirst[j]; + eradj = enclosing_radius[j]; + rradj = rounded_radius[j]; + + k_nij = k_n[itype][jtype]; + k_naij = k_na[itype][jtype]; + + // no interaction + + r = sqrt(rsq); + if (r > radi + radj + cut_inner) continue; + rsqinv = 1.0 / rsq; + + if (npi == 1 && npj == 1) { + sphere_against_sphere(i, j, delx, dely, delz, rsq, + k_nij, k_naij, x, v, f, evflag); + continue; + } + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + } + + for (nj = 0; nj < npj; nj++) { + discrete[jfirst+nj][3] = 0; + discrete[jfirst+nj][4] = 0; + discrete[jfirst+nj][5] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + } + + for (nj = 0; nj < nej; nj++) { + edge[jefirst+nj][2] = 0; + edge[jefirst+nj][3] = 0; + edge[jefirst+nj][4] = 0; + } + + int interact, num_contacts, done; + double delta_a, j_a; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + + // check interaction between i's vertices and j' edges + + interact = vertex_against_edge(i, j, k_nij, k_naij, + x, f, torque, tag, contact_list, + num_contacts, evdwl, facc); + + // check interaction between j's vertices and i' edges + + interact = vertex_against_edge(j, i, k_nij, k_naij, + x, f, torque, tag, contact_list, + num_contacts, evdwl, facc); + + if (num_contacts >= 2) { + + // find the first two distinct contacts + + done = 0; + for (int m = 0; m < num_contacts-1; m++) { + for (int n = m+1; n < num_contacts; n++) { + delta_a = contact_separation(contact_list[m], contact_list[n]); + if (delta_a > 0) { + j_a = delta_a / (EFF_CONTACTS * delta_ua); + if (j_a < 1.0) j_a = 1.0; + + // scale the force at both contacts + + contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, evdwl, facc); + contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, evdwl, facc); + done = 1; + + #ifdef _POLYGON_DEBUG + printf(" Two separate contacts %d and %d: delta_a = %f; j_a = %f\n", + m, n, delta_a, j_a); + printf(" %d: vertex %d of body %d and edge %d of body %d; " + "xv = %f %f %f; xe = %f %f %f\n", + m, contact_list[m].vertex, contact_list[m].ibody, + contact_list[m].edge, contact_list[m].jbody, + contact_list[m].xv[0], contact_list[m].xv[1], contact_list[m].xv[2], + contact_list[m].xe[0], contact_list[m].xe[1], contact_list[m].xe[2]); + printf(" %d: vertex %d of body %d and edge %d of body %d; " + "xv = %f %f %f; xe = %f %f %f\n", + n, contact_list[n].vertex, contact_list[n].ibody, + contact_list[n].edge, contact_list[n].jbody, + contact_list[n].xv[0], contact_list[n].xv[1], contact_list[n].xv[2], + contact_list[n].xe[0], contact_list[n].xe[1], contact_list[n].xe[2]); + #endif + + break; + } + } + if (done == 1) break; + } + + + } else if (num_contacts == 1) { + + // if there's only one contact, it should be handled here + // since forces/torques have not been accumulated from vertex2edge() + + contact_forces(contact_list[0], 1.0, x, v, angmom, f, torque, evdwl, facc); + + #ifdef _POLYGON_DEBUG + printf("One contact between vertex %d of body %d and edge %d of body %d:\n", + contact_list[0].vertex, tag[contact_list[0].ibody], + contact_list[0].edge, tag[contact_list[0].jbody]); + printf("xv = %f %f %f; xe = %f %f %f\n", + contact_list[0].xv[0], contact_list[0].xv[1], contact_list[0].xv[2], + contact_list[0].xe[0], contact_list[0].xe[1], contact_list[0].xe[2]); + #endif + } + + #ifdef _POLYGON_DEBUG + int num_overlapping_contacts = 0; + for (int m = 0; m < num_contacts-1; m++) { + for (int n = m+1; n < num_contacts; n++) { + double l = contact_separation(contact_list[m], contact_list[n]); + if (l < EPSILON) num_overlapping_contacts++; + } + } + printf("There are %d contacts detected, %d of which overlap.\n", + num_contacts, num_overlapping_contacts); + #endif + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, + facc[0],facc[1],facc[2],delx,dely,delz); + + } // end for jj + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(k_n,n+1,n+1,"pair:k_n"); + memory->create(k_na,n+1,n+1,"pair:k_na"); + memory->create(maxerad,n+1,"pair:maxerad"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::settings(int narg, char **arg) +{ + if (narg < 5) error->all(FLERR,"Illegal pair_style command"); + + c_n = force->numeric(FLERR,arg[0]); + c_t = force->numeric(FLERR,arg[1]); + mu = force->numeric(FLERR,arg[2]); + delta_ua = force->numeric(FLERR,arg[3]); + cut_inner = force->numeric(FLERR,arg[4]); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::coeff(int narg, char **arg) +{ + if (narg < 4 || narg > 5) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double k_n_one = force->numeric(FLERR,arg[2]); + double k_na_one = force->numeric(FLERR,arg[3]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + k_n[i][j] = k_n_one; + k_na[i][j] = k_na_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::init_style() +{ + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polygon") != 0) + error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + bptr = (BodyRoundedPolygon *) avec->bptr; + + if (comm->ghost_velocity == 0) + error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); + + neighbor->request(this); + + // find the maximum enclosing radius for each atom type + + int i, itype; + double eradi; + int* body = atom->body; + int* type = atom->type; + int ntypes = atom->ntypes; + int nlocal = atom->nlocal; + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = 0; + + double *merad = NULL; + memory->create(merad,ntypes+1,"pair:merad"); + for (i = 1; i <= ntypes; i++) + maxerad[i] = merad[i] = 0; + + int ipour; + for (ipour = 0; ipour < modify->nfix; ipour++) + if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (ipour == modify->nfix) ipour = -1; + + int idep; + for (idep = 0; idep < modify->nfix; idep++) + if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (idep == modify->nfix) idep = -1; + + for (i = 1; i <= ntypes; i++) { + merad[i] = 0.0; + if (ipour >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[ipour]->extract("radius",itype)); + } + if (idep >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[idep]->extract("radius",itype)); + } + } + + for (i = 0; i < nlocal; i++) { + itype = type[i]; + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + eradi = enclosing_radius[i]; + if (eradi > merad[itype]) merad[itype] = eradi; + } else + merad[itype] = 0; + } + + MPI_Allreduce(&merad[1],&maxerad[1],ntypes,MPI_DOUBLE,MPI_MAX,world); + + memory->destroy(merad); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolygon::init_one(int i, int j) +{ + k_n[j][i] = k_n[i][j]; + k_na[j][i] = k_na[i][j]; + + return (maxerad[i]+maxerad[j]); +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* edge_ends = bptr->edges(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,6,"pair:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,5,"pair:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(edge_ends[2*m+0]); + edge[nedge][1] = static_cast(edge_ends[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + nedge++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Interaction between two spheres with different radii + according to the 2D model from Fraige et al. +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::sphere_against_sphere(int i, int j, + double delx, double dely, double delz, double rsq, + double k_n, double k_na, double** x, double** v, + double** f, int evflag) +{ + double eradi,eradj,rradi,rradj; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,shift,energy; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + eradj = enclosing_radius[j]; + rradj = rounded_radius[j]; + + rsqinv = 1.0/rsq; + rij = sqrt(rsq); + R = rij - (rradi + rradj); + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= EPSILON) { // in contact + + // relative translational velocity + + vr1 = v[i][0] - v[j][0]; + vr2 = v[i][1] - v[j][1]; + vr3 = v[i][2] - v[j][2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + } + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + + if (newton_pair || j < nlocal) { + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's vertices against j's edges + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's vertices and j's edges + Return: + interact = 0 no interaction at all + 1 there's at least one case where i's vertices interacts + with j's edges +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, + double k_n, double k_na, + double** x, double** f, + double** torque, tagint* tag, + Contact* contact_list, + int &num_contacts, + double &evdwl, double* facc) +{ + int ni, npi, ifirst, nei, iefirst; + int nj, npj, jfirst, nej, jefirst; + double xpi[3], xpj[3], dist, eradi, eradj, rradi, rradj; + double fx, fy, fz, rx, ry, rz, energy; + int interact; + int nlocal = atom->nlocal; + + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + rradi = rounded_radius[i]; + + npj = dnum[j]; + jfirst = dfirst[j]; + nej = ednum[j]; + jefirst = edfirst[j]; + eradj = enclosing_radius[j]; + rradj = rounded_radius[j]; + + energy = 0; + interact = 0; + + // loop through body i's vertices + + for (ni = 0; ni < npi; ni++) { + + // convert body-fixed coordinates to space-fixed, xi + + xpi[0] = x[i][0] + discrete[ifirst+ni][0]; + xpi[1] = x[i][1] + discrete[ifirst+ni][1]; + xpi[2] = x[i][2] + discrete[ifirst+ni][2]; + + // compute the distance from the vertex to the COM of body j + + distance(xpi, x[j], dist); + + #ifdef _POLYGON_DEBUG + printf("Distance between vertex %d of body %d (%0.1f %0.1f %0.1f) " + "to body %d's COM: %f (cut = %0.1f)\n", + ni, xpi[0], xpi[1], xpi[2], atom->tag[i], atom->tag[j], dist, + eradj + rradi + rradj + cut_inner); + #endif + + // the vertex is within the enclosing circle (sphere) of body j, + // possibly interacting + + if (dist > eradj + rradj + rradi + cut_inner) continue; + + int mode, contact, p2vertex; + double d, R, hi[3], t, delx, dely, delz, fpair, shift; + double xj[3], rij; + + // loop through body j's edges + + for (nj = 0; nj < nej; nj++) { + + // compute the distance between the edge nj to the vertex xpi + + mode = compute_distance_to_vertex(j, nj, x[j], rradj, + xpi, rradi, cut_inner, + d, hi, t, contact); + + if (mode == INVALID || mode == NONE) continue; + + if (mode == VERTEXI || mode == VERTEXJ) { + + interact = 1; + + // vertex i interacts with a vertex of the edge, but does not contact + + if (mode == VERTEXI) p2vertex = edge[jefirst+nj][0]; + else if (mode == VERTEXJ) p2vertex = edge[jefirst+nj][1]; + + // p2.body2space(p2vertex, xj); + xpj[0] = x[j][0] + discrete[jfirst+p2vertex][0]; + xpj[1] = x[j][1] + discrete[jfirst+p2vertex][1]; + xpj[2] = x[j][2] + discrete[jfirst+p2vertex][2]; + + delx = xpi[0] - xpj[0]; + dely = xpi[1] - xpj[1]; + delz = xpi[2] - xpj[2]; + + // R = surface separation = rij shifted by the rounded radii + // R = rij - (p1.rounded_radius + p2.rounded_radius); + // note: the force is defined for R, not for rij + // R > rc: no interaction between vertex ni and p2vertex + // 0 < R < rc: cohesion between vertex ni and p2vertex + // R < 0: deformation between vertex ni and p2vertex + + rij = sqrt(delx*delx + dely*dely + delz*delz); + R = rij - (rradi + rradj); + shift = k_na * cut_inner; + + // the normal frictional term -c_n * vn will be added later + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy += (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy += (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + #ifdef _POLYGON_DEBUG + printf(" Interaction between vertex %d of %d and vertex %d of %d:", + ni, tag[i], p2vertex, tag[j]); + printf(" mode = %d; contact = %d; d = %f; rij = %f, t = %f\n", + mode, contact, d, rij, t); + printf(" R = %f; cut_inner = %f\n", R, cut_inner); + printf(" fpair = %f\n", fpair); + #endif + + // add forces to body i and body j directly + // avoid double counts this pair of vertices + // i and j can be either local or ghost atoms (bodies) + // probably need more work here when the vertices' interaction + // are not symmetric, e.g. j interacts with the edge + // consisting of i but in mode = EDGE instead of VERTEX*. + // OR, for the time being assume that the edge length is + // sufficiently greater than the rounded radius to distinguish + // vertex-vertex from vertex-edge contact modes. + // Special case: when i is a sphere, also accumulate + + if (tag[i] < tag[j] || npi == 1) { + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + sum_torque(x[i], xpi, fx, fy, fz, torque[i]); + + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + sum_torque(x[j], xpj, -fx, -fy, -fz, torque[j]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYGON_DEBUG + printf(" from vertex-vertex: " + "force on vertex %d of body %d: fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", ni, tag[i], fx, fy, fz, + tag[i],torque[i][0],torque[i][1],torque[i][2], + tag[j],torque[j][0],torque[j][1],torque[j][2]); + #endif + } + + // done with the edges from body j, + // given that vertex ni interacts with only one vertex from one edge of body j + +// break; + + } else if (mode == EDGE) { + + interact = 1; + + // vertex i interacts with the edge + + delx = xpi[0] - hi[0]; + dely = xpi[1] - hi[1]; + delz = xpi[2] - hi[2]; + + // R = surface separation = d shifted by the rounded radii + // R = d - (p1.rounded_radius + p2.rounded_radius); + // Note: the force is defined for R, not for d + // R > rc: no interaction between vertex i and edge j + // 0 < R < rc: cohesion between vertex i and edge j + // R < 0: deformation between vertex i and edge j + // rij = sqrt(delx*delx + dely*dely + delz*delz); + + R = d - (rradi + rradj); + shift = k_na * cut_inner; + + // the normal frictional term -c_n * vn will be added later + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy += (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy += (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/d; + fy = dely*fpair/d; + fz = delz*fpair/d; + + #ifdef _POLYGON_DEBUG + printf(" Interaction between vertex %d of %d and edge %d of %d:", + ni, tag[i], nj, tag[j]); + printf(" mode = %d; contact = %d; d = %f; t = %f\n", + mode, contact, d, t); + printf(" R = %f; cut_inner = %f\n", R, cut_inner); + printf(" fpair = %f\n", fpair); + #endif + + if (contact == 1) { + + // vertex ni of body i contacts with edge nj of body j + + contact_list[num_contacts].ibody = i; + contact_list[num_contacts].jbody = j; + contact_list[num_contacts].vertex = ni; + contact_list[num_contacts].edge = nj; + contact_list[num_contacts].xv[0] = xpi[0]; + contact_list[num_contacts].xv[1] = xpi[1]; + contact_list[num_contacts].xv[2] = xpi[2]; + contact_list[num_contacts].xe[0] = hi[0]; + contact_list[num_contacts].xe[1] = hi[1]; + contact_list[num_contacts].xe[2] = hi[2]; + contact_list[num_contacts].separation = R; + num_contacts++; + + // store forces to vertex ni and the edge nj + // to be rescaled later + + discrete[ifirst+ni][3] = fx; + discrete[ifirst+ni][4] = fy; + discrete[ifirst+ni][5] = fz; + + edge[jefirst+nj][2] = -fx; + edge[jefirst+nj][3] = -fy; + edge[jefirst+nj][4] = -fz; + + #ifdef _POLYGON_DEBUG + printf(" Stored forces at vertex and edge for accumulating later.\n"); + #endif + + } else { // no contact + + // accumulate force and torque to both bodies directly + + f[i][0] += fx; + f[i][1] += fy; + f[i][2] += fz; + sum_torque(x[i], xpi, fx, fy, fz, torque[i]); + + f[j][0] -= fx; + f[j][1] -= fy; + f[j][2] -= fz; + sum_torque(x[j], hi, -fx, -fy, -fz, torque[j]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYGON_DEBUG + printf(" from vertex-edge, no contact: " + "force on vertex %d of body %d: fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", ni, tag[i], fx, fy, fz, + tag[i],torque[i][0],torque[i][1],torque[i][2], + tag[j],torque[j][0],torque[j][1],torque[j][2]); + #endif + } // end if contact + + // done with the edges from body j, + // given that vertex ni interacts with only one edge from body j + +// break; + + } // end if mode + + } // end for looping through the edges of body j + + } // end for looping through the vertices of body i + + evdwl += energy; + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between an edge of body i and a vertex from + another body + Input: + ibody = body i (i.e. atom i) + edge_index = edge index of body i + xmi = atom i's coordinates (body i's center of mass) + x0 = coordinate of the tested vertex from another body + x0_rounded_radius = rounded radius of the tested vertex + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + t = ratio to determine the relative position of hi + wrt xi and xj on the segment + contact = 0 no contact between the queried vertex and the edge + 1 contact detected + return + INVALID if the edge index is invalid + NONE if there is no interaction + VERTEXI if the tested vertex interacts with the first vertex of the edge + VERTEXJ if the tested vertex interacts with the second vertex of the edge + EDGE if the tested vertex interacts with the edge +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, + int edge_index, + double *xmi, + double rounded_radius, + double* x0, + double x0_rounded_radius, + double cut_inner, + double &d, + double hi[3], + double &t, + int &contact) +{ + if (edge_index >= ednum[ibody]) return INVALID; + + int mode,ifirst,iefirst,npi1,npi2; + double xi1[3],xi2[3],u[3],v[3],uij[3]; + double udotv, magv, magucostheta; + double delx,dely,delz; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index][0]); + npi2 = static_cast(edge[iefirst+edge_index][1]); + + // compute the space-fixed coordinates for the vertices of the edge + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // u = x0 - xi1 + + u[0] = x0[0] - xi1[0]; + u[1] = x0[1] - xi1[1]; + u[2] = x0[2] - xi1[2]; + + // v = xi2 - xi1 + + v[0] = xi2[0] - xi1[0]; + v[1] = xi2[1] - xi1[1]; + v[2] = xi2[2] - xi1[2]; + + // dot product between u and v = magu * magv * costheta + + udotv = u[0] * v[0] + u[1] * v[1] + u[2] * v[2]; + magv = sqrt(v[0] * v[0] + v[1] * v[1] + v[2] * v[2]); + magucostheta = udotv / magv; + + // uij is the unit vector pointing from xi to xj + + uij[0] = v[0] / magv; + uij[1] = v[1] / magv; + uij[2] = v[2] / magv; + + // position of the projection of x0 on the line (xi, xj) + + hi[0] = xi1[0] + magucostheta * uij[0]; + hi[1] = xi1[1] + magucostheta * uij[1]; + hi[2] = xi1[2] + magucostheta * uij[2]; + + // distance from x0 to the line (xi, xj) = distance from x0 to hi + + distance(hi, x0, d); + + // determine the interaction mode + // for 2D: a vertex can interact with one edge at most + // for 3D: a vertex can interact with one face at most + + mode = NONE; + contact = 0; + + if (d > rounded_radius + x0_rounded_radius + cut_inner) { + + // if the vertex is far away from the edge + + mode = NONE; + + } else { + + // check if x0 (the queried vertex) and xmi (the body's center of mass) + // are on the different sides of the edge + + int m = opposite_sides(xi1, xi2, x0, xmi); + + if (m == 0) { + + // x0 and xmi are on not the opposite sides of the edge + // leave xpi for another edge to detect + + mode = NONE; + + } else { + + // x0 and xmi are on the different sides + // t is the ratio to detect if x0 is closer to the vertices xi or xj + + if (fabs(xi2[0] - xi1[0]) > EPSILON) + t = (hi[0] - xi1[0]) / (xi2[0] - xi1[0]); + else if (fabs(xi2[1] - xi1[1]) > EPSILON) + t = (hi[1] - xi1[1]) / (xi2[1] - xi1[1]); + else if (fabs(xi2[2] - xi1[2]) > EPSILON) + t = (hi[2] - xi1[2]) / (xi2[2] - xi1[2]); + + double contact_dist = rounded_radius + x0_rounded_radius; + if (t >= 0 && t <= 1) { + mode = EDGE; + if (d < contact_dist + EPSILON) + contact = 1; + + } else { // t < 0 || t > 1: closer to either vertices of the edge + + if (t < 0) { + // measure the distance from x0 to xi1 + delx = x0[0] - xi1[0]; + dely = x0[1] - xi1[1]; + delz = x0[2] - xi1[2]; + double dx0xi1 = sqrt(delx*delx + dely*dely + delz*delz); + if (dx0xi1 > contact_dist + cut_inner) + mode = NONE; + else + mode = VERTEXI; + } else { + // measure the distance from x0 to xi2 + delx = x0[0] - xi2[0]; + dely = x0[1] - xi2[1]; + delz = x0[2] - xi2[2]; + double dx0xi2 = sqrt(delx*delx + dely*dely + delz*delz); + if (dx0xi2 > contact_dist + cut_inner) + mode = NONE; + else + mode = VERTEXJ; + } + } // end if t >= 0 && t <= 1 + } // end if x0 and xmi are on the same side of the edge + } + + return mode; +} + +/* ---------------------------------------------------------------------- + Compute contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fn = normal friction component + ft = tangential friction component (-c_t * v_t) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double &evdwl, double* facc) +{ + int ibody,jbody,ibonus,jbonus,ifirst,jefirst,ni,nj; + double fx,fy,fz,delx,dely,delz,rsq,rsqinv; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3],vj[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + ibody = contact.ibody; + jbody = contact.jbody; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xv, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // compute the velocity of the point on the edge in the space-fixed frame + + jbonus = atom->body[jbody]; + bonus = &avec->bonus[jbonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(contact.xe, x[jbody], v[jbody], angmom[jbody], + inertia, quat, vj); + + // vector pointing from the vertex to the point on the edge + + delx = contact.xv[0] - contact.xe[0]; + dely = contact.xv[1] - contact.xe[1]; + delz = contact.xv[2] - contact.xe[2]; + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vj[0]; + vr2 = vi[1] - vj[1]; + vr3 = vi[2] - vj[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // only the cohesive force is scaled by j_a + // mu * fne = tangential friction deformation during gross sliding + // see Eq. 4, Fraige et al. + + ifirst = dfirst[ibody]; + ni = contact.vertex; + + fx = discrete[ifirst+ni][3] * j_a + fn[0] + ft[0] + + mu * discrete[ifirst+ni][3]; + fy = discrete[ifirst+ni][4] * j_a + fn[1] + ft[1] + + mu * discrete[ifirst+ni][4]; + fz = discrete[ifirst+ni][5] * j_a + fn[2] + ft[2] + + mu * discrete[ifirst+ni][5]; + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact.xv, fx, fy, fz, torque[ibody]); + + // accumulate forces to the vertex only + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + // only the cohesive force is scaled by j_a + // mu * fne = tangential friction deformation during gross sliding + // Eq. 4, Fraige et al. + + jefirst = edfirst[jbody]; + nj = contact.edge; + + fx = edge[jefirst+nj][2] * j_a - fn[0] - ft[0] + + mu * edge[jefirst+nj][2]; + fy = edge[jefirst+nj][3] * j_a - fn[1] - ft[1] + + mu * edge[jefirst+nj][3]; + fz = edge[jefirst+nj][4] * j_a - fn[2] - ft[2] + + mu * edge[jefirst+nj][4]; + f[jbody][0] += fx; + f[jbody][1] += fy; + f[jbody][2] += fz; + sum_torque(x[jbody], contact.xe, fx, fy, fz, torque[jbody]); + + #ifdef _POLYGON_DEBUG + printf("From contact forces: vertex fx %f fy %f fz %f\n" + " torque body %d: %f %f %f\n" + " torque body %d: %f %f %f\n", + discrete[ifirst+ni][3], discrete[ifirst+ni][4], discrete[ifirst+ni][5], + atom->tag[ibody],torque[ibody][0],torque[ibody][1],torque[ibody][2], + atom->tag[jbody],torque[jbody][0],torque[jbody][1],torque[jbody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts, should be extended for 3D models. +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolygon::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = c1.xv[0]; + double y1 = c1.xv[1]; + double x2 = c1.xe[0]; + double y2 = c1.xe[1]; + double x3 = c2.xv[0]; + double y3 = c2.xv[1]; + + double delta_a = 0.0; + if (fabs(x2 - x1) > EPSILON) { + double A = (y2 - y1) / (x2 - x1); + delta_a = fabs(y1 - A * x1 - y3 + A * x3) / sqrt(1 + A * A); + } else { + delta_a = fabs(x1 - x3); + } + + return delta_a; +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Test if two points a and b are in opposite sides of the line that + connects two points x1 and x2 +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolygon::opposite_sides(double* x1, double* x2, + double* a, double* b) +{ + double m_a = (x1[1] - x2[1])*(a[0] - x1[0]) + (x2[0] - x1[0])*(a[1] - x1[1]); + double m_b = (x1[1] - x2[1])*(b[0] - x1[0]) + (x2[0] - x1[0])*(b[1] - x1[1]); + // equal to zero when either a or b is inline with the line x1-x2 + if (m_a * m_b <= 0) + return 1; + else + return 0; +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, + double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolygon::distance(const double* x2, const double* x1, + double& r) +{ + r = sqrt((x2[0] - x1[0]) * (x2[0] - x1[0]) + + (x2[1] - x1[1]) * (x2[1] - x1[1]) + + (x2[2] - x1[2]) * (x2[2] - x1[2])); +} + diff --git a/src/BODY/pair_body_rounded_polygon.h b/src/BODY/pair_body_rounded_polygon.h new file mode 100644 index 0000000000..09c93b832e --- /dev/null +++ b/src/BODY/pair_body_rounded_polygon.h @@ -0,0 +1,128 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(body/rounded/polygon,PairBodyRoundedPolygon) + +#else + +#ifndef LMP_PAIR_BODY_ROUNDED_POLYGON_H +#define LMP_PAIR_BODY_ROUNDED_POLYGON_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairBodyRoundedPolygon : public Pair { + public: + PairBodyRoundedPolygon(class LAMMPS *); + ~PairBodyRoundedPolygon(); + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int vertex; // vertex of the first polygon + int edge; // edge of the second polygon + double xv[3]; // coordinates of the vertex + double xe[3]; // coordinates of the projection of the vertex on the edge + double separation;// separation at contact + }; + + protected: + double **k_n; // normal repulsion strength + double **k_na; // normal attraction strength + double c_n; // normal damping coefficient + double c_t; // tangential damping coefficient + double mu; // normal friction coefficient during gross sliding + double delta_ua; // contact line (area for 3D models) modification factor + double cut_inner; // cutoff for interaction between vertex-edge surfaces + + class AtomVecBody *avec; + class BodyRoundedPolygon *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + double *maxerad; // per-type maximum enclosing radius + + void allocate(); + void body2space(int); + + int vertex_against_edge(int i, int j, double k_n, double k_na, + double** x, double** f, double** torque, + tagint* tag, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc); + void sphere_against_sphere(int i, int j, double delx, double dely, double delz, + double rsq, double k_n, double k_na, + double** x, double** v, double** f, int evflag); + int compute_distance_to_vertex(int ibody, int edge_index, double* xmi, + double rounded_radius, double* x0, + double x0_rounded_radius, double cut_inner, + double &d, double hi[3], double &t, + int &contact); + double contact_separation(const Contact& c1, const Contact& c2); + void contact_forces(Contact& contact, double j_a, double** x, + double** v, double** f, double** angmom, + double** torque, double &evdwl, double* facc); + void sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque); + int opposite_sides(double* x1, double* x2, double* a, double* b); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + inline void distance(const double* x2, const double* x1, double& r); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair body/rounded/polygon requires atom style body rounded/polygon + +Self-explanatory. + +E: Pair body requires body style rounded/polygon + +This pair style is specific to the rounded/polygon body style. + +*/ diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp new file mode 100644 index 0000000000..8d5f9ec72c --- /dev/null +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -0,0 +1,2348 @@ +/* ---------------------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +/* ---------------------------------------------------------------------- + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) + Ref: Wang, Yu, Langston, Fraige, Particle shape effects in discrete + element modelling of cohesive angular particles, Granular Matter 2011, + 13:1-12. + Note: The current implementation has not taken into account + the contact history for friction forces. +------------------------------------------------------------------------- */ + +#include +#include +#include +#include +#include "pair_body_rounded_polyhedron.h" +#include "math_extra.h" +#include "atom.h" +#include "atom_vec_body.h" +#include "body_rounded_polyhedron.h" +#include "comm.h" +#include "force.h" +#include "fix.h" +#include "modify.h" +#include "neighbor.h" +#include "neigh_list.h" +#include "memory.h" +#include "error.h" +#include "math_extra.h" +#include "math_const.h" + +using namespace LAMMPS_NS; +using namespace MathExtra; +using namespace MathConst; + +#define DELTA 10000 +#define EPSILON 1e-3 +#define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) +#define MAX_CONTACTS 16 // for 3D models + +//#define _POLYHEDRON_DEBUG + +enum {EE_INVALID=0,EE_NONE,EE_INTERACT}; +enum {EF_INVALID=0,EF_NONE,EF_PARALLEL,EF_SAME_SIDE_OF_FACE, + EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolyhedron::PairBodyRoundedPolyhedron(LAMMPS *lmp) : Pair(lmp) +{ + dmax = nmax = 0; + discrete = NULL; + dnum = dfirst = NULL; + + edmax = ednummax = 0; + edge = NULL; + ednum = edfirst = NULL; + + facmax = facnummax = 0; + face = NULL; + facnum = facfirst = NULL; + + enclosing_radius = NULL; + rounded_radius = NULL; + maxerad = NULL; + + single_enable = 0; + restartinfo = 0; + + c_n = 0.1; + c_t = 0.2; + mu = 0.0; + A_ua = 1.0; +} + +/* ---------------------------------------------------------------------- */ + +PairBodyRoundedPolyhedron::~PairBodyRoundedPolyhedron() +{ + memory->destroy(discrete); + memory->destroy(dnum); + memory->destroy(dfirst); + + memory->destroy(edge); + memory->destroy(ednum); + memory->destroy(edfirst); + + memory->destroy(face); + memory->destroy(facnum); + memory->destroy(facfirst); + + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + memory->destroy(maxerad); + + if (allocated) { + memory->destroy(setflag); + memory->destroy(cutsq); + + memory->destroy(k_n); + memory->destroy(k_na); + } +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) +{ + int i,j,ii,jj,inum,jnum,itype,jtype; + int ni,nj,npi,npj,ifirst,jfirst,nei,nej,iefirst,jefirst; + double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,facc[3]; + double rsq,eradi,eradj,k_nij,k_naij; + int *ilist,*jlist,*numneigh,**firstneigh; + + evdwl = 0.0; + if (eflag || vflag) ev_setup(eflag,vflag); + else evflag = vflag_fdotr = 0; + + double **x = atom->x; + double **v = atom->v; + double **f = atom->f; + double **torque = atom->torque; + double **angmom = atom->angmom; + int *body = atom->body; + int *type = atom->type; + int nlocal = atom->nlocal; + int nall = nlocal + atom->nghost; + int newton_pair = force->newton_pair; + + inum = list->inum; + ilist = list->ilist; + numneigh = list->numneigh; + firstneigh = list->firstneigh; + + // grow the per-atom lists if necessary and initialize + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(facnum); + memory->destroy(facfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(facnum,nmax,"pair:facnum"); + memory->create(facfirst,nmax,"pair:facfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = nface = 0; + for (i = 0; i < nall; i++) + dnum[i] = ednum[i] = facnum[i] = 0; + + // loop over neighbors of my atoms + + for (ii = 0; ii < inum; ii++) { + i = ilist[ii]; + xtmp = x[i][0]; + ytmp = x[i][1]; + ztmp = x[i][2]; + itype = type[i]; + jlist = firstneigh[i]; + jnum = numneigh[i]; + + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + npi = dnum[i]; + ifirst = dfirst[i]; + nei = ednum[i]; + iefirst = edfirst[i]; + eradi = enclosing_radius[i]; + } + + for (jj = 0; jj < jnum; jj++) { + j = jlist[jj]; + j &= NEIGHMASK; + + delx = xtmp - x[j][0]; + dely = ytmp - x[j][1]; + delz = ztmp - x[j][2]; + rsq = delx*delx + dely*dely + delz*delz; + jtype = type[j]; + + // body/body interactions + + evdwl = 0.0; + facc[0] = facc[1] = facc[2] = 0; + + if (body[i] < 0 || body[j] < 0) continue; + + if (dnum[j] == 0) body2space(j); + npj = dnum[j]; + jfirst = dfirst[j]; + nej = ednum[j]; + jefirst = edfirst[j]; + eradj = enclosing_radius[j]; + + k_nij = k_n[itype][jtype]; + k_naij = k_na[itype][jtype]; + + // no interaction + + double r = sqrt(rsq); + if (r > eradi + eradj + cut_inner) continue; + + // sphere-sphere interaction + + if (npi == 1 && npj == 1) { + sphere_against_sphere(i, j, delx, dely, delz, rsq, + k_nij, k_naij, v, f, evflag); + continue; + } + + // reset vertex and edge forces + + for (ni = 0; ni < npi; ni++) { + discrete[ifirst+ni][3] = 0; + discrete[ifirst+ni][4] = 0; + discrete[ifirst+ni][5] = 0; + discrete[ifirst+ni][6] = 0; + } + + for (nj = 0; nj < npj; nj++) { + discrete[jfirst+nj][3] = 0; + discrete[jfirst+nj][4] = 0; + discrete[jfirst+nj][5] = 0; + discrete[jfirst+nj][6] = 0; + } + + for (ni = 0; ni < nei; ni++) { + edge[iefirst+ni][2] = 0; + edge[iefirst+ni][3] = 0; + edge[iefirst+ni][4] = 0; + edge[iefirst+ni][5] = 0; + } + + for (nj = 0; nj < nej; nj++) { + edge[jefirst+nj][2] = 0; + edge[jefirst+nj][3] = 0; + edge[jefirst+nj][4] = 0; + edge[jefirst+nj][5] = 0; + } + + // one of the two bodies is a sphere + + if (npj == 1) { + sphere_against_face(i, j, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + sphere_against_edge(i, j, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + continue; + } else if (npi == 1) { + sphere_against_face(j, i, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + sphere_against_edge(j, i, k_nij, k_naij, x, v, f, torque, + angmom, evflag); + continue; + } + + int interact, num_contacts; + Contact contact_list[MAX_CONTACTS]; + + num_contacts = 0; + + // check interaction between i's edges and j' faces + #ifdef _POLYHEDRON_DEBUG + printf("INTERACTION between edges of %d vs. faces of %d:\n", i, j); + #endif + interact = edge_against_face(i, j, k_nij, k_naij, x, contact_list, + num_contacts, evdwl, facc); + + // check interaction between j's edges and i' faces + #ifdef _POLYHEDRON_DEBUG + printf("\nINTERACTION between edges of %d vs. faces of %d:\n", j, i); + #endif + interact = edge_against_face(j, i, k_nij, k_naij, x, contact_list, + num_contacts, evdwl, facc); + + // check interaction between i's edges and j' edges + #ifdef _POLYHEDRON_DEBUG + printf("INTERACTION between edges of %d vs. edges of %d:\n", i, j); + #endif + interact = edge_against_edge(i, j, k_nij, k_naij, x, contact_list, + num_contacts, evdwl, facc); + + // estimate the contact area + // also consider point contacts and line contacts + + if (num_contacts > 0) { + double contact_area; + if (num_contacts == 1) { + contact_area = 0; + } else if (num_contacts == 2) { + contact_area = num_contacts * A_ua; + } else { + int m; + double xc[3],dx,dy,dz; + xc[0] = xc[1] = xc[2] = 0; + for (m = 0; m < num_contacts; m++) { + xc[0] += contact_list[m].xi[0]; + xc[1] += contact_list[m].xi[1]; + xc[2] += contact_list[m].xi[2]; + } + + xc[0] /= (double)num_contacts; + xc[1] /= (double)num_contacts; + xc[2] /= (double)num_contacts; + + contact_area = 0.0; + for (m = 0; m < num_contacts; m++) { + dx = contact_list[m].xi[0] - xc[0]; + dy = contact_list[m].xi[1] - xc[1]; + dz = contact_list[m].xi[2] - xc[2]; + contact_area += (dx*dx + dy*dy + dz*dz); + } + contact_area *= (MY_PI/(double)num_contacts); + } + rescale_cohesive_forces(x, f, torque, contact_list, num_contacts, + contact_area, k_nij, k_naij, facc); + } + + if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, + facc[0],facc[1],facc[2],delx,dely,delz); + + } // end for jj + } + + if (vflag_fdotr) virial_fdotr_compute(); +} + +/* ---------------------------------------------------------------------- + allocate all arrays +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::allocate() +{ + allocated = 1; + int n = atom->ntypes; + + memory->create(setflag,n+1,n+1,"pair:setflag"); + for (int i = 1; i <= n; i++) + for (int j = i; j <= n; j++) + setflag[i][j] = 0; + + memory->create(cutsq,n+1,n+1,"pair:cutsq"); + + memory->create(k_n,n+1,n+1,"pair:k_n"); + memory->create(k_na,n+1,n+1,"pair:k_na"); + memory->create(maxerad,n+1,"pair:maxerad"); +} + +/* ---------------------------------------------------------------------- + global settings +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::settings(int narg, char **arg) +{ + if (narg < 5) error->all(FLERR,"Illegal pair_style command"); + + c_n = force->numeric(FLERR,arg[0]); + c_t = force->numeric(FLERR,arg[1]); + mu = force->numeric(FLERR,arg[2]); + A_ua = force->numeric(FLERR,arg[3]); + cut_inner = force->numeric(FLERR,arg[4]); +} + +/* ---------------------------------------------------------------------- + set coeffs for one or more type pairs +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) +{ + if (narg < 4 || narg > 5) + error->all(FLERR,"Incorrect args for pair coefficients"); + if (!allocated) allocate(); + + int ilo,ihi,jlo,jhi; + force->bounds(FLERR,arg[0],atom->ntypes,ilo,ihi); + force->bounds(FLERR,arg[1],atom->ntypes,jlo,jhi); + + double k_n_one = force->numeric(FLERR,arg[2]); + double k_na_one = force->numeric(FLERR,arg[3]); + + int count = 0; + for (int i = ilo; i <= ihi; i++) { + for (int j = MAX(jlo,i); j <= jhi; j++) { + k_n[i][j] = k_n_one; + k_na[i][j] = k_na_one; + setflag[i][j] = 1; + count++; + } + } + + if (count == 0) error->all(FLERR,"Incorrect args for pair coefficients"); +} + +/* ---------------------------------------------------------------------- + init specific to this pair style +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::init_style() +{ + avec = (AtomVecBody *) atom->style_match("body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); + if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) + error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + bptr = (BodyRoundedPolyhedron *) avec->bptr; + + if (comm->ghost_velocity == 0) + error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); + + neighbor->request(this); + + // find the maximum enclosing radius for each atom type + + int i, itype; + double eradi; + int* body = atom->body; + int* type = atom->type; + int ntypes = atom->ntypes; + int nlocal = atom->nlocal; + + if (atom->nmax > nmax) { + memory->destroy(dnum); + memory->destroy(dfirst); + memory->destroy(ednum); + memory->destroy(edfirst); + memory->destroy(facnum); + memory->destroy(facfirst); + memory->destroy(enclosing_radius); + memory->destroy(rounded_radius); + nmax = atom->nmax; + memory->create(dnum,nmax,"pair:dnum"); + memory->create(dfirst,nmax,"pair:dfirst"); + memory->create(ednum,nmax,"pair:ednum"); + memory->create(edfirst,nmax,"pair:edfirst"); + memory->create(facnum,nmax,"pair:facnum"); + memory->create(facfirst,nmax,"pair:facfirst"); + memory->create(enclosing_radius,nmax,"pair:enclosing_radius"); + memory->create(rounded_radius,nmax,"pair:rounded_radius"); + } + + ndiscrete = nedge = nface = 0; + for (i = 0; i < nlocal; i++) + dnum[i] = ednum[i] = facnum[i] = 0; + + double *merad = NULL; + memory->create(merad,ntypes+1,"pair:merad"); + for (i = 1; i <= ntypes; i++) + maxerad[i] = merad[i] = 0; + + int ipour; + for (ipour = 0; ipour < modify->nfix; ipour++) + if (strcmp(modify->fix[ipour]->style,"pour") == 0) break; + if (ipour == modify->nfix) ipour = -1; + + int idep; + for (idep = 0; idep < modify->nfix; idep++) + if (strcmp(modify->fix[idep]->style,"deposit") == 0) break; + if (idep == modify->nfix) idep = -1; + + for (i = 1; i <= ntypes; i++) { + merad[i] = 0.0; + if (ipour >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[ipour]->extract("radius",itype)); + } + if (idep >= 0) { + itype = i; + merad[i] = + *((double *) modify->fix[idep]->extract("radius",itype)); + } + } + + for (i = 0; i < nlocal; i++) { + itype = type[i]; + if (body[i] >= 0) { + if (dnum[i] == 0) body2space(i); + eradi = enclosing_radius[i]; + if (eradi > merad[itype]) merad[itype] = eradi; + } else + merad[itype] = 0; + } + + MPI_Allreduce(&merad[1],&maxerad[1],ntypes,MPI_DOUBLE,MPI_MAX,world); + + memory->destroy(merad); + + sanity_check(); +} + +/* ---------------------------------------------------------------------- + init for one type pair i,j and corresponding j,i +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolyhedron::init_one(int i, int j) +{ + k_n[j][i] = k_n[i][j]; + k_na[j][i] = k_na[i][j]; + + return (maxerad[i]+maxerad[j]); +} + +/* ---------------------------------------------------------------------- + convert N sub-particles in body I to space frame using current quaternion + store sub-particle space-frame displacements from COM in discrete list +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::body2space(int i) +{ + int ibonus = atom->body[i]; + AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; + int nsub = bptr->nsub(bonus); + double *coords = bptr->coords(bonus); + int body_num_edges = bptr->nedges(bonus); + double* edge_ends = bptr->edges(bonus); + int body_num_faces = bptr->nfaces(bonus); + double* face_pts = bptr->faces(bonus); + double eradius = bptr->enclosing_radius(bonus); + double rradius = bptr->rounded_radius(bonus); + + // get the number of sub-particles (vertices) + // and the index of the first vertex of my body in the list + + dnum[i] = nsub; + dfirst[i] = ndiscrete; + + // grow the vertex list if necessary + // the first 3 columns are for coords, the last 3 for forces + + if (ndiscrete + nsub > dmax) { + dmax += DELTA; + memory->grow(discrete,dmax,7,"pair:discrete"); + } + + double p[3][3]; + MathExtra::quat_to_mat(bonus->quat,p); + + for (int m = 0; m < nsub; m++) { + MathExtra::matvec(p,&coords[3*m],discrete[ndiscrete]); + discrete[ndiscrete][3] = 0; + discrete[ndiscrete][4] = 0; + discrete[ndiscrete][5] = 0; + discrete[ndiscrete][6] = 0; + ndiscrete++; + } + + // get the number of edges (vertices) + // and the index of the first edge of my body in the list + + ednum[i] = body_num_edges; + edfirst[i] = nedge; + + // grow the edge list if necessary + // the first 2 columns are for vertex indices within body, the last 3 for forces + + if (nedge + body_num_edges > edmax) { + edmax += DELTA; + memory->grow(edge,edmax,6,"pair:edge"); + } + + for (int m = 0; m < body_num_edges; m++) { + edge[nedge][0] = static_cast(edge_ends[2*m+0]); + edge[nedge][1] = static_cast(edge_ends[2*m+1]); + edge[nedge][2] = 0; + edge[nedge][3] = 0; + edge[nedge][4] = 0; + edge[nedge][5] = 0; + nedge++; + } + + // get the number of faces and the index of the first face + + facnum[i] = body_num_faces; + facfirst[i] = nface; + + // grow the face list if necessary + // the first 3 columns are for vertex indices within body, the last 3 for forces + + if (nface + body_num_faces > facmax) { + facmax += DELTA; + memory->grow(face,facmax,MAX_FACE_SIZE,"pair:face"); + } + + for (int m = 0; m < body_num_faces; m++) { + for (int k = 0; k < MAX_FACE_SIZE; k++) + face[nface][k] = static_cast(face_pts[MAX_FACE_SIZE*m+k]); + nface++; + } + + enclosing_radius[i] = eradius; + rounded_radius[i] = rradius; +} + +/* ---------------------------------------------------------------------- + Interaction between two spheres with different radii + according to the 2D model from Fraige et al. +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, + double delx, double dely, double delz, double rsq, + double k_n, double k_na, double** v, double** f, + int evflag) +{ + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double rij,rsqinv,R,fx,fy,fz,fn[3],ft[3],fpair,shift,energy; + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + rij = sqrt(rsq); + R = rij - contact_dist; + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // relative translational velocity + + vr1 = v[ibody][0] - v[jbody][0]; + vr2 = v[ibody][1] - v[jbody][1]; + vr3 = v[ibody][2] - v[jbody][2]; + + // normal component + + rsqinv = 1.0/rsq; + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); +} + +/* ---------------------------------------------------------------------- + Interaction bt the faces of a polyhedron (ibody) and a sphere (jbody) +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, + int evflag) +{ + int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; + double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + nfi = facnum[ibody]; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + for (ni = 0; ni < nfi; ni++) { + + npi1 = static_cast(face[iffirst+ni][0]); + npi2 = static_cast(face[iffirst+ni][1]); + npi3 = static_cast(face[iffirst+ni][2]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = x[ibody][0] + discrete[ifirst+npi1][0]; + xi1[1] = x[ibody][1] + discrete[ifirst+npi1][1]; + xi1[2] = x[ibody][2] + discrete[ifirst+npi1][2]; + + xi2[0] = x[ibody][0] + discrete[ifirst+npi2][0]; + xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; + xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; + + xi3[0] = x[ibody][0] + discrete[ifirst+npi3][0]; + xi3[1] = x[ibody][1] + discrete[ifirst+npi3][1]; + xi3[2] = x[ibody][2] + discrete[ifirst+npi3][2]; + + // find the normal unit vector of the face + + MathExtra::sub3(xi2, xi1, ui); + MathExtra::sub3(xi3, xi1, vi); + MathExtra::cross3(ui, vi, n); + MathExtra::norm3(n); + + // skip if the COM of the two bodies are in the same side of the face + + if (opposite_sides(n, xi1, x[ibody], x[jbody]) == 0) continue; + + // find the projection of the sphere on the face + + project_pt_plane(x[jbody], xi1, xi2, xi3, h, d, inside); + + inside_polygon(ibody, ni, x[ibody], h, NULL, inside, tmp); + if (inside == 0) continue; + + delx = h[0] - x[jbody][0]; + dely = h[1] - x[jbody][1]; + delz = h[2] - x[jbody][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + R = rij - contact_dist; + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(h, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vti); + + // relative translational velocity + + vr1 = vti[0] - v[jbody][0]; + vr2 = vti[1] - v[jbody][1]; + vr3 = vti[2] - v[jbody][2]; + + // normal component + + rsqinv = 1.0/rsq; + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], h, fx, fy, fz, torque[ibody]); + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); + } +} + +/* ---------------------------------------------------------------------- + Interaction bt the edges of a polyhedron (ibody) and a sphere (jbody) +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, + int evflag) +{ + int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; + double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; + double delx,dely,delz,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + nei = ednum[ibody]; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + for (ni = 0; ni < nei; ni++) { + + npi1 = static_cast(edge[iefirst+ni][0]); + npi2 = static_cast(edge[iefirst+ni][1]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = x[ibody][0] + discrete[ifirst+npi1][0]; + xi1[1] = x[ibody][1] + discrete[ifirst+npi1][1]; + xi1[2] = x[ibody][2] + discrete[ifirst+npi1][2]; + + xi2[0] = x[ibody][0] + discrete[ifirst+npi2][0]; + xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; + xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; + + // find the projection of the jbody's COM on the edge + + project_pt_line(x[jbody], xi1, xi2, h, d, t); + + if (d > contact_dist + cut_inner) continue; + if (t < 0 || t > 1) continue; + + if (fabs(t) < EPSILON) { + if (static_cast(discrete[ifirst+npi1][6]) == 1) + continue; + else { + h[0] = xi1[0]; + h[1] = xi1[1]; + h[2] = xi1[2]; + discrete[ifirst+npi1][6] = 1; + } + } + + if (fabs(t-1) < EPSILON) { + if (static_cast(discrete[ifirst+npi2][6]) == 1) + continue; + else { + h[0] = xi2[0]; + h[1] = xi2[1]; + h[2] = xi2[2]; + discrete[ifirst+npi2][6] = 1; + } + } + + delx = h[0] - x[jbody][0]; + dely = h[1] - x[jbody][1]; + delz = h[2] - x[jbody][2]; + rij = sqrt(delx*delx + dely*dely + delz*delz); + R = rij - contact_dist; + shift = k_na * cut_inner; + + energy = 0; + + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(h, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vti); + + // relative translational velocity + + vr1 = vti[0] - v[jbody][0]; + vr2 = vti[1] - v[jbody][1]; + vr3 = vti[2] - v[jbody][2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, excluding the tangential deformation term + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], h, fx, fy, fz, torque[ibody]); + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); + } + +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's edges against j's faces + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's edges and j's faces + Return: + +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc) +{ + int ni,nei,nj,nfj,contact,interact; + double rradi,rradj,energy; + + nei = ednum[ibody]; + rradi = rounded_radius[ibody]; + nfj = facnum[jbody]; + rradj = rounded_radius[jbody]; + + energy = 0; + interact = EF_NONE; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) { + + // loop through body j's faces + + for (nj = 0; nj < nfj; nj++) { + + // compute the distance between the face nj to the edge ni + #ifdef _POLYHEDRON_DEBUG + printf("Compute interaction between face %d of body %d with edge %d of body %d:\n", + nj, jbody, ni, ibody); + #endif + + interact = interaction_face_to_edge(jbody, nj, x[jbody], rradj, + ibody, ni, x[ibody], rradi, + k_n, k_na, cut_inner, + contact_list, num_contacts, + energy, facc); + } + + } // end for looping through the edges of body i + + evdwl += energy; + + return interact; +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's edges against j's edges + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's edges and j's edges + Return: + +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc) +{ + int ni,nei,nj,nej,contact,interact; + double rradi,rradj,energy; + + nei = ednum[ibody]; + rradi = rounded_radius[ibody]; + nej = ednum[jbody]; + rradj = rounded_radius[jbody]; + + energy = 0; + interact = EE_NONE; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) { + + for (nj = 0; nj < nej; nj++) { + + // compute the distance between the edge nj to the edge ni + #ifdef _POLYHEDRON_DEBUG + printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", + nj, jbody, ni, ibody); + #endif + + interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, + jbody, nj, x[jbody], rradj, + k_n, k_na, cut_inner, + contact_list, num_contacts, + energy, facc); + } + + } // end for looping through the edges of body i + + evdwl += energy; + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the interaction between a face of body i and an edge from + another body + Input: + ibody = body i (i.e. atom i) + face_index = face index of body i + xmi = atom i's coordinates (body i's center of mass) + rounded_radius_i = rounded radius of the body i + jbody = body i (i.e. atom j) + edge_index = coordinate of the tested edge from another body + xmj = atom j's coordinates (body j's center of mass) + rounded_radius_j = rounded radius of the body j + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + + contact = 0 no contact between the queried edge and the face + 1 contact detected + return + INVALID if the face index is invalid + NONE if there is no interaction +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, + int face_index, + double *xmi, + double rounded_radius_i, + int jbody, + int edge_index, + double *xmj, + double rounded_radius_j, + double k_n, + double k_na, + double cut_inner, + Contact* contact_list, + int &num_contacts, + double &energy, + double* facc) +{ + if (face_index >= facnum[ibody]) return EF_INVALID; + + int ifirst,iffirst,jfirst,npi1,npi2,npi3; + int jefirst,npj1,npj2; + double xi1[3],xi2[3],xi3[3],xpj1[3],xpj2[3],ui[3],vi[3],n[3]; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + npi1 = static_cast(face[iffirst+face_index][0]); + npi2 = static_cast(face[iffirst+face_index][1]); + npi3 = static_cast(face[iffirst+face_index][2]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + xi3[0] = xmi[0] + discrete[ifirst+npi3][0]; + xi3[1] = xmi[1] + discrete[ifirst+npi3][1]; + xi3[2] = xmi[2] + discrete[ifirst+npi3][2]; + + // find the normal unit vector of the face, ensure it point outward of the body + + MathExtra::sub3(xi2, xi1, ui); + MathExtra::sub3(xi3, xi1, vi); + MathExtra::cross3(ui, vi, n); + MathExtra::norm3(n); + + double xc[3], dot, ans[3]; + xc[0] = (xi1[0] + xi2[0] + xi3[0])/3.0; + xc[1] = (xi1[1] + xi2[1] + xi3[1])/3.0; + xc[2] = (xi1[2] + xi2[2] + xi3[2])/3.0; + MathExtra::sub3(xc, xmi, ans); + dot = MathExtra::dot3(ans, n); + if (dot < 0) MathExtra::negate3(n); + + // two ends of the edge from body j + + jfirst = dfirst[jbody]; + jefirst = edfirst[jbody]; + npj1 = static_cast(edge[jefirst+edge_index][0]); + npj2 = static_cast(edge[jefirst+edge_index][1]); + + xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; + xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; + xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; + + xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; + xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; + xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; + + // no interaction if two ends of the edge are on the same side with the COM wrt the face + + if (opposite_sides(n, xi1, xmi, xpj1) == 0 && + opposite_sides(n, xi1, xmi, xpj2) == 0) + return EF_NONE; + + // determine the intersection of the edge to the face + + double hi1[3], hi2[3], d1, d2, contact_dist, shift; + int inside1 = 0; + int inside2 = 0; + + // enum {EF_PARALLEL=0,EF_SAME_SIDE_OF_FACE,EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + int interact = edge_face_intersect(xi1, xi2, xi3, xpj1, xpj2, + hi1, hi2, d1, d2, inside1, inside2); + + inside_polygon(ibody, face_index, xmi, hi1, hi2, inside1, inside2); + + contact_dist = rounded_radius_i + rounded_radius_j; + shift = k_na * cut_inner; + + // both endpoints are on the same side of, or parallel to, the face + // and both are out of the interaction zone + + if (interact == EF_SAME_SIDE_OF_FACE || interact == EF_PARALLEL) { + + if (d1 > contact_dist + cut_inner && d2 > contact_dist + cut_inner) + return EF_NONE; + + int num_outside = 0; + int jflag = 1; + + #ifdef _POLYHEDRON_DEBUG + if (interact == EF_SAME_SIDE_OF_FACE) + printf(" - same side of face\n"); + else if (interact == EF_PARALLEL) + printf(" - parallel\n"); + printf(" face: xi1 (%f %f %f) xi2 (%f %f %f) xi3 (%f %f %f)\n", + xi1[0], xi1[1], xi1[2], xi2[0], xi2[1], xi2[2], xi3[0], xi3[1], xi3[2]); + printf(" edge: xpj1 (%f %f %f) xpj2 (%f %f %f)\n", + xpj1[0], xpj1[1], xpj1[2], xpj2[0], xpj2[1], xpj2[2]); + #endif + + // xpj1 is in the interaction zone + // and its projection on the face is inside the triangle + // compute vertex-face interaction and accumulate force/torque to both bodies + + if (d1 <= contact_dist + cut_inner) { + if (inside1) { + if (static_cast(discrete[jfirst+npj1][6]) == 0) { + pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + #ifdef _POLYHEDRON_DEBUG + printf(" - compute pair force between vertex %d from edge %d of body %d " + "with face %d of body %d: d1 = %f\n", + npj1, edge_index, jbody, face_index, ibody, d1); + #endif + + if (d1 <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = hi1[0]; + contact_list[num_contacts].xi[1] = hi1[1]; + contact_list[num_contacts].xi[2] = hi1[2]; + contact_list[num_contacts].xj[0] = xpj1[0]; + contact_list[num_contacts].xj[1] = xpj1[1]; + contact_list[num_contacts].xj[2] = xpj1[2]; + contact_list[num_contacts].type = 0; + contact_list[num_contacts].separation = d1 - contact_dist; + num_contacts++; + } + + discrete[jfirst+npj1][6] = 1; + } + } else { + num_outside++; + } + } + + // xpj2 is in the interaction zone + // and its projection on the face is inside the triangle + // compute vertex-face interaction and accumulate force/torque to both bodies + + if (d2 <= contact_dist + cut_inner) { + if (inside2) { + if (static_cast(discrete[jfirst+npj2][6]) == 0) { + pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + #ifdef _POLYHEDRON_DEBUG + printf(" - compute pair force between vertex %d from edge %d of body %d " + "with face %d of body %d: d2 = %f\n", + npj2, edge_index, jbody, face_index, ibody, d2); + #endif + + if (d2 <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = hi2[0]; + contact_list[num_contacts].xi[1] = hi2[1]; + contact_list[num_contacts].xi[2] = hi2[2]; + contact_list[num_contacts].xj[0] = xpj2[0]; + contact_list[num_contacts].xj[1] = xpj2[1]; + contact_list[num_contacts].xj[2] = xpj2[2]; + contact_list[num_contacts].type = 0; + contact_list[num_contacts].separation = d2 - contact_dist; + num_contacts++; + } + discrete[jfirst+npj2][6] = 1; + } + } else { + num_outside++; + } + } + + // both ends have projection outside of the face + // compute interaction between the edge with the three edges of the face + + if (num_outside == 2) { + + #ifdef _POLYHEDRON_DEBUG + printf(" - outside = 2\n"); + printf(" - compute pair force between edge %d of body %d " + "with 3 edges of face %d of body %d\n", + edge_index, jbody, face_index, ibody); + #endif + + interact = EF_INTERSECT_OUTSIDE; + + } + + } else if (interact == EF_INTERSECT_OUTSIDE) { + + // compute interaction between the edge with the three edges of the face + + #ifdef _POLYHEDRON_DEBUG + printf(" - intersect outside triangle\n"); + printf(" - compute pair force between edge %d of body %d " + "with face %d of body %d\n", edge_index, jbody, face_index, ibody); + printf(" face: xi1 (%f %f %f) xi2 (%f %f %f) xi3 (%f %f %f)\n", + xi1[0], xi1[1], xi1[2], xi2[0], xi2[1], xi2[2], xi3[0], xi3[1], xi3[2]); + printf(" edge: xpj1 (%f %f %f) xpj2 (%f %f %f)\n", + xpj1[0], xpj1[1], xpj1[2], xpj2[0], xpj2[1], xpj2[2]); + + #endif + } else if (interact == EF_INTERSECT_INSIDE) { + + } + + return interact; +} + +/* ------------------------------------------------------------------------- + Compute the distance between an edge of body i and an edge from + another body + Input: + ibody = body i (i.e. atom i) + face_index = face index of body i + xmi = atom i's coordinates (body i's center of mass) + rounded_radius_i = rounded radius of the body i + jbody = body i (i.e. atom j) + edge_index = coordinate of the tested edge from another body + xmj = atom j's coordinates (body j's center of mass) + rounded_radius_j = rounded radius of the body j + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge + + contact = 0 no contact between the queried edge and the face + 1 contact detected + return + INVALID if the face index is invalid + NONE if there is no interaction +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, + int edge_index_i, + double *xmi, + double rounded_radius_i, + int jbody, + int edge_index_j, + double *xmj, + double rounded_radius_j, + double k_n, + double k_na, + double cut_inner, + Contact* contact_list, + int &num_contacts, + double &energy, + double* facc) +{ + int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; + double xi1[3],xi2[3],xpj1[3],xpj2[3]; + double r,t1,t2,h1[3],h2[3]; + double contact_dist, shift; + + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index_i][0]); + npi2 = static_cast(edge[iefirst+edge_index_i][1]); + + // compute the space-fixed coordinates for the edge ends + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // two ends of the edge from body j + + jfirst = dfirst[jbody]; + jefirst = edfirst[jbody]; + npj1 = static_cast(edge[jefirst+edge_index_j][0]); + npj2 = static_cast(edge[jefirst+edge_index_j][1]); + + xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; + xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; + xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; + + xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; + xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; + xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; + + contact_dist = rounded_radius_i + rounded_radius_j; + shift = k_na * cut_inner; + + int jflag = 1; + distance_bt_edges(xpj1, xpj2, xi1, xi2, h1, h2, t1, t2, r); + + #ifdef _POLYHEDRON_DEBUG + double ui[3],uj[3]; + MathExtra::sub3(xi1,xi2,ui); + MathExtra::norm3(ui); + MathExtra::sub3(xpj1,xpj2,uj); + MathExtra::norm3(uj); + double dot = MathExtra::dot3(ui, uj); + printf(" edge npi1 = %d (%f %f %f); npi2 = %d (%f %f %f) vs." + " edge npj1 = %d (%f %f %f); npj2 = %d (%f %f %f): " + "t1 = %f; t2 = %f; r = %f; dot = %f\n", + npi1, xi1[0], xi1[1], xi1[2], npi2, xi2[0], xi2[1], xi2[2], + npj1, xpj1[0], xpj1[1], xpj1[2], npj2, xpj2[0], xpj2[1], xpj2[2], + t1, t2, r, dot); + #endif + + interact = EE_NONE; + + // singularity case, ignore interactions + + if (r < EPSILON) return interact; + + // include the vertices for interactions + + if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && + r < contact_dist + cut_inner) { + pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + + interact = EE_INTERACT; + if (r <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = h2[0]; + contact_list[num_contacts].xi[1] = h2[1]; + contact_list[num_contacts].xi[2] = h2[2]; + contact_list[num_contacts].xj[0] = h1[0]; + contact_list[num_contacts].xj[1] = h1[1]; + contact_list[num_contacts].xj[2] = h1[2]; + contact_list[num_contacts].type = 1; + contact_list[num_contacts].separation = r - contact_dist; + num_contacts++; + } + } else { + + } + + return interact; +} + +/* ---------------------------------------------------------------------- + Compute forces and torques between two bodies caused by the interaction + between a pair of points on either bodies (similar to sphere-sphere) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, + double* pi, double* pj, double r, double contact_dist, + double k_n, double k_na, double shift, double** x, + double** v, double** f, double** torque, double** angmom, + int jflag, double& energy, double* facc) +{ + double delx,dely,delz,R,fx,fy,fz,fpair; + + delx = pi[0] - pj[0]; + dely = pi[1] - pj[1]; + delz = pi[2] - pj[2]; + R = r - contact_dist; + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy += (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy += (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + + fx = delx*fpair/r; + fy = dely*fpair/r; + fz = delz*fpair/r; + + #ifdef _POLYHEDRON_DEBUG + printf(" - R = %f; r = %f; k_na = %f; shift = %f; fpair = %f;" + " energy = %f; jflag = %d\n", R, r, k_na, shift, fpair, + energy, jflag); + #endif + + if (R <= 0) { + + // contact: accumulate normal and tangential contact force components + + contact_forces(ibody, jbody, pi, pj, delx, dely, delz, fx, fy, fz, + x, v, angmom, f, torque, facc); + } else { + + // accumulate force and torque to both bodies directly + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], pi, fx, fy, fz, torque[ibody]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + if (jflag) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + sum_torque(x[jbody], pj, -fx, -fy, -fz, torque[jbody]); + } + } +} + +/* ---------------------------------------------------------------------- + Compute contact forces between two bodies + modify the force stored at the vertex and edge in contact by j_a + sum forces and torque to the corresponding bodies + fx,fy,fz = unscaled cohesive forces + fn = normal friction component + ft = tangential friction component (-c_t * v_t) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, + double *xi, double *xj, double delx, double dely, double delz, + double fx, double fy, double fz, double** x, double** v, double** angmom, + double** f, double** torque, double* facc) +{ + int ibonus,jbonus; + double rsq,rsqinv,vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double fn[3],ft[3],vi[3],vj[3]; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(xi, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vi); + + // compute the velocity of the point on the edge in the space-fixed frame + + jbonus = atom->body[jbody]; + bonus = &avec->bonus[jbonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(xj, x[jbody], v[jbody], angmom[jbody], + inertia, quat, vj); + + // vector pointing from the contact point on ibody to that on jbody + + rsq = delx*delx + dely*dely + delz*delz; + rsqinv = 1.0/rsq; + + // relative translational velocity + + vr1 = vi[0] - vj[0]; + vr2 = vi[1] - vj[1]; + vr3 = vi[2] - vj[2]; + + // normal component + + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + // cohesive forces will be scaled by j_a after contact area is computed + // mu * fne = tangential friction deformation during gross sliding + // see Eq. 4, Fraige et al. + + fx = fn[0] + ft[0] + mu * fx; + fy = fn[1] + ft[1] + mu * fy; + fz = fn[2] + ft[2] + mu * fz; + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], xi, fx, fy, fz, torque[ibody]); + + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + sum_torque(x[jbody], xj, -fx, -fy, -fz, torque[jbody]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + + #ifdef _POLYHEDRON_DEBUG + printf("contact ibody = %d: f = %f %f %f; torque = %f %f %f\n", ibody, + f[ibody][0], f[ibody][1], f[ibody][2], + torque[ibody][0], torque[ibody][1], torque[ibody][2]); + printf("contact jbody = %d: f = %f %f %f; torque = %f %f %f\n", jbody, + f[jbody][0], f[jbody][1], f[jbody][2], + torque[jbody][0], torque[jbody][1], torque[jbody][2]); + #endif +} + +/* ---------------------------------------------------------------------- + Rescale the forces and torques for all the contacts +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, + double** f, double** torque, Contact* contact_list, int &num_contacts, + double contact_area, double k_n, double k_na, double* facc) +{ + int m,ibody,jbody; + double delx,dely,delz,fx,fy,fz,R,fpair,r,shift; + double j_a = contact_area / (num_contacts * A_ua); + if (j_a < 1.0) j_a = 1.0; + + shift = k_na * cut_inner; + + for (m = 0; m < num_contacts; m++) { + ibody = contact_list[m].ibody; + jbody = contact_list[m].jbody; + + delx = contact_list[m].xi[0] - contact_list[m].xj[0]; + dely = contact_list[m].xi[1] - contact_list[m].xj[1]; + delz = contact_list[m].xi[2] - contact_list[m].xj[2]; + r = sqrt(delx*delx + dely*dely + delz*delz); + R = contact_list[m].separation; + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + } else fpair = 0.0; + + fpair *= j_a; + fx = delx*fpair/r; + fy = dely*fpair/r; + fz = delz*fpair/r; + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], contact_list[m].xi, fx, fy, fz, torque[ibody]); + + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + sum_torque(x[jbody], contact_list[m].xj, -fx, -fy, -fz, torque[jbody]); + + facc[0] += fx; facc[1] += fy; facc[2] += fz; + } +} + +/* ---------------------------------------------------------------------- + Accumulate torque to body from the force f=(fx,fy,fz) acting at point x +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sum_torque(double* xm, double *x, double fx, + double fy, double fz, double* torque) +{ + double rx = x[0] - xm[0]; + double ry = x[1] - xm[1]; + double rz = x[2] - xm[2]; + double tx = ry * fz - rz * fy; + double ty = rz * fx - rx * fz; + double tz = rx * fy - ry * fx; + torque[0] += tx; + torque[1] += ty; + torque[2] += tz; +} + +/* ---------------------------------------------------------------------- + Test if two points a and b are in opposite sides of a plane defined by + a normal vector n and a point x0 +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::opposite_sides(double* n, double* x0, + double* a, double* b) +{ + double m_a = n[0]*(a[0] - x0[0])+n[1]*(a[1] - x0[1])+n[2]*(a[2] - x0[2]); + double m_b = n[0]*(b[0] - x0[0])+n[1]*(b[1] - x0[1])+n[2]*(b[2] - x0[2]); + // equal to zero when either a or b is on the plane + if (m_a * m_b <= 0) + return 1; + else + return 0; +} + +/* ---------------------------------------------------------------------- + Test if a line segment defined by two points a and b intersects with + a triangle defined by three points x1, x2 and x3 +------------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_face_intersect(double* x1, double* x2, + double* x3, double* a, double* b, double* h_a, double* h_b, + double& d_a, double& d_b, int& inside_a, int& inside_b) +{ + double s[3], u[3], v[3], n[3]; + + // line director + + MathExtra::sub3(b, a, s); + + // plane normal vector + + MathExtra::sub3(x2, x1, u); + MathExtra::sub3(x3, x1, v); + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); + + // find the projection of a and b to the plane and the corresponding distances + + project_pt_plane(a, x1, x2, x3, h_a, d_a, inside_a); + + project_pt_plane(b, x1, x2, x3, h_b, d_b, inside_b); + + // check if the line segment is parallel to the plane + + double dot = MathExtra::dot3(s, n); + if (fabs(dot) < EPSILON) return EF_PARALLEL; + + // solve for the intersection between the line and the plane + + double m[3][3], invm[3][3], p[3], ans[3]; + m[0][0] = -s[0]; + m[0][1] = u[0]; + m[0][2] = v[0]; + + m[1][0] = -s[1]; + m[1][1] = u[1]; + m[1][2] = v[1]; + + m[2][0] = -s[2]; + m[2][1] = u[2]; + m[2][2] = v[2]; + + MathExtra::sub3(a, x1, p); + MathExtra::invert3(m, invm); + MathExtra::matvec(invm, p, ans); + + // p is reused for the intersection point + // s = b - a + + double t = ans[0]; + p[0] = a[0] + s[0] * t; + p[1] = a[1] + s[1] * t; + p[2] = a[2] + s[2] * t; + + // check if p is inside the triangle, excluding the edges and vertices + // the edge-edge and edge-vertices are handled separately + + int inside = 0; + if (ans[1] > 0 && ans[2] > 0 && ans[1] + ans[2] < 1) + inside = 1; + + int interact; + if (t < 0 || t > 1) { + interact = EF_SAME_SIDE_OF_FACE; + } else { + if (inside == 1) + interact = EF_INTERSECT_INSIDE; + else + interact = EF_INTERSECT_OUTSIDE; + } + + return interact; +} + +/* ---------------------------------------------------------------------- + Find the projection of q on the plane defined by point p and the normal + unit vector n: q_proj = q - dot(q - p, n) * n + and the distance d from q to the plane +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::project_pt_plane(const double* q, + const double* p, const double* n, + double* q_proj, double &d) +{ + double dot, ans[3], n_p[3]; + n_p[0] = n[0]; n_p[1] = n[1]; n_p[2] = n[2]; + MathExtra::sub3(q, p, ans); + dot = MathExtra::dot3(ans, n_p); + MathExtra::scale3(dot, n_p); + MathExtra::sub3(q, n_p, q_proj); + MathExtra::sub3(q, q_proj, ans); + d = MathExtra::len3(ans); +} + +/* ---------------------------------------------------------------------- + Check if points q1 and q2 are inside a convex polygon, i.e. a face of + a polyhedron + ibody = atom i's index + face_index = face index of the body + xmi = atom i's coordinates + q1 = tested point on the face (e.g. the projection of a point) + q2 = another point (can be NULL) for face-edge intersection + Output: + inside1 = 1 if q1 is inside the polygon, 0 otherwise + inside2 = 1 if q2 is inside the polygon, 0 otherwise +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::inside_polygon(int ibody, int face_index, + double* xmi, const double* q1, const double* q2, + int& inside1, int& inside2) + +{ + int i,n,ifirst,iffirst,npi1,npi2; + double xi1[3],xi2[3],u[3],v[3],costheta,anglesum1,anglesum2,magu,magv; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + anglesum1 = anglesum2 = 0;; + for (i = 0; i < MAX_FACE_SIZE; i++) { + npi1 = static_cast(face[iffirst+face_index][i]); + if (npi1 < 0) break; + n = i + 1; + if (n <= MAX_FACE_SIZE - 1) { + npi2 = static_cast(face[iffirst+face_index][n]); + if (npi2 < 0) npi2 = static_cast(face[iffirst+face_index][0]); + } else { + npi2 = static_cast(face[iffirst+face_index][0]); + } + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + MathExtra::sub3(xi1,q1,u); + MathExtra::sub3(xi2,q1,v); + magu = MathExtra::len3(u); + magv = MathExtra::len3(v); + + // the point is at either vertices + + if (magu * magv < EPSILON) inside1 = 1; + else { + costheta = MathExtra::dot3(u,v)/(magu*magv); + anglesum1 += acos(costheta); + } + + if (q2 != NULL) { + MathExtra::sub3(xi1,q2,u); + MathExtra::sub3(xi2,q2,v); + magu = MathExtra::len3(u); + magv = MathExtra::len3(v); + if (magu * magv < EPSILON) inside2 = 1; + else { + costheta = MathExtra::dot3(u,v)/(magu*magv); + anglesum2 += acos(costheta); + } + } + } + + if (fabs(anglesum1 - MY_2PI) < EPSILON) inside1 = 1; + else inside1 = 0; + + if (q2 != NULL) { + if (fabs(anglesum2 - MY_2PI) < EPSILON) inside2 = 1; + else inside2 = 0; + } +} + +/* ---------------------------------------------------------------------- + Find the projection of q on the plane defined by 3 points x1, x2 and x3 + returns the distance d from q to the plane and whether the projected + point is inside the triangle defined by (x1, x2, x3) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::project_pt_plane(const double* q, + const double* x1, const double* x2, const double* x3, double* q_proj, + double &d, int& inside) +{ + double u[3],v[3],n[3]; + + // plane normal vector + + MathExtra::sub3(x2, x1, u); + MathExtra::sub3(x3, x1, v); + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); + + // solve for the intersection between the line and the plane + + double m[3][3], invm[3][3], p[3], ans[3]; + m[0][0] = -n[0]; + m[0][1] = u[0]; + m[0][2] = v[0]; + + m[1][0] = -n[1]; + m[1][1] = u[1]; + m[1][2] = v[1]; + + m[2][0] = -n[2]; + m[2][1] = u[2]; + m[2][2] = v[2]; + + MathExtra::sub3(q, x1, p); + MathExtra::invert3(m, invm); + MathExtra::matvec(invm, p, ans); + + double t = ans[0]; + q_proj[0] = q[0] + n[0] * t; + q_proj[1] = q[1] + n[1] * t; + q_proj[2] = q[2] + n[2] * t; + + // check if the projection point is inside the triangle + // exclude the edges and vertices + // edge-sphere and sphere-sphere interactions are handled separately + + inside = 0; + if (ans[1] > 0 && ans[2] > 0 && ans[1] + ans[2] < 1) { + inside = 1; + } + + // distance from q to q_proj + + MathExtra::sub3(q, q_proj, ans); + d = MathExtra::len3(ans); +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::project_pt_line(const double* q, + const double* xi1, const double* xi2, double* h, double& d, double& t) +{ + double u[3],v[3],r[3],s; + + MathExtra::sub3(xi2, xi1, u); + MathExtra::norm3(u); + MathExtra::sub3(q, xi1, v); + + s = MathExtra::dot3(u, v); + h[0] = xi1[0] + s * u[0]; + h[1] = xi1[1] + s * u[1]; + h[2] = xi1[2] + s * u[2]; + + MathExtra::sub3(q, h, r); + d = MathExtra::len3(r); + + if (fabs(xi2[0] - xi1[0]) > 0) + t = (h[0] - xi1[0])/(xi2[0] - xi1[0]); + else if (fabs(xi2[1] - xi1[1]) > 0) + t = (h[1] - xi1[1])/(xi2[1] - xi1[1]); + else if (fabs(xi2[2] - xi1[2]) > 0) + t = (h[2] - xi1[2])/(xi2[2] - xi1[2]); +} + +/* ---------------------------------------------------------------------- + compute the shortest distance between two edges (line segments) + x1, x2: two endpoints of the first edge + x3, x4: two endpoints of the second edge + h1: the end point of the shortest segment perpendicular to both edges + on the line (x1;x2) + h2: the end point of the shortest segment perpendicular to both edges + on the line (x3;x4) + t1: fraction of h1 in the segment (x1,x2) + t2: fraction of h2 in the segment (x3,x4) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::distance_bt_edges(const double* x1, + const double* x2, const double* x3, const double* x4, + double* h1, double* h2, double& t1, double& t2, double& r) +{ + double u[3],v[3],n[3],dot; + + // set the default returned values + + t1 = -2; + t2 = 2; + r = 0; + + // find the edge unit directors and their dot product + + MathExtra::sub3(x2, x1, u); + MathExtra::norm3(u); + MathExtra::sub3(x4, x3, v); + MathExtra::norm3(v); + dot = MathExtra::dot3(u,v); + dot = fabs(dot); + + // check if two edges are parallel + // find the two ends of the overlapping segment, if any + + if (fabs(dot - 1.0) < EPSILON) { + + double s1,s2,x13[3],x23[3],x13h[3]; + double t13,t23,t31,t41,x31[3],x41[3]; + + MathExtra::sub3(x1,x3,x13); // x13 = x1 - x3 + MathExtra::sub3(x2,x3,x23); // x23 = x2 - x3 + + s1 = MathExtra::dot3(x13,v); + x13h[0] = x13[0] - s1*v[0]; + x13h[1] = x13[1] - s1*v[1]; + x13h[2] = x13[2] - s1*v[2]; + r = MathExtra::len3(x13h); + + // x13 is the projection of x1 on x3-x4 + + x13[0] = x3[0] + s1*v[0]; + x13[1] = x3[1] + s1*v[1]; + x13[2] = x3[2] + s1*v[2]; + + // x23 is the projection of x2 on x3-x4 + + s2 = MathExtra::dot3(x23,v); + x23[0] = x3[0] + s2*v[0]; + x23[1] = x3[1] + s2*v[1]; + x23[2] = x3[2] + s2*v[2]; + + // find the fraction of the projection points on the edges + + if (fabs(x4[0] - x3[0]) > 0) + t13 = (x13[0] - x3[0])/(x4[0] - x3[0]); + else if (fabs(x4[1] - x3[1]) > 0) + t13 = (x13[1] - x3[1])/(x4[1] - x3[1]); + else if (fabs(x4[2] - x3[2]) > 0) + t13 = (x13[2] - x3[2])/(x4[2] - x3[2]); + + if (fabs(x4[0] - x3[0]) > 0) + t23 = (x23[0] - x3[0])/(x4[0] - x3[0]); + else if (fabs(x4[1] - x3[1]) > 0) + t23 = (x23[1] - x3[1])/(x4[1] - x3[1]); + else if (fabs(x4[2] - x3[2]) > 0) + t23 = (x23[2] - x3[2])/(x4[2] - x3[2]); + + if (fabs(x23[0] - x13[0]) > 0) + t31 = (x3[0] - x13[0])/(x23[0] - x13[0]); + else if (fabs(x23[1] - x13[1]) > 0) + t31 = (x3[1] - x13[1])/(x23[1] - x13[1]); + else if (fabs(x23[2] - x13[2]) > 0) + t31 = (x3[2] - x13[2])/(x23[2] - x13[2]); + + // x31 is the projection of x3 on x1-x2 + + x31[0] = x1[0] + t31*(x2[0] - x1[0]); + x31[1] = x1[1] + t31*(x2[1] - x1[1]); + x31[2] = x1[2] + t31*(x2[2] - x1[2]); + + if (fabs(x23[0] - x13[0]) > 0) + t41 = (x4[0] - x13[0])/(x23[0] - x13[0]); + else if (fabs(x23[1] - x13[1]) > 0) + t41 = (x4[1] - x13[1])/(x23[1] - x13[1]); + else if (fabs(x23[2] - x13[2]) > 0) + t41 = (x4[2] - x13[2])/(x23[2] - x13[2]); + + // x41 is the projection of x4 on x1-x2 + + x41[0] = x1[0] + t41*(x2[0] - x1[0]); + x41[1] = x1[1] + t41*(x2[1] - x1[1]); + x41[2] = x1[2] + t41*(x2[2] - x1[2]); + + // determine two ends from the overlapping segments + + int n1 = 0; + int n2 = 0; + if (t13 >= 0 && t13 <= 1) { + h1[0] = x1[0]; + h1[1] = x1[1]; + h1[2] = x1[2]; + h2[0] = x13[0]; + h2[1] = x13[1]; + h2[2] = x13[2]; + t1 = 0; + t2 = t13; + n1++; + n2++; + } + if (t23 >= 0 && t23 <= 1) { + if (n1 == 0) { + h1[0] = x2[0]; + h1[1] = x2[1]; + h1[2] = x2[2]; + h2[0] = x23[0]; + h2[1] = x23[1]; + h2[2] = x23[2]; + t1 = 1; + t2 = t23; + n1++; + n2++; + } else { + h1[0] = (x1[0]+x2[0])/2; + h1[1] = (x1[1]+x2[1])/2; + h1[2] = (x1[2]+x2[2])/2; + h2[0] = (x13[0]+x23[0])/2; + h2[1] = (x13[1]+x23[1])/2; + h2[2] = (x13[2]+x23[2])/2; + t1 = 0.5; + t2 = (t13+t23)/2; + n1++; + n2++; + } + } + + if (n1 == 0 && n2 == 0) { + if (t31 >= 0 && t31 <= 1) { + h1[0] = x31[0]; + h1[1] = x31[1]; + h1[2] = x31[2]; + h2[0] = x3[0]; + h2[1] = x3[1]; + h2[2] = x3[2]; + t1 = t31; + t2 = 0; + n1++; + n2++; + } + if (t41 >= 0 && t41 <= 1) { + if (n1 == 0) { + h1[0] = x41[0]; + h1[1] = x41[1]; + h1[2] = x41[2]; + h2[0] = x4[0]; + h2[1] = x4[1]; + h2[2] = x4[2]; + t1 = t41; + t2 = 1; + n1++; + n2++; + } else { + h1[0] = (x31[0]+x41[0])/2; + h1[1] = (x31[1]+x41[1])/2; + h1[2] = (x31[2]+x41[2])/2; + h2[0] = (x3[0]+x4[0])/2; + h2[1] = (x3[1]+x4[1])/2; + h2[2] = (x3[2]+x4[2])/2; + t1 = (t31+t41)/2; + t2 = 0.5; + n1++; + n2++; + } + } + } + + // if n1 == 0 and n2 == 0 at this point, + // which means no overlapping segments bt two parallel edges, + // return the default values of t1 and t2 + + return; + + } + + // find the vector n perpendicular to both edges + + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); + + // find the intersection of the line (x3,x4) and the plane (x1,x2,n) + // s = director of the line (x3,x4) + // n_p = plane normal vector of the plane (x1,x2,n) + + double s[3], n_p[3]; + MathExtra::sub3(x4, x3, s); + MathExtra::sub3(x2, x1, u); + MathExtra::cross3(u, n, n_p); + MathExtra::norm3(n_p); + + // solve for the intersection between the line and the plane + + double m[3][3], invm[3][3], p[3], ans[3]; + m[0][0] = -s[0]; + m[0][1] = u[0]; + m[0][2] = n[0]; + + m[1][0] = -s[1]; + m[1][1] = u[1]; + m[1][2] = n[1]; + + m[2][0] = -s[2]; + m[2][1] = u[2]; + m[2][2] = n[2]; + + MathExtra::sub3(x3, x1, p); + MathExtra::invert3(m, invm); + MathExtra::matvec(invm, p, ans); + + t2 = ans[0]; + h2[0] = x3[0] + s[0] * t2; + h2[1] = x3[1] + s[1] * t2; + h2[2] = x3[2] + s[2] * t2; + + project_pt_plane(h2, x1, n, h1, r); + + if (fabs(x2[0] - x1[0]) > 0) + t1 = (h1[0] - x1[0])/(x2[0] - x1[0]); + else if (fabs(x2[1] - x1[1]) > 0) + t1 = (h1[1] - x1[1])/(x2[1] - x1[1]); + else if (fabs(x2[2] - x1[2]) > 0) + t1 = (h1[2] - x1[2])/(x2[2] - x1[2]); +} + +/* ---------------------------------------------------------------------- + Calculate the total velocity of a point (vertex, a point on an edge): + vi = vcm + omega ^ (p - xcm) +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::total_velocity(double* p, double *xcm, + double* vcm, double *angmom, double *inertia, double *quat, double* vi) +{ + double r[3],omega[3],ex_space[3],ey_space[3],ez_space[3]; + r[0] = p[0] - xcm[0]; + r[1] = p[1] - xcm[1]; + r[2] = p[2] - xcm[2]; + MathExtra::q_to_exyz(quat,ex_space,ey_space,ez_space); + MathExtra::angmom_to_omega(angmom,ex_space,ey_space,ez_space, + inertia,omega); + vi[0] = omega[1]*r[2] - omega[2]*r[1] + vcm[0]; + vi[1] = omega[2]*r[0] - omega[0]*r[2] + vcm[1]; + vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; +} + +/* ---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sanity_check() +{ + + double x1[3],x2[3],x3[3],x4[3],h_a[3],h_b[3],d_a,d_b,u[3],v[3],n[3]; + double a[3],b[3],t_a,t_b; + int inside_a, inside_b; + + x1[0] = 0; x1[1] = 3; x1[2] = 0; + x2[0] = 3; x2[1] = 0; x2[2] = 0; + x3[0] = 4; x3[1] = 3; x3[2] = 0; + x4[0] = 5; x4[1] = 3; x4[2] = 0; + + a[0] = 0; a[1] = 0; a[2] = 0; + b[0] = 4; b[1] = 0; b[2] = 0; + + project_pt_line(a, x1, x2, h_a, d_a, t_a); + project_pt_line(b, x1, x2, h_b, d_b, t_b); +/* + printf("h_a: %f %f %f; h_b: %f %f %f; t_a = %f; t_b = %f; d = %f; d_b = %f\n", + h_a[0], h_a[1], h_a[2], h_b[0], h_b[1], h_b[2], t_a, t_b, d_a, d_b); +*/ +/* + int mode = edge_face_intersect(x1, x2, x3, a, b, h_a, h_b, d_a, d_b, + inside_a, inside_b); + + MathExtra::sub3(x2, x1, u); + MathExtra::sub3(x3, x1, v); + MathExtra::cross3(u, v, n); + MathExtra::norm3(n); +*/ +/* + project_pt_plane(a, x1, x2, x3, h_a, d_a, inside_a); + printf("h_a: %f %f %f; d = %f: inside %d\n", + h_a[0], h_a[1], h_a[2], d_a, inside_a); + project_pt_plane(b, x1, x2, x3, h_b, d_b, inside_b); + printf("h_b: %f %f %f; d = %f: inside %d\n", + h_b[0], h_b[1], h_b[2], d_b, inside_b); +*/ +/* + distance_bt_edges(x1, x2, x3, x4, h_a, h_b, t_a, t_b, d_a); + printf("h_a: %f %f %f; h_b: %f %f %f; t_a = %f; t_b = %f; d = %f\n", + h_a[0], h_a[1], h_a[2], h_b[0], h_b[1], h_b[2], t_a, t_b, d_a); +*/ +} + diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h new file mode 100644 index 0000000000..d7ee1f013e --- /dev/null +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -0,0 +1,176 @@ +/* -*- c++ -*- ---------------------------------------------------------- + LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator + http://lammps.sandia.gov, Sandia National Laboratories + Steve Plimpton, sjplimp@sandia.gov + + Copyright (2003) Sandia Corporation. Under the terms of Contract + DE-AC04-94AL85000 with Sandia Corporation, the U.S. Government retains + certain rights in this software. This software is distributed under + the GNU General Public License. + + See the README file in the top-level LAMMPS directory. +------------------------------------------------------------------------- */ + +#ifdef PAIR_CLASS + +PairStyle(body/rounded/polyhedron,PairBodyRoundedPolyhedron) + +#else + +#ifndef LMP_PAIR_BODY_ROUNDED_POLYHEDRON_H +#define LMP_PAIR_BODY_ROUNDED_POLYHEDRON_H + +#include "pair.h" + +namespace LAMMPS_NS { + +class PairBodyRoundedPolyhedron : public Pair { + public: + PairBodyRoundedPolyhedron(class LAMMPS *); + ~PairBodyRoundedPolyhedron(); + void compute(int, int); + void settings(int, char **); + void coeff(int, char **); + void init_style(); + double init_one(int, int); + + struct Contact { + int ibody, jbody; // body (i.e. atom) indices (not tags) + int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE + double fx,fy,fz; // unscaled cohesive forces at contact + double xi[3]; // coordinates of the contact point on ibody + double xj[3]; // coordinates of the contact point on jbody + double separation; // contact surface separation + }; + + protected: + double **k_n; // normal repulsion strength + double **k_na; // normal attraction strength + double c_n; // normal damping coefficient + double c_t; // tangential damping coefficient + double mu; // normal friction coefficient during gross sliding + double A_ua; // characteristic contact area + double cut_inner; // cutoff for interaction between vertex-edge surfaces + + class AtomVecBody *avec; + class BodyRoundedPolyhedron *bptr; + + double **discrete; // list of all sub-particles for all bodies + int ndiscrete; // number of discretes in list + int dmax; // allocated size of discrete list + int *dnum; // number of discretes per line, 0 if uninit + int *dfirst; // index of first discrete per each line + int nmax; // allocated size of dnum,dfirst vectors + + double **edge; // list of all edge for all bodies + int nedge; // number of edge in list + int edmax; // allocated size of edge list + int *ednum; // number of edges per line, 0 if uninit + int *edfirst; // index of first edge per each line + int ednummax; // allocated size of ednum,edfirst vectors + + double **face; // list of all edge for all bodies + int nface; // number of faces in list + int facmax; // allocated size of face list + int *facnum; // number of faces per line, 0 if uninit + int *facfirst; // index of first face per each line + int facnummax; // allocated size of facnum,facfirst vectors + + double *enclosing_radius; // enclosing radii for all bodies + double *rounded_radius; // rounded radii for all bodies + double *maxerad; // per-type maximum enclosing radius + + void allocate(); + void body2space(int); + + int edge_against_face(int ibody, int jbody, double k_n, double k_na, + double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + int edge_against_edge(int ibody, int jbody, double k_n, double k_na, + double** x,Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + void sphere_against_sphere(int ibody, int jbody, double delx, double dely, double delz, + double rsq, double k_n, double k_na, + double** v, double** f, int evflag); + void sphere_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, int evflag); + void sphere_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, int evflag); + + int interaction_face_to_edge(int ibody, int face_index, double* xmi, + double rounded_radius_i, int jbody, int edge_index, + double* xmj, double rounded_radius_j, + double k_n, double k_na, double cut_inner, + Contact* contact_list, int &num_contacts, + double& energy, double* facc); + int interaction_edge_to_edge(int ibody, int edge_index_i, double* xmi, + double rounded_radius_i, int jbody, int edge_index_j, + double* xmj, double rounded_radius_j, + double k_n, double k_na, double cut_inner, + Contact* contact_list, int &num_contacts, + double& energy, double* facc); + + void contact_forces(int ibody, int jbody, double *xi, double *xj, + double delx, double dely, double delz, double fx, double fy, double fz, + double** x, double** v, double** angmom, double** f, double** torque, + double* facc); + + void pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, + double r, double contact_dist, double k_n, + double k_na, double shift, double** x, double** v, + double** f, double** torque, double** angmom, + int jflag, double& energy, double* facc); + void rescale_cohesive_forces(double** x, double** f, double** torque, + Contact* contact_list, int &num_contacts, + double contact_area, double k_n, double k_na, double* facc); + + void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); + int opposite_sides(double* n, double* x0, double* a, double* b); + int edge_face_intersect(double* x1, double* x2, double* x3, double* a, double* b, + double* hi1, double* hi2, double& d1, double& d2, + int& inside_a, int& inside_b); + void project_pt_plane(const double* q, const double* p, + const double* n, double* q_proj, double &d); + void project_pt_plane(const double* q, const double* x1, const double* x2, + const double* x3, double* q_proj, double &d, int& inside); + void project_pt_line(const double* q, const double* xi1, const double* xi2, + double* h, double& d, double& t); + void inside_polygon(int ibody, int face_index, double* xmi, + const double* q1, const double* q2, int& inside1, int& inside2); + + void distance_bt_edges(const double* x1, const double* x2, + const double* x3, const double* x4, + double* h1, double* h2, double& t1, double& t2, double& r); + void total_velocity(double* p, double *xcm, double* vcm, double *angmom, + double *inertia, double *quat, double* vi); + void sanity_check(); +}; + +} + +#endif +#endif + +/* ERROR/WARNING messages: + +E: Illegal ... command + +Self-explanatory. Check the input script syntax and compare to the +documentation for the command. You can use -echo screen as a +command-line option when running LAMMPS to see the offending line. + +E: Incorrect args for pair coefficients + +Self-explanatory. Check the input script or data file. + +E: Pair body/rounded/polyhedron requires atom style body rounded/polyhedron + +Self-explanatory. + +E: Pair body requires body style rounded/polyhedron + +This pair style is specific to the rounded/polyhedron body style. + +*/ From 4308f005ab4b0ab2b943eb7c083f3a2f548efcb1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 23:12:01 -0500 Subject: [PATCH 02/29] Updated pair body rounded/polygon --- src/BODY/pair_body_rounded_polygon.cpp | 6 ++++-- src/BODY/pair_body_rounded_polyhedron.cpp | 3 +++ 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 72591d2bd0..9f9cdea31b 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -374,6 +374,8 @@ void PairBodyRoundedPolygon::settings(int narg, char **arg) mu = force->numeric(FLERR,arg[2]); delta_ua = force->numeric(FLERR,arg[3]); cut_inner = force->numeric(FLERR,arg[4]); + + if (delta_ua < 0) delta_ua = 1; } /* ---------------------------------------------------------------------- @@ -1078,12 +1080,12 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, // check if x0 (the queried vertex) and xmi (the body's center of mass) // are on the different sides of the edge - int m = opposite_sides(xi1, xi2, x0, xmi); + int m = 1;//opposite_sides(xi1, xi2, x0, xmi); if (m == 0) { // x0 and xmi are on not the opposite sides of the edge - // leave xpi for another edge to detect + // leave xpi for another edge to detect -- for convex shapes only mode = NONE; diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 8d5f9ec72c..bc94b9cc80 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -82,6 +82,9 @@ PairBodyRoundedPolyhedron::PairBodyRoundedPolyhedron(LAMMPS *lmp) : Pair(lmp) c_t = 0.2; mu = 0.0; A_ua = 1.0; + + k_n = NULL; + k_na = NULL; } /* ---------------------------------------------------------------------- */ From 4bd4b2a1c75cfc6ea1f9ec90275cd4d947d76571 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 23:35:49 -0500 Subject: [PATCH 03/29] Updated pair body rounded/polygon and rounded/polyhedron --- src/BODY/pair_body_rounded_polygon.cpp | 6 +- src/BODY/pair_body_rounded_polyhedron.cpp | 124 ++++++++++++++++------ src/BODY/pair_body_rounded_polyhedron.h | 17 +-- 3 files changed, 105 insertions(+), 42 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 9f9cdea31b..62a6d77a01 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -848,6 +848,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, // done with the edges from body j, // given that vertex ni interacts with only one vertex from one edge of body j + // comment out this break to take into account concave shapes // break; @@ -955,6 +956,7 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, // done with the edges from body j, // given that vertex ni interacts with only one edge from body j + // comment out this break to take into account concave shapes // break; @@ -1080,12 +1082,12 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, // check if x0 (the queried vertex) and xmi (the body's center of mass) // are on the different sides of the edge - int m = 1;//opposite_sides(xi1, xi2, x0, xmi); + int m = opposite_sides(xi1, xi2, x0, xmi); if (m == 0) { // x0 and xmi are on not the opposite sides of the edge - // leave xpi for another edge to detect -- for convex shapes only + // leave xpi for another edge to detect mode = NONE; diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index bc94b9cc80..02c2abe1e3 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -47,7 +47,7 @@ using namespace MathConst; #define DELTA 10000 #define EPSILON 1e-3 #define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) -#define MAX_CONTACTS 16 // for 3D models +#define MAX_CONTACTS 32 // for 3D models //#define _POLYHEDRON_DEBUG @@ -308,36 +308,8 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // also consider point contacts and line contacts if (num_contacts > 0) { - double contact_area; - if (num_contacts == 1) { - contact_area = 0; - } else if (num_contacts == 2) { - contact_area = num_contacts * A_ua; - } else { - int m; - double xc[3],dx,dy,dz; - xc[0] = xc[1] = xc[2] = 0; - for (m = 0; m < num_contacts; m++) { - xc[0] += contact_list[m].xi[0]; - xc[1] += contact_list[m].xi[1]; - xc[2] += contact_list[m].xi[2]; - } - - xc[0] /= (double)num_contacts; - xc[1] /= (double)num_contacts; - xc[2] /= (double)num_contacts; - - contact_area = 0.0; - for (m = 0; m < num_contacts; m++) { - dx = contact_list[m].xi[0] - xc[0]; - dy = contact_list[m].xi[1] - xc[1]; - dz = contact_list[m].xi[2] - xc[2]; - contact_area += (dx*dx + dy*dy + dz*dz); - } - contact_area *= (MY_PI/(double)num_contacts); - } rescale_cohesive_forces(x, f, torque, contact_list, num_contacts, - contact_area, k_nij, k_naij, facc); + k_nij, k_naij, facc); } if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, @@ -383,6 +355,8 @@ void PairBodyRoundedPolyhedron::settings(int narg, char **arg) mu = force->numeric(FLERR,arg[2]); A_ua = force->numeric(FLERR,arg[3]); cut_inner = force->numeric(FLERR,arg[4]); + + if (A_ua < 0) A_ua = 1; } /* ---------------------------------------------------------------------- @@ -1381,7 +1355,17 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, #endif } else if (interact == EF_INTERSECT_INSIDE) { - + // need to do something here to resolve overlap!! + // p is the intersection between the edge and the face + int jflag = 1; + if (d1 < d2) + pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); + else + pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, + k_n, k_na, shift, x, v, f, torque, angmom, + jflag, energy, facc); } return interact; @@ -1661,6 +1645,7 @@ void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, ft[1] = -c_t * vt2; ft[2] = -c_t * vt3; + // these are contact forces (F_n, F_t and F_ne) only // cohesive forces will be scaled by j_a after contact area is computed // mu * fne = tangential friction deformation during gross sliding // see Eq. 4, Fraige et al. @@ -1697,13 +1682,49 @@ void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double contact_area, double k_n, double k_na, double* facc) + double k_n, double k_na, double* facc) { int m,ibody,jbody; - double delx,dely,delz,fx,fy,fz,R,fpair,r,shift; + double delx,dely,delz,fx,fy,fz,R,fpair,r,shift,contact_area; + + int num_unique_contacts = 0; + if (num_contacts == 1) { + num_unique_contacts = 1; + contact_area = 0; + } else if (num_contacts == 2) { + num_unique_contacts = 2; + contact_area = num_contacts * A_ua; + } else { + find_unique_contacts(contact_list, num_contacts); + + double xc[3],dx,dy,dz; + xc[0] = xc[1] = xc[2] = 0; + num_unique_contacts = 0; + for (int m = 0; m < num_contacts; m++) { + if (contact_list[m].unique == 0) continue; + xc[0] += contact_list[m].xi[0]; + xc[1] += contact_list[m].xi[1]; + xc[2] += contact_list[m].xi[2]; + num_unique_contacts++; + } + + xc[0] /= (double)num_unique_contacts; + xc[1] /= (double)num_unique_contacts; + xc[2] /= (double)num_unique_contacts; + + contact_area = 0.0; + for (int m = 0; m < num_contacts; m++) { + if (contact_list[m].unique == 0) continue; + dx = contact_list[m].xi[0] - xc[0]; + dy = contact_list[m].xi[1] - xc[1]; + dz = contact_list[m].xi[2] - xc[2]; + contact_area += (dx*dx + dy*dy + dz*dz); + } + contact_area *= (MY_PI/(double)num_unique_contacts); + } + double j_a = contact_area / (num_contacts * A_ua); if (j_a < 1.0) j_a = 1.0; - shift = k_na * cut_inner; for (m = 0; m < num_contacts; m++) { @@ -2302,6 +2323,41 @@ void PairBodyRoundedPolyhedron::total_velocity(double* p, double *xcm, vi[2] = omega[0]*r[1] - omega[1]*r[0] + vcm[2]; } +/* ---------------------------------------------------------------------- + Determine the length of the contact segment, i.e. the separation between + 2 contacts, should be extended for 3D models. +------------------------------------------------------------------------- */ + +double PairBodyRoundedPolyhedron::contact_separation(const Contact& c1, + const Contact& c2) +{ + double x1 = 0.5*(c1.xi[0] + c1.xj[0]); + double y1 = 0.5*(c1.xi[1] + c1.xj[1]); + double z1 = 0.5*(c1.xi[2] + c1.xj[2]); + double x2 = 0.5*(c2.xi[0] + c2.xj[0]); + double y2 = 0.5*(c2.xi[1] + c2.xj[1]); + double z2 = 0.5*(c2.xi[2] + c2.xj[2]); + double rsq = (x2 - x1)*(x2 - x1) + (y2 - y1)*(y2 - y1) + (z2 - z1)*(z2 - z1); + return rsq; +} + +/* ---------------------------------------------------------------------- + find the number of unique contacts +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, int& num_contacts) +{ + int n = num_contacts; + for (int i = 0; i < n - 1; i++) { + + for (int j = i + 1; j < n; j++) { + if (contact_list[i].unique == 0) continue; + double d = contact_separation(contact_list[i], contact_list[j]); + if (d < EPSILON) contact_list[j].unique = 0; + } + } +} + /* ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sanity_check() diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h index d7ee1f013e..05985ef813 100644 --- a/src/BODY/pair_body_rounded_polyhedron.h +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -35,12 +35,13 @@ class PairBodyRoundedPolyhedron : public Pair { double init_one(int, int); struct Contact { - int ibody, jbody; // body (i.e. atom) indices (not tags) - int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE - double fx,fy,fz; // unscaled cohesive forces at contact - double xi[3]; // coordinates of the contact point on ibody - double xj[3]; // coordinates of the contact point on jbody + int ibody, jbody; // body (i.e. atom) indices (not tags) + int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE + double fx,fy,fz; // unscaled cohesive forces at contact + double xi[3]; // coordinates of the contact point on ibody + double xj[3]; // coordinates of the contact point on jbody double separation; // contact surface separation + int unique; }; protected: @@ -124,7 +125,11 @@ class PairBodyRoundedPolyhedron : public Pair { int jflag, double& energy, double* facc); void rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double contact_area, double k_n, double k_na, double* facc); + double k_n, double k_na, double* facc); + + double contact_separation(const Contact& c1, const Contact& c2); + + void find_unique_contacts(Contact* contact_list, int& num_contacts); void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); int opposite_sides(double* n, double* x0, double* a, double* b); From dd3278ea07597016886198f9bbeaf3b12ba1017b Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 24 May 2018 23:54:50 -0500 Subject: [PATCH 04/29] Added examples for body rounded/polygon and rounded/polyhedron --- examples/body/data.cubes | 76 ++++++++++++++++++++++++++++++++++ examples/body/in.cubes | 53 ++++++++++++++++++++++++ examples/body/in.pour3d | 57 +++++++++++++++++++++++++ examples/body/molecule.cube | 52 +++++++++++++++++++++++ examples/body/molecule.point3d | 26 ++++++++++++ examples/body/molecule.rod3d | 27 ++++++++++++ examples/body/molecule.tetra | 39 +++++++++++++++++ 7 files changed, 330 insertions(+) create mode 100644 examples/body/data.cubes create mode 100644 examples/body/in.cubes create mode 100644 examples/body/in.pour3d create mode 100644 examples/body/molecule.cube create mode 100644 examples/body/molecule.point3d create mode 100644 examples/body/molecule.rod3d create mode 100644 examples/body/molecule.tetra diff --git a/examples/body/data.cubes b/examples/body/data.cubes new file mode 100644 index 0000000000..c1323ca350 --- /dev/null +++ b/examples/body/data.cubes @@ -0,0 +1,76 @@ +LAMMPS data file for polygons: cubes, moment of inertia I = m edge^2/ 6 +2 atoms +2 bodies +1 atom types +0 6 xlo xhi +0 6 ylo yhi +0 6 zlo zhi + +Atoms + +1 1 1 1 1.5 1.5 1.5 +2 1 1 1 4.0 4.0 4.0 + +Bodies + +1 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 +2 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 + diff --git a/examples/body/in.cubes b/examples/body/in.cubes new file mode 100644 index 0000000000..3aeaa70af9 --- /dev/null +++ b/examples/body/in.cubes @@ -0,0 +1,53 @@ +# 3d rounded cubes + +variable r index 3 +variable steps index 10000 + +units lj +dimension 3 + +atom_style body rounded/polyhedron 1 10 + +read_data data.cubes + +replicate $r $r $r + +velocity all create 1.2 187287 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 1 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +fix 1 all nvt/body temp 1.2 1.2 0.1 +#fix 1 all npt/body temp 1.2 1.2 0.1 iso 0.002 0.02 1.0 + +compute p2 all pressure 1_temp + +compute 1 all body/local id 1 2 3 +dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] + +#dump 2 all image 1000 image.*.jpg type type & +# zoom 1.5 adiam 1.5 body yes 0 0 view 60 15 +#dump_modify 2 pad 6 + +thermo_style custom step ke pe etotal c_p2 c_1_temp + +thermo 1000 + +run ${steps} + diff --git a/examples/body/in.pour3d b/examples/body/in.pour3d new file mode 100644 index 0000000000..290f2052c8 --- /dev/null +++ b/examples/body/in.pour3d @@ -0,0 +1,57 @@ +# pouring 3d rounded polyhedron bodies + +variable steps index 6000 + +units lj +boundary p p fm +comm_modify vel yes + +atom_style body rounded/polyhedron 1 8 +atom_modify map array + +region reg block 0 50 0 50 0 50 units box +create_box 4 reg + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 5 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +fix 1 all nve/body +fix 2 all gravity 1.0 spherical 0.0 -180.0 + +molecule object molecule.cube molecule.tetra toff 1 & + molecule.rod3d toff 2 molecule.point3d toff 3 + +region slab block 5 45 5 45 25 35 units box +fix ins all pour 500 0 4767548 vol 0.4 10 region slab mol object & + molfrac 0.25 0.25 0.25 0.25 + +fix 4 all wall/body/polyhedron 2000 50 50 zplane 0.0 NULL + +#compute 1 all body/local type 1 2 3 +#dump 1 all local 1000 dump.polyhedron index c_1[1] c_1[2] c_1[3] c_1[4] +#dump 10 all custom 1000 tmp.dump id type x y z radius + +thermo_style custom step atoms ke pe etotal press + +thermo 1000 + +#dump 2 all image 500 image.*.jpg type type & +# zoom 1.5 adiam 1.5 body yes 0 0 view 75 15 +#dump_modify 2 pad 6 + +run ${steps} + + diff --git a/examples/body/molecule.cube b/examples/body/molecule.cube new file mode 100644 index 0000000000..2a8a7bca50 --- /dev/null +++ b/examples/body/molecule.cube @@ -0,0 +1,52 @@ +# 3d polygon body: cubes, moment of inertia I = m edge^2/ 6 + +1 atoms +3 79 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +8 12 6 + +Body Doubles + +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 +0 1 +1 2 +2 3 +3 0 +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 + diff --git a/examples/body/molecule.point3d b/examples/body/molecule.point3d new file mode 100644 index 0000000000..d22bfbe6fa --- /dev/null +++ b/examples/body/molecule.point3d @@ -0,0 +1,26 @@ +# 2d polygon body: disks Izz = 1/2 m radius^2 + +1 atoms +3 10 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +1 0 0 + +Body Doubles + +1 1 1.125 0 0 0 +0 0 0 +3.0 diff --git a/examples/body/molecule.rod3d b/examples/body/molecule.rod3d new file mode 100644 index 0000000000..1c8a0a8cd3 --- /dev/null +++ b/examples/body/molecule.rod3d @@ -0,0 +1,27 @@ +# 2d polygon body: rods Izz = 1/12 m length^2 + +1 atoms +3 13 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +2 1 0 + +Body Doubles + +1 1 1.333 0 0 0 +-2 0 0 +2 0 0 +0.5 diff --git a/examples/body/molecule.tetra b/examples/body/molecule.tetra new file mode 100644 index 0000000000..d67ec906c6 --- /dev/null +++ b/examples/body/molecule.tetra @@ -0,0 +1,39 @@ +# 3d polygon body: regular tetrahedra, moment of inertia I = m edge^2/ 20 + +1 atoms +3 47 body + +Coords + +1 0 0 0 + +Types + +1 1 + +Masses + +1 1.0 + +Body Integers + +4 6 4 + +Body Doubles + +0.4 0.4 0.4 0 0 0 +1 1 1 +1 -1 -1 +-1 1 -1 +-1 -1 1 +0 1 +0 2 +0 3 +1 2 +2 3 +3 1 +0 1 2 -1 +0 1 3 -1 +0 2 3 -1 +1 2 3 -1 +0.5 From 5a23342934b350bd88de7d335b40c1bb3c7427d2 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 00:39:55 -0500 Subject: [PATCH 05/29] Refactored pair body rounded/polyhedron so that other kernel force models can be implemented in the future --- src/BODY/pair_body_rounded_polyhedron.cpp | 725 +++++++++++----------- src/BODY/pair_body_rounded_polyhedron.h | 41 +- 2 files changed, 409 insertions(+), 357 deletions(-) diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 02c2abe1e3..42c107d68e 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -610,10 +610,10 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, rij = sqrt(rsq); R = rij - contact_dist; - shift = k_na * cut_inner; energy = 0; - + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy = (0.5 * k_n * R + shift) * R; @@ -621,6 +621,7 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, fpair = k_na * R - shift; energy = (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -680,159 +681,6 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, energy,0.0,fx,fy,fz,delx,dely,delz); } -/* ---------------------------------------------------------------------- - Interaction bt the faces of a polyhedron (ibody) and a sphere (jbody) ----------------------------------------------------------------------- */ - -void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int evflag) -{ - int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; - double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; - double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; - double rradi,rradj,contact_dist; - double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; - double *quat, *inertia; - AtomVecBody::Bonus *bonus; - - int nlocal = atom->nlocal; - int newton_pair = force->newton_pair; - - ifirst = dfirst[ibody]; - iffirst = facfirst[ibody]; - nfi = facnum[ibody]; - - rradi = rounded_radius[ibody]; - rradj = rounded_radius[jbody]; - contact_dist = rradi + rradj; - - for (ni = 0; ni < nfi; ni++) { - - npi1 = static_cast(face[iffirst+ni][0]); - npi2 = static_cast(face[iffirst+ni][1]); - npi3 = static_cast(face[iffirst+ni][2]); - - // compute the space-fixed coordinates for the vertices of the face - - xi1[0] = x[ibody][0] + discrete[ifirst+npi1][0]; - xi1[1] = x[ibody][1] + discrete[ifirst+npi1][1]; - xi1[2] = x[ibody][2] + discrete[ifirst+npi1][2]; - - xi2[0] = x[ibody][0] + discrete[ifirst+npi2][0]; - xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; - xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; - - xi3[0] = x[ibody][0] + discrete[ifirst+npi3][0]; - xi3[1] = x[ibody][1] + discrete[ifirst+npi3][1]; - xi3[2] = x[ibody][2] + discrete[ifirst+npi3][2]; - - // find the normal unit vector of the face - - MathExtra::sub3(xi2, xi1, ui); - MathExtra::sub3(xi3, xi1, vi); - MathExtra::cross3(ui, vi, n); - MathExtra::norm3(n); - - // skip if the COM of the two bodies are in the same side of the face - - if (opposite_sides(n, xi1, x[ibody], x[jbody]) == 0) continue; - - // find the projection of the sphere on the face - - project_pt_plane(x[jbody], xi1, xi2, xi3, h, d, inside); - - inside_polygon(ibody, ni, x[ibody], h, NULL, inside, tmp); - if (inside == 0) continue; - - delx = h[0] - x[jbody][0]; - dely = h[1] - x[jbody][1]; - delz = h[2] - x[jbody][2]; - rsq = delx*delx + dely*dely + delz*delz; - rij = sqrt(rsq); - R = rij - contact_dist; - shift = k_na * cut_inner; - - energy = 0; - - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; - - fx = delx*fpair/rij; - fy = dely*fpair/rij; - fz = delz*fpair/rij; - - if (R <= 0) { // in contact - - // compute the velocity of the vertex in the space-fixed frame - - ibonus = atom->body[ibody]; - bonus = &avec->bonus[ibonus]; - quat = bonus->quat; - inertia = bonus->inertia; - total_velocity(h, x[ibody], v[ibody], angmom[ibody], - inertia, quat, vti); - - // relative translational velocity - - vr1 = vti[0] - v[jbody][0]; - vr2 = vti[1] - v[jbody][1]; - vr3 = vti[2] - v[jbody][2]; - - // normal component - - rsqinv = 1.0/rsq; - vnnr = vr1*delx + vr2*dely + vr3*delz; - vn1 = delx*vnnr * rsqinv; - vn2 = dely*vnnr * rsqinv; - vn3 = delz*vnnr * rsqinv; - - // tangential component - - vt1 = vr1 - vn1; - vt2 = vr2 - vn2; - vt3 = vr3 - vn3; - - // normal friction term at contact - - fn[0] = -c_n * vn1; - fn[1] = -c_n * vn2; - fn[2] = -c_n * vn3; - - // tangential friction term at contact, - // excluding the tangential deformation term for now - - ft[0] = -c_t * vt1; - ft[1] = -c_t * vt2; - ft[2] = -c_t * vt3; - - fx += fn[0] + ft[0]; - fy += fn[1] + ft[1]; - fz += fn[2] + ft[2]; - } - - f[ibody][0] += fx; - f[ibody][1] += fy; - f[ibody][2] += fz; - sum_torque(x[ibody], h, fx, fy, fz, torque[ibody]); - - if (newton_pair || jbody < nlocal) { - f[jbody][0] -= fx; - f[jbody][1] -= fy; - f[jbody][2] -= fz; - } - - if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, - energy,0.0,fx,fy,fz,delx,dely,delz); - } -} - /* ---------------------------------------------------------------------- Interaction bt the edges of a polyhedron (ibody) and a sphere (jbody) ---------------------------------------------------------------------- */ @@ -910,10 +758,10 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, delz = h[2] - x[jbody][2]; rij = sqrt(delx*delx + dely*dely + delz*delz); R = rij - contact_dist; - shift = k_na * cut_inner; energy = 0; - + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy = (0.5 * k_n * R + shift) * R; @@ -921,6 +769,8 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, fpair = k_na * R - shift; energy = (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ + fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -987,7 +837,216 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, energy,0.0,fx,fy,fz,delx,dely,delz); } +} +/* ---------------------------------------------------------------------- + Interaction bt the faces of a polyhedron (ibody) and a sphere (jbody) +---------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, + int evflag) +{ + int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; + double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; + double delx,dely,delz,rsq,rij,rsqinv,R,fx,fy,fz,fpair,shift,energy; + double rradi,rradj,contact_dist; + double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; + double *quat, *inertia; + AtomVecBody::Bonus *bonus; + + int nlocal = atom->nlocal; + int newton_pair = force->newton_pair; + + ifirst = dfirst[ibody]; + iffirst = facfirst[ibody]; + nfi = facnum[ibody]; + + rradi = rounded_radius[ibody]; + rradj = rounded_radius[jbody]; + contact_dist = rradi + rradj; + + for (ni = 0; ni < nfi; ni++) { + + npi1 = static_cast(face[iffirst+ni][0]); + npi2 = static_cast(face[iffirst+ni][1]); + npi3 = static_cast(face[iffirst+ni][2]); + + // compute the space-fixed coordinates for the vertices of the face + + xi1[0] = x[ibody][0] + discrete[ifirst+npi1][0]; + xi1[1] = x[ibody][1] + discrete[ifirst+npi1][1]; + xi1[2] = x[ibody][2] + discrete[ifirst+npi1][2]; + + xi2[0] = x[ibody][0] + discrete[ifirst+npi2][0]; + xi2[1] = x[ibody][1] + discrete[ifirst+npi2][1]; + xi2[2] = x[ibody][2] + discrete[ifirst+npi2][2]; + + xi3[0] = x[ibody][0] + discrete[ifirst+npi3][0]; + xi3[1] = x[ibody][1] + discrete[ifirst+npi3][1]; + xi3[2] = x[ibody][2] + discrete[ifirst+npi3][2]; + + // find the normal unit vector of the face + + MathExtra::sub3(xi2, xi1, ui); + MathExtra::sub3(xi3, xi1, vi); + MathExtra::cross3(ui, vi, n); + MathExtra::norm3(n); + + // skip if the COM of the two bodies are in the same side of the face + + if (opposite_sides(n, xi1, x[ibody], x[jbody]) == 0) continue; + + // find the projection of the sphere on the face + + project_pt_plane(x[jbody], xi1, xi2, xi3, h, d, inside); + + inside_polygon(ibody, ni, x[ibody], h, NULL, inside, tmp); + if (inside == 0) continue; + + delx = h[0] - x[jbody][0]; + dely = h[1] - x[jbody][1]; + delz = h[2] - x[jbody][2]; + rsq = delx*delx + dely*dely + delz*delz; + rij = sqrt(rsq); + R = rij - contact_dist; + + energy = 0; + kernel_force(R, k_n, k_na, energy, fpair); +/* + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + energy = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + energy = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; +*/ + + fx = delx*fpair/rij; + fy = dely*fpair/rij; + fz = delz*fpair/rij; + + if (R <= 0) { // in contact + + // compute the velocity of the vertex in the space-fixed frame + + ibonus = atom->body[ibody]; + bonus = &avec->bonus[ibonus]; + quat = bonus->quat; + inertia = bonus->inertia; + total_velocity(h, x[ibody], v[ibody], angmom[ibody], + inertia, quat, vti); + + // relative translational velocity + + vr1 = vti[0] - v[jbody][0]; + vr2 = vti[1] - v[jbody][1]; + vr3 = vti[2] - v[jbody][2]; + + // normal component + + rsqinv = 1.0/rsq; + vnnr = vr1*delx + vr2*dely + vr3*delz; + vn1 = delx*vnnr * rsqinv; + vn2 = dely*vnnr * rsqinv; + vn3 = delz*vnnr * rsqinv; + + // tangential component + + vt1 = vr1 - vn1; + vt2 = vr2 - vn2; + vt3 = vr3 - vn3; + + // normal friction term at contact + + fn[0] = -c_n * vn1; + fn[1] = -c_n * vn2; + fn[2] = -c_n * vn3; + + // tangential friction term at contact, + // excluding the tangential deformation term for now + + ft[0] = -c_t * vt1; + ft[1] = -c_t * vt2; + ft[2] = -c_t * vt3; + + fx += fn[0] + ft[0]; + fy += fn[1] + ft[1]; + fz += fn[2] + ft[2]; + } + + f[ibody][0] += fx; + f[ibody][1] += fy; + f[ibody][2] += fz; + sum_torque(x[ibody], h, fx, fy, fz, torque[ibody]); + + if (newton_pair || jbody < nlocal) { + f[jbody][0] -= fx; + f[jbody][1] -= fy; + f[jbody][2] -= fz; + } + + if (evflag) ev_tally_xyz(ibody,jbody,nlocal,newton_pair, + energy,0.0,fx,fy,fz,delx,dely,delz); + } +} + +/* ---------------------------------------------------------------------- + Determine the interaction mode between i's edges against j's edges + + i = atom i (body i) + j = atom j (body j) + x = atoms' coordinates + f = atoms' forces + torque = atoms' torques + tag = atoms' tags + contact_list = list of contacts + num_contacts = number of contacts between i's edges and j's edges + Return: + +---------------------------------------------------------------------- */ + +int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, + double k_n, double k_na, double** x, Contact* contact_list, + int &num_contacts, double &evdwl, double* facc) +{ + int ni,nei,nj,nej,contact,interact; + double rradi,rradj,energy; + + nei = ednum[ibody]; + rradi = rounded_radius[ibody]; + nej = ednum[jbody]; + rradj = rounded_radius[jbody]; + + energy = 0; + interact = EE_NONE; + + // loop through body i's edges + + for (ni = 0; ni < nei; ni++) { + + for (nj = 0; nj < nej; nj++) { + + // compute the distance between the edge nj to the edge ni + #ifdef _POLYHEDRON_DEBUG + printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", + nj, jbody, ni, ibody); + #endif + + interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, + jbody, nj, x[jbody], rradj, + k_n, k_na, cut_inner, + contact_list, num_contacts, + energy, facc); + } + + } // end for looping through the edges of body i + + evdwl += energy; + + return interact; } /* ---------------------------------------------------------------------- @@ -1048,58 +1107,140 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, return interact; } -/* ---------------------------------------------------------------------- - Determine the interaction mode between i's edges against j's edges +/* ------------------------------------------------------------------------- + Compute the distance between an edge of body i and an edge from + another body + Input: + ibody = body i (i.e. atom i) + face_index = face index of body i + xmi = atom i's coordinates (body i's center of mass) + rounded_radius_i = rounded radius of the body i + jbody = body i (i.e. atom j) + edge_index = coordinate of the tested edge from another body + xmj = atom j's coordinates (body j's center of mass) + rounded_radius_j = rounded radius of the body j + cut_inner = cutoff for vertex-vertex and vertex-edge interaction + Output: + d = Distance from a point x0 to an edge + hi = coordinates of the projection of x0 on the edge - i = atom i (body i) - j = atom j (body j) - x = atoms' coordinates - f = atoms' forces - torque = atoms' torques - tag = atoms' tags - contact_list = list of contacts - num_contacts = number of contacts between i's edges and j's edges - Return: + contact = 0 no contact between the queried edge and the face + 1 contact detected + return + INVALID if the face index is invalid + NONE if there is no interaction +------------------------------------------------------------------------- */ ----------------------------------------------------------------------- */ - -int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, Contact* contact_list, - int &num_contacts, double &evdwl, double* facc) +int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, + int edge_index_i, + double *xmi, + double rounded_radius_i, + int jbody, + int edge_index_j, + double *xmj, + double rounded_radius_j, + double k_n, + double k_na, + double cut_inner, + Contact* contact_list, + int &num_contacts, + double &energy, + double* facc) { - int ni,nei,nj,nej,contact,interact; - double rradi,rradj,energy; + int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; + double xi1[3],xi2[3],xpj1[3],xpj2[3]; + double r,t1,t2,h1[3],h2[3]; + double contact_dist, shift; - nei = ednum[ibody]; - rradi = rounded_radius[ibody]; - nej = ednum[jbody]; - rradj = rounded_radius[jbody]; + double** x = atom->x; + double** v = atom->v; + double** f = atom->f; + double** torque = atom->torque; + double** angmom = atom->angmom; + + ifirst = dfirst[ibody]; + iefirst = edfirst[ibody]; + npi1 = static_cast(edge[iefirst+edge_index_i][0]); + npi2 = static_cast(edge[iefirst+edge_index_i][1]); + + // compute the space-fixed coordinates for the edge ends + + xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; + xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; + xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; + + xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; + xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; + xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; + + // two ends of the edge from body j + + jfirst = dfirst[jbody]; + jefirst = edfirst[jbody]; + npj1 = static_cast(edge[jefirst+edge_index_j][0]); + npj2 = static_cast(edge[jefirst+edge_index_j][1]); + + xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; + xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; + xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; + + xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; + xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; + xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; + + contact_dist = rounded_radius_i + rounded_radius_j; + + int jflag = 1; + distance_bt_edges(xpj1, xpj2, xi1, xi2, h1, h2, t1, t2, r); + + #ifdef _POLYHEDRON_DEBUG + double ui[3],uj[3]; + MathExtra::sub3(xi1,xi2,ui); + MathExtra::norm3(ui); + MathExtra::sub3(xpj1,xpj2,uj); + MathExtra::norm3(uj); + double dot = MathExtra::dot3(ui, uj); + printf(" edge npi1 = %d (%f %f %f); npi2 = %d (%f %f %f) vs." + " edge npj1 = %d (%f %f %f); npj2 = %d (%f %f %f): " + "t1 = %f; t2 = %f; r = %f; dot = %f\n", + npi1, xi1[0], xi1[1], xi1[2], npi2, xi2[0], xi2[1], xi2[2], + npj1, xpj1[0], xpj1[1], xpj1[2], npj2, xpj2[0], xpj2[1], xpj2[2], + t1, t2, r, dot); + #endif - energy = 0; interact = EE_NONE; - // loop through body i's edges + // singularity case, ignore interactions - for (ni = 0; ni < nei; ni++) { + if (r < EPSILON) return interact; - for (nj = 0; nj < nej; nj++) { + // include the vertices for interactions - // compute the distance between the edge nj to the edge ni - #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", - nj, jbody, ni, ibody); - #endif + if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && + r < contact_dist + cut_inner) { + pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, + k_n, k_na, x, v, f, torque, angmom, + jflag, energy, facc); - interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, - jbody, nj, x[jbody], rradj, - k_n, k_na, cut_inner, - contact_list, num_contacts, - energy, facc); + interact = EE_INTERACT; + if (r <= contact_dist) { + // store the contact info + contact_list[num_contacts].ibody = ibody; + contact_list[num_contacts].jbody = jbody; + contact_list[num_contacts].xi[0] = h2[0]; + contact_list[num_contacts].xi[1] = h2[1]; + contact_list[num_contacts].xi[2] = h2[2]; + contact_list[num_contacts].xj[0] = h1[0]; + contact_list[num_contacts].xj[1] = h1[1]; + contact_list[num_contacts].xj[2] = h1[2]; + contact_list[num_contacts].type = 1; + contact_list[num_contacts].separation = r - contact_dist; + contact_list[num_contacts].unique = 1; + num_contacts++; } + } else { - } // end for looping through the edges of body i - - evdwl += energy; + } return interact; } @@ -1225,7 +1366,6 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, inside_polygon(ibody, face_index, xmi, hi1, hi2, inside1, inside2); contact_dist = rounded_radius_i + rounded_radius_j; - shift = k_na * cut_inner; // both endpoints are on the same side of, or parallel to, the face // and both are out of the interaction zone @@ -1257,7 +1397,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside1) { if (static_cast(discrete[jfirst+npj1][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1277,6 +1417,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, contact_list[num_contacts].xj[2] = xpj1[2]; contact_list[num_contacts].type = 0; contact_list[num_contacts].separation = d1 - contact_dist; + contact_list[num_contacts].unique = 1; num_contacts++; } @@ -1295,7 +1436,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside2) { if (static_cast(discrete[jfirst+npj2][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1315,6 +1456,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, contact_list[num_contacts].xj[2] = xpj2[2]; contact_list[num_contacts].type = 0; contact_list[num_contacts].separation = d2 - contact_dist; + contact_list[num_contacts].unique = 1; num_contacts++; } discrete[jfirst+npj2][6] = 1; @@ -1360,155 +1502,17 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, int jflag = 1; if (d1 < d2) pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); else pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, + k_n, k_na, x, v, f, torque, angmom, jflag, energy, facc); } return interact; } -/* ------------------------------------------------------------------------- - Compute the distance between an edge of body i and an edge from - another body - Input: - ibody = body i (i.e. atom i) - face_index = face index of body i - xmi = atom i's coordinates (body i's center of mass) - rounded_radius_i = rounded radius of the body i - jbody = body i (i.e. atom j) - edge_index = coordinate of the tested edge from another body - xmj = atom j's coordinates (body j's center of mass) - rounded_radius_j = rounded radius of the body j - cut_inner = cutoff for vertex-vertex and vertex-edge interaction - Output: - d = Distance from a point x0 to an edge - hi = coordinates of the projection of x0 on the edge - - contact = 0 no contact between the queried edge and the face - 1 contact detected - return - INVALID if the face index is invalid - NONE if there is no interaction -------------------------------------------------------------------------- */ - -int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, - int edge_index_i, - double *xmi, - double rounded_radius_i, - int jbody, - int edge_index_j, - double *xmj, - double rounded_radius_j, - double k_n, - double k_na, - double cut_inner, - Contact* contact_list, - int &num_contacts, - double &energy, - double* facc) -{ - int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; - double xi1[3],xi2[3],xpj1[3],xpj2[3]; - double r,t1,t2,h1[3],h2[3]; - double contact_dist, shift; - - double** x = atom->x; - double** v = atom->v; - double** f = atom->f; - double** torque = atom->torque; - double** angmom = atom->angmom; - - ifirst = dfirst[ibody]; - iefirst = edfirst[ibody]; - npi1 = static_cast(edge[iefirst+edge_index_i][0]); - npi2 = static_cast(edge[iefirst+edge_index_i][1]); - - // compute the space-fixed coordinates for the edge ends - - xi1[0] = xmi[0] + discrete[ifirst+npi1][0]; - xi1[1] = xmi[1] + discrete[ifirst+npi1][1]; - xi1[2] = xmi[2] + discrete[ifirst+npi1][2]; - - xi2[0] = xmi[0] + discrete[ifirst+npi2][0]; - xi2[1] = xmi[1] + discrete[ifirst+npi2][1]; - xi2[2] = xmi[2] + discrete[ifirst+npi2][2]; - - // two ends of the edge from body j - - jfirst = dfirst[jbody]; - jefirst = edfirst[jbody]; - npj1 = static_cast(edge[jefirst+edge_index_j][0]); - npj2 = static_cast(edge[jefirst+edge_index_j][1]); - - xpj1[0] = xmj[0] + discrete[jfirst+npj1][0]; - xpj1[1] = xmj[1] + discrete[jfirst+npj1][1]; - xpj1[2] = xmj[2] + discrete[jfirst+npj1][2]; - - xpj2[0] = xmj[0] + discrete[jfirst+npj2][0]; - xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; - xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; - - contact_dist = rounded_radius_i + rounded_radius_j; - shift = k_na * cut_inner; - - int jflag = 1; - distance_bt_edges(xpj1, xpj2, xi1, xi2, h1, h2, t1, t2, r); - - #ifdef _POLYHEDRON_DEBUG - double ui[3],uj[3]; - MathExtra::sub3(xi1,xi2,ui); - MathExtra::norm3(ui); - MathExtra::sub3(xpj1,xpj2,uj); - MathExtra::norm3(uj); - double dot = MathExtra::dot3(ui, uj); - printf(" edge npi1 = %d (%f %f %f); npi2 = %d (%f %f %f) vs." - " edge npj1 = %d (%f %f %f); npj2 = %d (%f %f %f): " - "t1 = %f; t2 = %f; r = %f; dot = %f\n", - npi1, xi1[0], xi1[1], xi1[2], npi2, xi2[0], xi2[1], xi2[2], - npj1, xpj1[0], xpj1[1], xpj1[2], npj2, xpj2[0], xpj2[1], xpj2[2], - t1, t2, r, dot); - #endif - - interact = EE_NONE; - - // singularity case, ignore interactions - - if (r < EPSILON) return interact; - - // include the vertices for interactions - - if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && - r < contact_dist + cut_inner) { - pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, - k_n, k_na, shift, x, v, f, torque, angmom, - jflag, energy, facc); - - interact = EE_INTERACT; - if (r <= contact_dist) { - // store the contact info - contact_list[num_contacts].ibody = ibody; - contact_list[num_contacts].jbody = jbody; - contact_list[num_contacts].xi[0] = h2[0]; - contact_list[num_contacts].xi[1] = h2[1]; - contact_list[num_contacts].xi[2] = h2[2]; - contact_list[num_contacts].xj[0] = h1[0]; - contact_list[num_contacts].xj[1] = h1[1]; - contact_list[num_contacts].xj[2] = h1[2]; - contact_list[num_contacts].type = 1; - contact_list[num_contacts].separation = r - contact_dist; - num_contacts++; - } - } else { - - } - - return interact; -} - /* ---------------------------------------------------------------------- Compute forces and torques between two bodies caused by the interaction between a pair of points on either bodies (similar to sphere-sphere) @@ -1516,7 +1520,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, double r, double contact_dist, - double k_n, double k_na, double shift, double** x, + double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int jflag, double& energy, double* facc) { @@ -1525,7 +1529,10 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, delx = pi[0] - pj[0]; dely = pi[1] - pj[1]; delz = pi[2] - pj[2]; - R = r - contact_dist; + R = r - contact_dist; + + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; energy += (0.5 * k_n * R + shift) * R; @@ -1533,6 +1540,7 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, fpair = k_na * R - shift; energy += (-0.5 * k_na * R + shift) * R; } else fpair = 0.0; +*/ fx = delx*fpair/r; fy = dely*fpair/r; @@ -1570,6 +1578,26 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, } } +/* ---------------------------------------------------------------------- + Kernel force is model-dependent and can be derived for other styles + here is the harmonic potential (linear piece-wise forces) in Wang et al. +------------------------------------------------------------------------- */ + +void PairBodyRoundedPolyhedron::kernel_force(double R, double k_n, double k_na, + double& energy, double& fpair) +{ + double shift = k_na * cut_inner; + double e = 0; + if (R <= 0) { // deformation occurs + fpair = -k_n * R - shift; + e = (0.5 * k_n * R + shift) * R; + } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap + fpair = k_na * R - shift; + e = (-0.5 * k_na * R + shift) * R; + } else fpair = 0.0; + energy += e; +} + /* ---------------------------------------------------------------------- Compute contact forces between two bodies modify the force stored at the vertex and edge in contact by j_a @@ -1685,7 +1713,7 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double k_n, double k_na, double* facc) { int m,ibody,jbody; - double delx,dely,delz,fx,fy,fz,R,fpair,r,shift,contact_area; + double delx,dely,delz,fx,fy,fz,R,fpair,r,contact_area; int num_unique_contacts = 0; if (num_contacts == 1) { @@ -1723,11 +1751,11 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, contact_area *= (MY_PI/(double)num_unique_contacts); } - double j_a = contact_area / (num_contacts * A_ua); + double j_a = contact_area / (num_unique_contacts * A_ua); if (j_a < 1.0) j_a = 1.0; - shift = k_na * cut_inner; - for (m = 0; m < num_contacts; m++) { + if (contact_list[m].unique == 0) continue; + ibody = contact_list[m].ibody; jbody = contact_list[m].jbody; @@ -1735,12 +1763,17 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, dely = contact_list[m].xi[1] - contact_list[m].xj[1]; delz = contact_list[m].xi[2] - contact_list[m].xj[2]; r = sqrt(delx*delx + dely*dely + delz*delz); - R = contact_list[m].separation; + R = contact_list[m].separation; + + double energy = 0; + kernel_force(R, k_n, k_na, energy, fpair); +/* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap fpair = k_na * R - shift; } else fpair = 0.0; +*/ fpair *= j_a; fx = delx*fpair/r; diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h index 05985ef813..f59faf9ba6 100644 --- a/src/BODY/pair_body_rounded_polyhedron.h +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -34,6 +34,9 @@ class PairBodyRoundedPolyhedron : public Pair { void init_style(); double init_one(int, int); + virtual void kernel_force(double R, double k_n, double k_na, + double& energy, double& fpair); + struct Contact { int ibody, jbody; // body (i.e. atom) indices (not tags) int type; // 0 = VERTEX-FACE; 1 = EDGE-EDGE @@ -84,28 +87,35 @@ class PairBodyRoundedPolyhedron : public Pair { void allocate(); void body2space(int); - int edge_against_face(int ibody, int jbody, double k_n, double k_na, - double** x, Contact* contact_list, int &num_contacts, - double &evdwl, double* facc); - int edge_against_edge(int ibody, int jbody, double k_n, double k_na, - double** x,Contact* contact_list, int &num_contacts, - double &evdwl, double* facc); + // sphere-sphere interaction void sphere_against_sphere(int ibody, int jbody, double delx, double dely, double delz, double rsq, double k_n, double k_na, double** v, double** f, int evflag); - void sphere_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, int evflag); + // sphere-edge interaction void sphere_against_edge(int ibody, int jbody, double k_n, double k_na, double** x, double** v, double** f, double** torque, double** angmom, int evflag); + // sphere-face interaction + void sphere_against_face(int ibody, int jbody, + double k_n, double k_na, double** x, double** v, + double** f, double** torque, double** angmom, int evflag); + // edge-edge interactions + int edge_against_edge(int ibody, int jbody, double k_n, double k_na, + double** x,Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + // edge-face interactions + int edge_against_face(int ibody, int jbody, double k_n, double k_na, + double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc); + // a face vs. a single edge int interaction_face_to_edge(int ibody, int face_index, double* xmi, double rounded_radius_i, int jbody, int edge_index, double* xmj, double rounded_radius_j, double k_n, double k_na, double cut_inner, Contact* contact_list, int &num_contacts, double& energy, double* facc); + // an edge vs. an edge from another body int interaction_edge_to_edge(int ibody, int edge_index_i, double* xmi, double rounded_radius_i, int jbody, int edge_index_j, double* xmj, double rounded_radius_j, @@ -113,29 +123,38 @@ class PairBodyRoundedPolyhedron : public Pair { Contact* contact_list, int &num_contacts, double& energy, double* facc); + // compute contact forces if contact points are detected void contact_forces(int ibody, int jbody, double *xi, double *xj, double delx, double dely, double delz, double fx, double fy, double fz, double** x, double** v, double** angmom, double** f, double** torque, double* facc); + // compute force and torque between two bodies given a pair of interacting points void pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, double r, double contact_dist, double k_n, - double k_na, double shift, double** x, double** v, + double k_na, double** x, double** v, double** f, double** torque, double** angmom, int jflag, double& energy, double* facc); + // rescale the cohesive forces if a contact area is detected void rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, double k_n, double k_na, double* facc); + // compute the separation between two contacts double contact_separation(const Contact& c1, const Contact& c2); + // detect the unique contact points (as there may be double counts) void find_unique_contacts(Contact* contact_list, int& num_contacts); + // accumulate torque to a body given a force at a given point void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); - int opposite_sides(double* n, double* x0, double* a, double* b); + + // find the intersection point (if any) between an edge and a face int edge_face_intersect(double* x1, double* x2, double* x3, double* a, double* b, double* hi1, double* hi2, double& d1, double& d2, int& inside_a, int& inside_b); + // helper functions + int opposite_sides(double* n, double* x0, double* a, double* b); void project_pt_plane(const double* q, const double* p, const double* n, double* q_proj, double &d); void project_pt_plane(const double* q, const double* x1, const double* x2, From 179dcd68953adb0b45b6b91a990c0c222689a8f0 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 10:02:53 -0500 Subject: [PATCH 06/29] Updated pair body rounded/polygon and rounded/polyhedron --- src/BODY/pair_body_rounded_polygon.cpp | 21 +++++++++++++-------- src/BODY/pair_body_rounded_polyhedron.cpp | 4 ++-- 2 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 62a6d77a01..22300091ae 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -38,12 +38,14 @@ using namespace LAMMPS_NS; -//#define _POLYGON_DEBUG #define DELTA 10000 #define EPSILON 1e-3 #define MAX_CONTACTS 4 // maximum number of contacts for 2D models #define EFF_CONTACTS 2 // effective contacts for 2D models +//#define _CONVEX_POLYGON +//#define _POLYGON_DEBUG + enum {INVALID=0,NONE=1,VERTEXI=2,VERTEXJ=3,EDGE=4}; /* ---------------------------------------------------------------------- */ @@ -846,11 +848,11 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, #endif } + #ifdef _CONVEX_POLYGON // done with the edges from body j, // given that vertex ni interacts with only one vertex from one edge of body j - // comment out this break to take into account concave shapes - -// break; + break; + #endif } else if (mode == EDGE) { @@ -954,12 +956,11 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, #endif } // end if contact + #ifdef _CONVEX_POLYGON // done with the edges from body j, // given that vertex ni interacts with only one edge from body j - // comment out this break to take into account concave shapes - -// break; - + break; + #endif } // end if mode } // end for looping through the edges of body j @@ -1082,7 +1083,11 @@ int PairBodyRoundedPolygon::compute_distance_to_vertex(int ibody, // check if x0 (the queried vertex) and xmi (the body's center of mass) // are on the different sides of the edge + #ifdef _CONVEX_POLYGON int m = opposite_sides(xi1, xi2, x0, xmi); + #else + int m = 1; + #endif if (m == 0) { diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 42c107d68e..d0690335df 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -46,8 +46,8 @@ using namespace MathConst; #define DELTA 10000 #define EPSILON 1e-3 -#define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) -#define MAX_CONTACTS 32 // for 3D models +#define MAX_FACE_SIZE 4 // maximum number of vertices per face (same as BodyRoundedPolyhedron) +#define MAX_CONTACTS 32 // for 3D models (including duplicated counts) //#define _POLYHEDRON_DEBUG From 4ca870b2a9f3107e7bf26e75f542c3ce893313de Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 11:41:15 -0500 Subject: [PATCH 07/29] Updated doc page for pair body rounded/polygon --- doc/src/body.txt | 78 +++++++++++++++++++++------ doc/src/pair_body_rounded_polygon.txt | 48 ++++++++++++++++- src/BODY/pair_body_rounded_polygon.h | 17 ++++-- 3 files changed, 120 insertions(+), 23 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index 8d49efdae4..b76ca1090c 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -28,16 +28,14 @@ column is used as the {bstyle} argument for the "atom_style body"_atom_style.html command. {nparticle} | rigid body with N sub-particles | -{rounded/polygon} | 2d convex polygon with N vertices :tb(c=2,s=|) +{rounded/polygon} | 2d polygons with N vertices :tb(c=2,s=|) +{rounded/polyhedron} | 3d polyhedra with N vertices, E edges and F faces :tb(c=2,s=|) The body style determines what attributes are stored for each body and thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each style are described below. -NOTE: The rounded/polygon style listed in the table above and -described below has not yet been relesed in LAMMPS. It will be soon. - We hope to add more styles in the future. See "Section 10.12"_Section_modify.html#mod_12 for details on how to add a new body style to the code. @@ -175,13 +173,11 @@ The {bflag2} argument is ignored. [Specifics of body style rounded/polygon:] -NOTE: Aug 2016 - This body style has not yet been added to LAMMPS. -The info below is a placeholder. - -The {rounded/polygon} body style represents body particles as a convex -polygon with a variable number N > 2 of vertices, which can only be -used for 2d models. One example use of this body style is for 2d -discrete element models, as described in "Fraige"_#Fraige. Similar to +The {rounded/polygon} body style represents body particles as +a polygon with a variable number N of vertices, which can only be +used for 2d models. Special cases for N = 1 (spheres) and N = 2 +(rods) are also included. One example use of this body style is for 2d +discrete element models, as described in "Fraige"_#Fraige. Similar to body style {nparticle}, the atom_style body command for this body style takes two additional arguments: @@ -203,15 +199,14 @@ x1 y1 z1 ... xN yN zN i j j k k ... -radius :pre +diameter :pre N is the number of vertices in the body particle. M = 6 + 3*N + 2*N + 1. The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values, followed by 2N vertex indices corresponding to the end points of the N edges, followed by a single -radius value = the smallest circle encompassing the polygon. That -last value is used to facilitate the body/body contact detection. +diameter value = the rounded diameter of the vertices. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. @@ -235,7 +230,10 @@ particles whose edge length is sqrt(2): -0.7071 0.7071 0 0.7071 0.7071 0 0.7071 -0.7071 0 -0 1 1 2 2 3 3 0 +0 1 +1 2 +2 3 +3 0 1.0 :pre The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html @@ -257,8 +255,8 @@ the body particle itself. These values are calculated using the current COM and orientation of the body particle. For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a convex -polygon consisting of N line segments. Note that the line segments +{body} keyword is set, then each body particle is drawn as a polygon +consisting of N line segments. Note that the line segments are drawn between the N vertices, which does not correspond exactly to the physical extent of the body (because the "pair_style rounded/polygon"_pair_body_rounded_polygon.html defines finite-size @@ -267,6 +265,52 @@ tangent to the spheres). The drawn diameter of each line segment is determined by the {bflag1} parameter for the {body} keyword. The {bflag2} argument is ignored. +The {rounded/polyhedon} body style represents body particles as +a polyhedron with N vertices, E edges and F faces. +Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +Similar to body style {rounded/polygon}, the atom_style body command for this body +style takes two additional arguments: + +atom_style body rounded/polyhedron Nmin Nmax +Nmin = minimum # of vertices in any body in the system +Nmax = maximum # of vertices in any body in the system :pre + +The Nmin and Nmax arguments are used to bound the size of data +structures used internally by each particle. + +When the "read_data"_read_data.html command reads a data file for this +body style, the following information must be provided for each entry +in the {Bodies} section of the data file: + +atom-ID 3 M +N E F +ixx iyy izz ixy ixz iyz +x1 y1 z1 +... +xN yN zN +0 1 +1 2 +2 3 +... +0 1 2 -1 +0 2 3 -1 +... +1 2 3 4 +diameter :pre + +N is the number of vertices in the body particle. M = 6 + 3*N + 2*E ++ 4*F + 1. The integer line has three values: number of vertices (N), +number of edges (E) and number of faces (F). The floating point line(s) +list 6 moments of inertia followed by the coordinates of the N +vertices (x1 to zN) as 3N values, followed by 2N vertex indices +corresponding to the end points of the E edges, 4*F vertex indices defining F faces. +The last value is the radius value = the rounded diameter of the vertices. +These floating-point values can be listed on as many lines as you +wish; see the "read_data"_read_data.html command for more details. +Because the maxmimum vertices per face is hard-coded to be 4 (i.e. quadrilaterals), +faces with more than 4 vertices need to be split into triangles or quadrilaterals. +For triangular faces, the last index should be set to -1. + :line :link(Fraige) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index b6dc2e37b5..32f698d9f7 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -8,12 +8,58 @@ pair_style body/rounded/polygon command :h3 +[Syntax:] + +pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff :pre +c_n = normal damping coefficient +c_t = tangential damping coefficient +mu = normal friction coefficient during gross sliding +delta_ua = multiple contact scaling factor +cutoff = global sepration cutoff for interactions (distance units), see below for definition + +[Examples:] + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cutoff} +pair_coeff * * 100.0 1.0 +pair_coeff 1 1 100.0 1.0 :pre + [Description:] -Note: This feature is not yet implemented. +Style {body/rounded/polygon} is for use with body particles and calculates pairwise +body/body interactions as well as interactions between body and +point-particles. See "Section 6.14"_Section_howto.html#howto_14 +of the manual and the "body"_body.html doc page for more details on +using body particles. + +This pair style is designed for use with the "body/rounded/polygon" body style, +which is specified as an argument to the "atom-style body" command. +See the "body/rounded/polygon"_body.html doc page for more details about the body +styles LAMMPS supports. The pairwise interaction between the rounded polygons is described +in "Fraige"_#Fraige, where the polygons are rounded at the vertices and edges +by circles of diameter a. + +Because the polygons can have different rounded diameters, the cutoff specified in +the pair style command is for the surface separation between two interacting entities +(e.g. vertex-vertex, vertex-edge or edge-edge) excluding their rounded diameters, +i.e. separation = center-center distance - (rounded diameter of i + rounded diameter of j)/2. +The interaction forces and energies are also defined with respect to the rounded surface separation, +instead of center-center distance. + +For style {body/rounded/polygon}, the following coefficients must be defined for each +pair of atoms types via the "pair_coeff"_pair_coeff.html command as in +the examples above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +k_n (energy/distance^2) +k_na (energy/distance^2) :ul [Related commands:] "pair_style body"_pair_body.html [Default:] none + +:link(Fraige) +[(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, +Particuology, 6, 455 (2008). diff --git a/src/BODY/pair_body_rounded_polygon.h b/src/BODY/pair_body_rounded_polygon.h index 09c93b832e..919552305a 100644 --- a/src/BODY/pair_body_rounded_polygon.h +++ b/src/BODY/pair_body_rounded_polygon.h @@ -76,24 +76,31 @@ class PairBodyRoundedPolygon : public Pair { void allocate(); void body2space(int); + // sphere-sphere interaction + void sphere_against_sphere(int i, int j, double delx, double dely, double delz, + double rsq, double k_n, double k_na, + double** x, double** v, double** f, int evflag); + // vertex-edge interaction int vertex_against_edge(int i, int j, double k_n, double k_na, double** x, double** f, double** torque, tagint* tag, Contact* contact_list, int &num_contacts, double &evdwl, double* facc); - void sphere_against_sphere(int i, int j, double delx, double dely, double delz, - double rsq, double k_n, double k_na, - double** x, double** v, double** f, int evflag); + // compute distance between a point and an edge from another body int compute_distance_to_vertex(int ibody, int edge_index, double* xmi, double rounded_radius, double* x0, double x0_rounded_radius, double cut_inner, double &d, double hi[3], double &t, int &contact); - double contact_separation(const Contact& c1, const Contact& c2); + // compute contact forces if contact points are detected void contact_forces(Contact& contact, double j_a, double** x, - double** v, double** f, double** angmom, + double** v, double** f, double** angmom, + // compute the separation between two contacts + double contact_separation(const Contact& c1, const Contact& c2); double** torque, double &evdwl, double* facc); + // accumulate torque to a body given a force at a given point void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); + // helper functions int opposite_sides(double* x1, double* x2, double* a, double* b); void total_velocity(double* p, double *xcm, double* vcm, double *angmom, double *inertia, double *quat, double* vi); From 6b9637eaa3277e134f3d717990966fe03395dfb4 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 12:34:07 -0500 Subject: [PATCH 08/29] Added doc page for pair body rounded/polyhedron and updated related pages --- doc/src/body.txt | 58 +++++++++++--------- doc/src/pair_body_rounded_polygon.txt | 14 +++-- doc/src/pair_body_rounded_polyhedron.txt | 67 ++++++++++++++++++++++++ 3 files changed, 110 insertions(+), 29 deletions(-) create mode 100644 doc/src/pair_body_rounded_polyhedron.txt diff --git a/doc/src/body.txt b/doc/src/body.txt index b76ca1090c..e936f5409c 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -240,34 +240,14 @@ The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html command can be used with this body style to compute body/body interactions. -For output purposes via the "compute -body/local"_compute_body_local.html and "dump local"_dump.html -commands, this body style produces one datum for each of the N -sub-particles in a body particle. The datum has 3 values: +:line -1 = x position of vertex -2 = y position of vertex -3 = z position of vertex :pre +[Specifics of body style rounded/polyhedron:] -These values are the current position of the vertex within the -simulation domain, not a displacement from the center-of-mass (COM) of -the body particle itself. These values are calculated using the -current COM and orientation of the body particle. - -For images created by the "dump image"_dump_image.html command, if the -{body} keyword is set, then each body particle is drawn as a polygon -consisting of N line segments. Note that the line segments -are drawn between the N vertices, which does not correspond exactly to -the physical extent of the body (because the "pair_style -rounded/polygon"_pair_body_rounded_polygon.html defines finite-size -spheres at those point and the line segments between the spheres are -tangent to the spheres). The drawn diameter of each line segment is -determined by the {bflag1} parameter for the {body} keyword. The -{bflag2} argument is ignored. - -The {rounded/polyhedon} body style represents body particles as +The {rounded/polyhedron} body style represents body particles as a polyhedron with N vertices, E edges and F faces. Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +This body style is for 3d discrete element models, as described in "Wang"_#Wang. Similar to body style {rounded/polygon}, the atom_style body command for this body style takes two additional arguments: @@ -313,6 +293,36 @@ For triangular faces, the last index should be set to -1. :line +For output purposes via the "compute +body/local"_compute_body_local.html and "dump local"_dump.html +commands, this body style produces one datum for each of the N +sub-particles in a body particle. The datum has 3 values: + +1 = x position of vertex +2 = y position of vertex +3 = z position of vertex :pre + +These values are the current position of the vertex within the +simulation domain, not a displacement from the center-of-mass (COM) of +the body particle itself. These values are calculated using the +current COM and orientation of the body particle. + +For images created by the "dump image"_dump_image.html command, if the +{body} keyword is set, then each body particle is drawn as a polygon +consisting of N line segments. Note that the line segments +are drawn between the N vertices, which does not correspond exactly to +the physical extent of the body (because the "pair_style +rounded/polygon"_pair_body_rounded_polygon.html defines finite-size +spheres at those point and the line segments between the spheres are +tangent to the spheres). The drawn diameter of each line segment is +determined by the {bflag1} parameter for the {body} keyword. The +{bflag2} argument is ignored. + +:line + :link(Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). + +:link(Wang) +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 32f698d9f7..5352f695b0 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -11,15 +11,16 @@ pair_style body/rounded/polygon command :h3 [Syntax:] pair_style body/rounded/polygon c_n c_t mu delta_ua cutoff :pre + c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor -cutoff = global sepration cutoff for interactions (distance units), see below for definition +cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre [Examples:] -pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cutoff} +pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 pair_coeff * * 100.0 1.0 pair_coeff 1 1 100.0 1.0 :pre @@ -36,12 +37,13 @@ which is specified as an argument to the "atom-style body" command. See the "body/rounded/polygon"_body.html doc page for more details about the body styles LAMMPS supports. The pairwise interaction between the rounded polygons is described in "Fraige"_#Fraige, where the polygons are rounded at the vertices and edges -by circles of diameter a. +by circles of diameter a. This is a version of discrete element models (DEM) +with multiple contact points. Because the polygons can have different rounded diameters, the cutoff specified in the pair style command is for the surface separation between two interacting entities (e.g. vertex-vertex, vertex-edge or edge-edge) excluding their rounded diameters, -i.e. separation = center-center distance - (rounded diameter of i + rounded diameter of j)/2. +i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. The interaction forces and energies are also defined with respect to the rounded surface separation, instead of center-center distance. @@ -56,10 +58,12 @@ k_na (energy/distance^2) :ul [Related commands:] -"pair_style body"_pair_body.html +"pair_coeff"_pair_coeff.html [Default:] none :link(Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). + + diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt new file mode 100644 index 0000000000..cfab0e6d15 --- /dev/null +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -0,0 +1,67 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +pair_style body/rounded/polyhedron command :h3 + +[Syntax:] + +pair_style body/rounded/polyhedron c_n c_t mu delta_ua cutoff :pre + +c_n = normal damping coefficient +c_t = tangential damping coefficient +mu = normal friction coefficient during gross sliding +delta_ua = multiple contact scaling factor +cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre + +[Examples:] + +pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 +pair_coeff * * 100.0 1.0 +pair_coeff 1 1 100.0 1.0 :pre + +[Description:] + +Style {body/rounded/polyhedron} is for use with body particles and calculates pairwise +body/body interactions as well as interactions between body and +point-particles. See "Section 6.14"_Section_howto.html#howto_14 +of the manual and the "body"_body.html doc page for more details on +using body particles. + +This pair style is designed for use with the "body/rounded/polyhedron" body style, +which is specified as an argument to the "atom-style body" command. +See the "body/rounded/polyhedron"_body.html doc page for more details about the body +styles LAMMPS supports. The pairwise interaction between the rounded polygons is described +in "Wang"_#Wang, where the polygons are rounded at the vertices and edges +by circles of diameter a. This is a version of discrete element models (DEM) +with multiple contact points. + +Because the polygons can have different rounded diameters, the cutoff specified in +the pair style command is for the surface separation between two interacting entities +(e.g. vertex-vertex, vertex-edge, vertex-face and edge-edge) excluding their rounded diameters, +i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. +The interaction forces and energies are also defined with respect to the rounded surface separation, +instead of center-center distance. + +For style {body/rounded/polyhedron}, the following coefficients must be defined for each +pair of atoms types via the "pair_coeff"_pair_coeff.html command as in +the examples above, or in the data file or restart files read by the +"read_data"_read_data.html or "read_restart"_read_restart.html +commands: + +k_n (energy/distance^2) +k_na (energy/distance^2) :ul + +[Related commands:] + +"pair_coeff"_pair_coeff.html + +[Default:] none + +:link(Wang) +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). + From 6438cffa5748b27347ca3e748235885e18cf91ec Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 13:39:43 -0500 Subject: [PATCH 09/29] Added examples for body rounded/polygon --- examples/body/data.squares | 32 ++++++++++++++++++++++ examples/body/in.squares | 56 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 88 insertions(+) create mode 100755 examples/body/data.squares create mode 100755 examples/body/in.squares diff --git a/examples/body/data.squares b/examples/body/data.squares new file mode 100755 index 0000000000..55a3dd09a0 --- /dev/null +++ b/examples/body/data.squares @@ -0,0 +1,32 @@ +LAMMPS data file for polygons: squares of edge length L: Izz = 1/6mL^2 +2 atoms +2 bodies +1 atom types +-6 6 xlo xhi +-6 6 ylo yhi +-0.5 0.5 zlo zhi + +Atoms + +1 1 1 1 0 0 0 +2 1 1 1 5 1 0 + +Bodies + +1 1 19 +4 +1 1 2.67 0 0 0 +-2 -2 0 +-2 2 0 +2 2 0 +2 -2 0 +0.5 +2 1 19 +4 +1 1 2.67 0 0 0 +-2 -2 0 +-2 2 0 +2 2 0 +2 -2 0 +0.5 + diff --git a/examples/body/in.squares b/examples/body/in.squares new file mode 100755 index 0000000000..146ba497e6 --- /dev/null +++ b/examples/body/in.squares @@ -0,0 +1,56 @@ +# 2d rounded polygon bodies + +variable r index 3 +variable steps index 100000 +variable T index 0.5 +variable P index 0.2 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + +replicate $r $r 1 + +velocity all create $T ${seed} dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 & + y 0.001 $P 1.0 couple xy + +fix 2 all enforce2d + +compute 1 all body/local id 1 2 3 +dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +restart 100000 restart1.bin restart2.bin + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump_modify 2 pad 6 + +run ${steps} From f2c302c2c4b7516660eab58d2f022fca9220b8b5 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sat, 26 May 2018 14:59:40 -0500 Subject: [PATCH 10/29] Added fix wall/body/polygon and related doc pages --- doc/src/fix_wall_body_polygon.txt | 100 +++++++++++++++++++++++ doc/src/fix_wall_body_polyhedron.txt | 100 +++++++++++++++++++++++ doc/src/pair_body_rounded_polygon.txt | 4 +- doc/src/pair_body_rounded_polyhedron.txt | 4 +- src/BODY/fix_wall_body_polygon.h | 4 +- 5 files changed, 207 insertions(+), 5 deletions(-) create mode 100644 doc/src/fix_wall_body_polygon.txt create mode 100644 doc/src/fix_wall_body_polyhedron.txt diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt new file mode 100644 index 0000000000..00d23c207c --- /dev/null +++ b/doc/src/fix_wall_body_polygon.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/body/polygon command :h3 + +[Syntax:] + +fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +wall/body/polygon = style name of this fix command :l +k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l +c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l +c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l +wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l +args = list of arguments for a particular style :l + {xplane} or {yplane} args = lo hi + lo,hi = position of lower and upper plane (distance units), either can be NULL) + {zcylinder} args = radius + radius = cylinder radius (distance units) :pre +zero or more keyword/value pairs may be appended to args :l +keyword = {wiggle} :l + {wiggle} values = dim amplitude period + dim = {x} or {y} or {z} + amplitude = size of oscillation (distance units) + period = time of oscillation (time units) :pre +:ule + +[Examples:] + +fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 + +[Description:] + +Bound the simulation domain of systems of body particles of style +body/rounded/polygon with wall(s). All particles in the group interact +with the wall when they are close enough to touch it. +The nature of the interaction between the wall and the polygons is +the same as that between the polygons themselves, which is similar to the Hookean potential. + +This fix is designed for use with the "body/rounded/polygon" body style, +which is specified as an argument to the "atom-style body" command. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the +"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html commands. + +The {wallstyle} can be planar or cylindrical. The 3 planar options +specify a pair of walls in a dimension. Wall positions are given by +{lo} and {hi}. Either of the values can be specified as NULL if a +single wall is desired. For a {zcylinder} wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. + +Optionally, the wall can be moving, if the {wiggle} keyword is appended. + +For the {wiggle} keyword, the wall oscillates sinusoidally, similar to +the oscillations of particles which can be specified by the +"fix move"_fix_move.html command. This is useful in packing +simulations of particles. The arguments to the {wiggle} +keyword specify a dimension for the motion, as well as it's +{amplitude} and {period}. Note that if the dimension is in the plane +of the wall, this is effectively a shearing motion. If the dimension +is perpendicular to the wall, it is more of a shaking motion. A +{zcylinder} wall can only be wiggled in the z dimension. + +Each timestep, the position of a wiggled wall in the appropriate {dim} +is set according to this equation: + +position = coord + A - A cos (omega * delta) :pre + +where {coord} is the specified initial position of the wall, {A} is +the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time +elapsed since the fix was specified. The velocity of the wall is set +to the derivative of this expression. + +[Restart, fix_modify, output, run start/stop, minimize info:] + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No global or per-atom quantities are stored by this fix for +access by various "output commands"_Section_howto.html#howto_15. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +This fix is part of the BODY package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +Any dimension (xyz) that has a wall must be non-periodic. + +[Related commands:] + +"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html + +[Default:] none diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt new file mode 100644 index 0000000000..a1eef4df07 --- /dev/null +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -0,0 +1,100 @@ +"LAMMPS WWW Site"_lws - "LAMMPS Documentation"_ld - "LAMMPS Commands"_lc :c + +:link(lws,http://lammps.sandia.gov) +:link(ld,Manual.html) +:link(lc,Section_commands.html#comm) + +:line + +fix wall/body/polyhedron command :h3 + +[Syntax:] + +fix ID group-ID wall/body/polyhedron k_n c_n c_t wallstyle args keyword values ... :pre + +ID, group-ID are documented in "fix"_fix.html command :ulb,l +wall/body/polyhedron = style name of this fix command :l +k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l +c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l +c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l +wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l +args = list of arguments for a particular style :l + {xplane} or {yplane} args = lo hi + lo,hi = position of lower and upper plane (distance units), either can be NULL) + {zcylinder} args = radius + radius = cylinder radius (distance units) :pre +zero or more keyword/value pairs may be appended to args :l +keyword = {wiggle} :l + {wiggle} values = dim amplitude period + dim = {x} or {y} or {z} + amplitude = size of oscillation (distance units) + period = time of oscillation (time units) :pre +:ule + +[Examples:] + +fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 + +[Description:] + +Bound the simulation domain of systems of body particles of style +body/rounded/polyhedron with wall(s). All particles in the group interact +with the wall when they are close enough to touch it. +The nature of the interaction between the wall and the polygons is +the same as that between the polygons themselves, which is similar to the Hookean potential. + +This fix is designed for use with the "body/rounded/polyhedron" body style, +which is specified as an argument to the "atom-style body" command. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the +"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html commands. + +The {wallstyle} can be planar or cylindrical. The 3 planar options +specify a pair of walls in a dimension. Wall positions are given by +{lo} and {hi}. Either of the values can be specified as NULL if a +single wall is desired. For a {zcylinder} wallstyle, the cylinder's +axis is at x = y = 0.0, and the radius of the cylinder is specified. + +Optionally, the wall can be moving, if the {wiggle} keyword is appended. + +For the {wiggle} keyword, the wall oscillates sinusoidally, similar to +the oscillations of particles which can be specified by the +"fix move"_fix_move.html command. This is useful in packing +simulations of particles. The arguments to the {wiggle} +keyword specify a dimension for the motion, as well as it's +{amplitude} and {period}. Note that if the dimension is in the plane +of the wall, this is effectively a shearing motion. If the dimension +is perpendicular to the wall, it is more of a shaking motion. A +{zcylinder} wall can only be wiggled in the z dimension. + +Each timestep, the position of a wiggled wall in the appropriate {dim} +is set according to this equation: + +position = coord + A - A cos (omega * delta) :pre + +where {coord} is the specified initial position of the wall, {A} is +the {amplitude}, {omega} is 2 PI / {period}, and {delta} is the time +elapsed since the fix was specified. The velocity of the wall is set +to the derivative of this expression. + +[Restart, fix_modify, output, run start/stop, minimize info:] + +None of the "fix_modify"_fix_modify.html options are relevant to this +fix. No global or per-atom quantities are stored by this fix for +access by various "output commands"_Section_howto.html#howto_15. No +parameter of this fix can be used with the {start/stop} keywords of +the "run"_run.html command. This fix is not invoked during "energy +minimization"_minimize.html. + +[Restrictions:] + +This fix is part of the BODY package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +Any dimension (xyz) that has a wall must be non-periodic. + +[Related commands:] + +"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html + +[Default:] none diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 5352f695b0..00896b4c7b 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -53,8 +53,8 @@ the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: -k_n (energy/distance^2) -k_na (energy/distance^2) :ul +k_n (energy/distance^2 units) +k_na (energy/distance^2 units) :ul [Related commands:] diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index cfab0e6d15..9a5c20ddb6 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -53,8 +53,8 @@ the examples above, or in the data file or restart files read by the "read_data"_read_data.html or "read_restart"_read_restart.html commands: -k_n (energy/distance^2) -k_na (energy/distance^2) :ul +k_n (energy/distance^2 units) +k_na (energy/distance^2 units) :ul [Related commands:] diff --git a/src/BODY/fix_wall_body_polygon.h b/src/BODY/fix_wall_body_polygon.h index 3521c6c797..b71dcb0683 100644 --- a/src/BODY/fix_wall_body_polygon.h +++ b/src/BODY/fix_wall_body_polygon.h @@ -45,7 +45,9 @@ class FixWallBodyPolygon : public Fix { protected: int wallstyle,pairstyle,wiggle,axis; - double kn,c_n,c_t; + double kn; // normal repulsion strength + double c_n; // normal damping coefficient + double c_t; // tangential damping coefficient double lo,hi,cylradius; double amplitude,period,omega; double dt; From 7aab9327318b3fb61b058b8c1a840791c5a3628f Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 15:49:15 -0500 Subject: [PATCH 11/29] Fixed typos in pair body rounded/polygon header file --- src/BODY/pair_body_rounded_polygon.h | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/BODY/pair_body_rounded_polygon.h b/src/BODY/pair_body_rounded_polygon.h index 919552305a..aabe86270c 100644 --- a/src/BODY/pair_body_rounded_polygon.h +++ b/src/BODY/pair_body_rounded_polygon.h @@ -92,11 +92,13 @@ class PairBodyRoundedPolygon : public Pair { double &d, double hi[3], double &t, int &contact); // compute contact forces if contact points are detected - void contact_forces(Contact& contact, double j_a, double** x, - double** v, double** f, double** angmom, + void contact_forces(Contact& contact, double j_a, + double** x, double** v, double** angmom, double** f, + double** torque, double &evdwl, double* facc); + // compute the separation between two contacts double contact_separation(const Contact& c1, const Contact& c2); - double** torque, double &evdwl, double* facc); + // accumulate torque to a body given a force at a given point void sum_torque(double* xm, double *x, double fx, double fy, double fz, double* torque); From d4cca615fb558d84411232f45d6de4758bc3f73e Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 23:42:03 -0500 Subject: [PATCH 12/29] Refactored pair body rounded/polyhedron so that kernel_force() can be derived for other styles --- examples/body/in.squares | 8 +- src/BODY/pair_body_rounded_polyhedron.cpp | 126 +++++++++------------- src/BODY/pair_body_rounded_polyhedron.h | 36 +++---- 3 files changed, 72 insertions(+), 98 deletions(-) diff --git a/examples/body/in.squares b/examples/body/in.squares index 146ba497e6..c812b4e0be 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -1,9 +1,9 @@ # 2d rounded polygon bodies -variable r index 3 +variable r index 4 variable steps index 100000 variable T index 0.5 -variable P index 0.2 +variable P index 0.1 variable seed index 980411 units lj @@ -48,9 +48,7 @@ dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] thermo_style custom step ke pe etotal press thermo 1000 -restart 100000 restart1.bin restart2.bin - #dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 #dump_modify 2 pad 6 -run ${steps} +run ${steps} diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index d0690335df..4c65f69530 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -123,7 +123,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) int i,j,ii,jj,inum,jnum,itype,jtype; int ni,nj,npi,npj,ifirst,jfirst,nei,nej,iefirst,jefirst; double xtmp,ytmp,ztmp,delx,dely,delz,evdwl,facc[3]; - double rsq,eradi,eradj,k_nij,k_naij; + double rsq,eradi,eradj; int *ilist,*jlist,*numneigh,**firstneigh; evdwl = 0.0; @@ -215,9 +215,6 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) nej = ednum[j]; jefirst = edfirst[j]; eradj = enclosing_radius[j]; - - k_nij = k_n[itype][jtype]; - k_naij = k_na[itype][jtype]; // no interaction @@ -227,8 +224,8 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // sphere-sphere interaction if (npi == 1 && npj == 1) { - sphere_against_sphere(i, j, delx, dely, delz, rsq, - k_nij, k_naij, v, f, evflag); + sphere_against_sphere(i, j, itype, jtype, delx, dely, delz, + rsq, v, f, evflag); continue; } @@ -265,15 +262,15 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) // one of the two bodies is a sphere if (npj == 1) { - sphere_against_face(i, j, k_nij, k_naij, x, v, f, torque, + sphere_against_face(i, j, itype, jtype, x, v, f, torque, angmom, evflag); - sphere_against_edge(i, j, k_nij, k_naij, x, v, f, torque, + sphere_against_edge(i, j, itype, jtype, x, v, f, torque, angmom, evflag); continue; } else if (npi == 1) { - sphere_against_face(j, i, k_nij, k_naij, x, v, f, torque, + sphere_against_face(j, i, jtype, itype, x, v, f, torque, angmom, evflag); - sphere_against_edge(j, i, k_nij, k_naij, x, v, f, torque, + sphere_against_edge(j, i, jtype, itype, x, v, f, torque, angmom, evflag); continue; } @@ -287,21 +284,21 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) #ifdef _POLYHEDRON_DEBUG printf("INTERACTION between edges of %d vs. faces of %d:\n", i, j); #endif - interact = edge_against_face(i, j, k_nij, k_naij, x, contact_list, + interact = edge_against_face(i, j, itype, jtype, x, contact_list, num_contacts, evdwl, facc); // check interaction between j's edges and i' faces #ifdef _POLYHEDRON_DEBUG printf("\nINTERACTION between edges of %d vs. faces of %d:\n", j, i); #endif - interact = edge_against_face(j, i, k_nij, k_naij, x, contact_list, + interact = edge_against_face(j, i, jtype, itype, x, contact_list, num_contacts, evdwl, facc); // check interaction between i's edges and j' edges #ifdef _POLYHEDRON_DEBUG printf("INTERACTION between edges of %d vs. edges of %d:\n", i, j); #endif - interact = edge_against_edge(i, j, k_nij, k_naij, x, contact_list, + interact = edge_against_edge(i, j, itype, jtype, x, contact_list, num_contacts, evdwl, facc); // estimate the contact area @@ -309,7 +306,7 @@ void PairBodyRoundedPolyhedron::compute(int eflag, int vflag) if (num_contacts > 0) { rescale_cohesive_forces(x, f, torque, contact_list, num_contacts, - k_nij, k_naij, facc); + itype, jtype, facc); } if (evflag) ev_tally_xyz(i,j,nlocal,newton_pair,evdwl,0.0, @@ -594,9 +591,8 @@ void PairBodyRoundedPolyhedron::body2space(int i) ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, - double delx, double dely, double delz, double rsq, - double k_n, double k_na, double** v, double** f, - int evflag) + int itype, int jtype, double delx, double dely, double delz, double rsq, + double** v, double** f, int evflag) { double rradi,rradj,contact_dist; double vr1,vr2,vr3,vnnr,vn1,vn2,vn3,vt1,vt2,vt3; @@ -612,7 +608,7 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, R = rij - contact_dist; energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -686,9 +682,8 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int evflag) + int itype, int jtype, double** x, double** v, double** f, double** torque, + double** angmom, int evflag) { int ni,nei,ifirst,iefirst,npi1,npi2,ibonus; double xi1[3],xi2[3],vti[3],h[3],fn[3],ft[3],d,t; @@ -760,7 +755,7 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, R = rij - contact_dist; energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -844,9 +839,8 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, ---------------------------------------------------------------------- */ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int evflag) + int itype, int jtype, double** x, double** v, double** f, double** torque, + double** angmom, int evflag) { int ni,nfi,inside,ifirst,iffirst,npi1,npi2,npi3,ibonus,tmp; double xi1[3],xi2[3],xi3[3],ui[3],vi[3],vti[3],n[3],h[3],fn[3],ft[3],d; @@ -913,7 +907,7 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, R = rij - contact_dist; energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -1009,8 +1003,8 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, ---------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, Contact* contact_list, - int &num_contacts, double &evdwl, double* facc) + int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc) { int ni,nei,nj,nej,contact,interact; double rradi,rradj,energy; @@ -1037,7 +1031,7 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, interact = interaction_edge_to_edge(ibody, ni, x[ibody], rradi, jbody, nj, x[jbody], rradj, - k_n, k_na, cut_inner, + itype, jtype, cut_inner, contact_list, num_contacts, energy, facc); } @@ -1065,8 +1059,8 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, ---------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, Contact* contact_list, - int &num_contacts, double &evdwl, double* facc) + int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, + double &evdwl, double* facc) { int ni,nei,nj,nfj,contact,interact; double rradi,rradj,energy; @@ -1095,7 +1089,7 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, interact = interaction_face_to_edge(jbody, nj, x[jbody], rradj, ibody, ni, x[ibody], rradi, - k_n, k_na, cut_inner, + itype, jtype, cut_inner, contact_list, num_contacts, energy, facc); } @@ -1132,20 +1126,10 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, ------------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, - int edge_index_i, - double *xmi, - double rounded_radius_i, - int jbody, - int edge_index_j, - double *xmj, - double rounded_radius_j, - double k_n, - double k_na, - double cut_inner, - Contact* contact_list, - int &num_contacts, - double &energy, - double* facc) + int edge_index_i, double *xmi, double rounded_radius_i, + int jbody, int edge_index_j, double *xmj, double rounded_radius_j, + int itype, int jtype, double cut_inner, + Contact* contact_list, int &num_contacts, double &energy, double* facc) { int ifirst,iefirst,jfirst,jefirst,npi1,npi2,npj1,npj2,interact; double xi1[3],xi2[3],xpj1[3],xpj2[3]; @@ -1219,7 +1203,7 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, if (t1 >= 0 && t1 <= 1 && t2 >= 0 && t2 <= 1 && r < contact_dist + cut_inner) { pair_force_and_torque(jbody, ibody, h1, h2, r, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); interact = EE_INTERACT; @@ -1270,20 +1254,10 @@ int PairBodyRoundedPolyhedron::interaction_edge_to_edge(int ibody, ------------------------------------------------------------------------- */ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, - int face_index, - double *xmi, - double rounded_radius_i, - int jbody, - int edge_index, - double *xmj, - double rounded_radius_j, - double k_n, - double k_na, - double cut_inner, - Contact* contact_list, - int &num_contacts, - double &energy, - double* facc) + int face_index, double *xmi, double rounded_radius_i, + int jbody, int edge_index, double *xmj, double rounded_radius_j, + int itype, int jtype, double cut_inner, + Contact* contact_list, int &num_contacts, double &energy, double* facc) { if (face_index >= facnum[ibody]) return EF_INVALID; @@ -1397,7 +1371,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside1) { if (static_cast(discrete[jfirst+npj1][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1436,7 +1410,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, if (inside2) { if (static_cast(discrete[jfirst+npj2][6]) == 0) { pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); #ifdef _POLYHEDRON_DEBUG printf(" - compute pair force between vertex %d from edge %d of body %d " @@ -1502,11 +1476,11 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, int jflag = 1; if (d1 < d2) pair_force_and_torque(jbody, ibody, xpj1, hi1, d1, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); else pair_force_and_torque(jbody, ibody, xpj2, hi2, d2, contact_dist, - k_n, k_na, x, v, f, torque, angmom, + jtype, itype, x, v, f, torque, angmom, jflag, energy, facc); } @@ -1520,7 +1494,7 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, double r, double contact_dist, - double k_n, double k_na, double** x, + int itype, int jtype, double** x, double** v, double** f, double** torque, double** angmom, int jflag, double& energy, double* facc) { @@ -1531,7 +1505,7 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, delz = pi[2] - pj[2]; R = r - contact_dist; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; @@ -1583,17 +1557,19 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, here is the harmonic potential (linear piece-wise forces) in Wang et al. ------------------------------------------------------------------------- */ -void PairBodyRoundedPolyhedron::kernel_force(double R, double k_n, double k_na, +void PairBodyRoundedPolyhedron::kernel_force(double R, int itype, int jtype, double& energy, double& fpair) { - double shift = k_na * cut_inner; + double kn = k_n[itype][jtype]; + double kna = k_na[itype][jtype]; + double shift = kna * cut_inner; double e = 0; if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - e = (0.5 * k_n * R + shift) * R; + fpair = -kn * R - shift; + e = (0.5 * kn * R + shift) * R; } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - e = (-0.5 * k_na * R + shift) * R; + fpair = kna * R - shift; + e = (-0.5 * kna * R + shift) * R; } else fpair = 0.0; energy += e; } @@ -1710,7 +1686,7 @@ void PairBodyRoundedPolyhedron::contact_forces(int ibody, int jbody, void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double k_n, double k_na, double* facc) + int itype, int jtype, double* facc) { int m,ibody,jbody; double delx,dely,delz,fx,fy,fz,R,fpair,r,contact_area; @@ -1766,7 +1742,7 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, R = contact_list[m].separation; double energy = 0; - kernel_force(R, k_n, k_na, energy, fpair); + kernel_force(R, itype, jtype, energy, fpair); /* if (R <= 0) { // deformation occurs fpair = -k_n * R - shift; diff --git a/src/BODY/pair_body_rounded_polyhedron.h b/src/BODY/pair_body_rounded_polyhedron.h index f59faf9ba6..71c04ff966 100644 --- a/src/BODY/pair_body_rounded_polyhedron.h +++ b/src/BODY/pair_body_rounded_polyhedron.h @@ -34,7 +34,7 @@ class PairBodyRoundedPolyhedron : public Pair { void init_style(); double init_one(int, int); - virtual void kernel_force(double R, double k_n, double k_na, + virtual void kernel_force(double R, int itype, int jtype, double& energy, double& fpair); struct Contact { @@ -88,23 +88,23 @@ class PairBodyRoundedPolyhedron : public Pair { void body2space(int); // sphere-sphere interaction - void sphere_against_sphere(int ibody, int jbody, double delx, double dely, double delz, - double rsq, double k_n, double k_na, + void sphere_against_sphere(int ibody, int jbody, int itype, int jtype, + double delx, double dely, double delz, double rsq, double** v, double** f, int evflag); // sphere-edge interaction - void sphere_against_edge(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, int evflag); + void sphere_against_edge(int ibody, int jbody, int itype, int jtype, + double** x, double** v, double** f, double** torque, + double** angmom, int evflag); // sphere-face interaction - void sphere_against_face(int ibody, int jbody, - double k_n, double k_na, double** x, double** v, - double** f, double** torque, double** angmom, int evflag); + void sphere_against_face(int ibody, int jbody, int itype, int jtype, + double** x, double** v, double** f, double** torque, + double** angmom, int evflag); // edge-edge interactions - int edge_against_edge(int ibody, int jbody, double k_n, double k_na, + int edge_against_edge(int ibody, int jbody, int itype, int jtype, double** x,Contact* contact_list, int &num_contacts, double &evdwl, double* facc); // edge-face interactions - int edge_against_face(int ibody, int jbody, double k_n, double k_na, + int edge_against_face(int ibody, int jbody, int itype, int jtype, double** x, Contact* contact_list, int &num_contacts, double &evdwl, double* facc); @@ -112,14 +112,14 @@ class PairBodyRoundedPolyhedron : public Pair { int interaction_face_to_edge(int ibody, int face_index, double* xmi, double rounded_radius_i, int jbody, int edge_index, double* xmj, double rounded_radius_j, - double k_n, double k_na, double cut_inner, + int itype, int jtype, double cut_inner, Contact* contact_list, int &num_contacts, double& energy, double* facc); // an edge vs. an edge from another body int interaction_edge_to_edge(int ibody, int edge_index_i, double* xmi, double rounded_radius_i, int jbody, int edge_index_j, double* xmj, double rounded_radius_j, - double k_n, double k_na, double cut_inner, + int itype, int jtype, double cut_inner, Contact* contact_list, int &num_contacts, double& energy, double* facc); @@ -131,14 +131,14 @@ class PairBodyRoundedPolyhedron : public Pair { // compute force and torque between two bodies given a pair of interacting points void pair_force_and_torque(int ibody, int jbody, double* pi, double* pj, - double r, double contact_dist, double k_n, - double k_na, double** x, double** v, - double** f, double** torque, double** angmom, - int jflag, double& energy, double* facc); + double r, double contact_dist, int itype, int jtype, + double** x, double** v, double** f, double** torque, + double** angmom, int jflag, double& energy, double* facc); + // rescale the cohesive forces if a contact area is detected void rescale_cohesive_forces(double** x, double** f, double** torque, Contact* contact_list, int &num_contacts, - double k_n, double k_na, double* facc); + int itype, int jtype, double* facc); // compute the separation between two contacts double contact_separation(const Contact& c1, const Contact& c2); From 1fbd4fffd41e5e997fff63deb969eb89e1ed4fe1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 23:50:43 -0500 Subject: [PATCH 13/29] Updated rounded/polygon example --- examples/body/data.squares | 8 ++++---- examples/body/in.squares | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/body/data.squares b/examples/body/data.squares index 55a3dd09a0..6b198fd422 100755 --- a/examples/body/data.squares +++ b/examples/body/data.squares @@ -2,14 +2,14 @@ LAMMPS data file for polygons: squares of edge length L: Izz = 1/6mL^2 2 atoms 2 bodies 1 atom types --6 6 xlo xhi --6 6 ylo yhi +0 12 xlo xhi +0 12 ylo yhi -0.5 0.5 zlo zhi Atoms -1 1 1 1 0 0 0 -2 1 1 1 5 1 0 +1 1 1 1 4 5 0 +2 1 1 1 9 6 0 Bodies diff --git a/examples/body/in.squares b/examples/body/in.squares index c812b4e0be..8f949f2cdf 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -38,7 +38,7 @@ timestep 0.001 #fix 1 all nve/body #fix 1 all nvt/body temp $T $T 1.0 fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 & - y 0.001 $P 1.0 couple xy + y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 fix 2 all enforce2d From f5e9b1e021e57b0bc7c81a68964915aee623c9ca Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 29 May 2018 23:59:58 -0500 Subject: [PATCH 14/29] Added example input for fix wall rounded/polygon --- examples/body/in.squares | 4 +-- examples/body/in.wall2d | 56 ++++++++++++++++++++++++++++++++++++++++ 2 files changed, 58 insertions(+), 2 deletions(-) create mode 100755 examples/body/in.wall2d diff --git a/examples/body/in.squares b/examples/body/in.squares index 8f949f2cdf..f771c15381 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -20,8 +20,8 @@ velocity all create $T ${seed} dist gaussian mom yes rot yes variable cut_inner equal 0.5 variable k_n equal 100 variable k_na equal 2 -variable c_n equal 0.1 -variable c_t equal 0.1 +variable c_n equal 1 +variable c_t equal 1 variable mu equal 0.1 variable delta_ua equal 0.5 diff --git a/examples/body/in.wall2d b/examples/body/in.wall2d new file mode 100755 index 0000000000..19788a9dcd --- /dev/null +++ b/examples/body/in.wall2d @@ -0,0 +1,56 @@ +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + +replicate $r $r 1 + +velocity all create $T ${seed} dist gaussian mom yes rot yes + +change_box all boundary p f p + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_coeff * * ${k_n} ${k_na} + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 + +fix 2 all enforce2d +fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 + +compute 1 all body/local id 1 2 3 +dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump_modify 2 pad 6 + +run ${steps} From 82b1ab2ac4b522d4b04db558b8959428873d01f0 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 30 May 2018 00:04:48 -0500 Subject: [PATCH 15/29] Cleaned up pair body rounded/polyhedron --- src/BODY/fix_wall_body_polygon.cpp | 2 +- src/BODY/fix_wall_body_polyhedron.cpp | 2 +- src/BODY/pair_body_rounded_polyhedron.cpp | 44 ----------------------- 3 files changed, 2 insertions(+), 46 deletions(-) diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index ea81ae26df..72a60b22d0 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) ------------------------------------------------------------------------- */ #include diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 4806da9673..879289ea42 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -12,7 +12,7 @@ ------------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- - Contributing authors: Trung Dac Nguyen (ndactrung@gmail.com) + Contributing author: Trung Dac Nguyen (ndactrung@gmail.com) ------------------------------------------------------------------------- */ #include diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 4c65f69530..96307a0ab1 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -609,15 +609,6 @@ void PairBodyRoundedPolyhedron::sphere_against_sphere(int ibody, int jbody, energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -756,16 +747,6 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ - fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -908,15 +889,6 @@ void PairBodyRoundedPolyhedron::sphere_against_face(int ibody, int jbody, energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy = (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy = (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ fx = delx*fpair/rij; fy = dely*fpair/rij; @@ -1506,15 +1478,6 @@ void PairBodyRoundedPolyhedron::pair_force_and_torque(int ibody, int jbody, R = r - contact_dist; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - energy += (0.5 * k_n * R + shift) * R; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - energy += (-0.5 * k_na * R + shift) * R; - } else fpair = 0.0; -*/ fx = delx*fpair/r; fy = dely*fpair/r; @@ -1743,13 +1706,6 @@ void PairBodyRoundedPolyhedron::rescale_cohesive_forces(double** x, double energy = 0; kernel_force(R, itype, jtype, energy, fpair); -/* - if (R <= 0) { // deformation occurs - fpair = -k_n * R - shift; - } else if (R <= cut_inner) { // not deforming but cohesive ranges overlap - fpair = k_na * R - shift; - } else fpair = 0.0; -*/ fpair *= j_a; fx = delx*fpair/r; From 13338bf8cbfb7fcb047a43b39b49d6506b7e6e48 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Mon, 9 Jul 2018 16:15:15 -0600 Subject: [PATCH 16/29] small changes to Trung body files --- doc/src/body.txt | 162 ++++++++++---- doc/src/fix_wall_body_polygon.txt | 56 ++--- doc/src/fix_wall_body_polyhedron.txt | 39 ++-- doc/src/pair_body_rounded_polygon.txt | 91 +++++--- doc/src/pair_body_rounded_polyhedron.txt | 91 ++++++-- examples/body/in.cubes | 6 +- examples/body/in.pour3d | 2 +- examples/body/in.squares | 7 +- examples/body/in.wall2d | 7 +- examples/body/log.9Jul18.body.cubes.g++.1 | 125 +++++++++++ examples/body/log.9Jul18.body.cubes.g++.4 | 125 +++++++++++ examples/body/log.9Jul18.body.pour3d.g++.1 | 138 ++++++++++++ examples/body/log.9Jul18.body.squares.g++.1 | 221 +++++++++++++++++++ examples/body/log.9Jul18.body.squares.g++.4 | 221 +++++++++++++++++++ examples/body/log.9Jul18.body.wall2d.g++.1 | 223 ++++++++++++++++++++ examples/body/log.9Jul18.body.wall2d.g++.4 | 223 ++++++++++++++++++++ src/BODY/body_rounded_polygon.cpp | 4 +- src/BODY/body_rounded_polyhedron.cpp | 9 +- src/BODY/fix_wall_body_polygon.cpp | 7 +- src/BODY/fix_wall_body_polyhedron.cpp | 7 +- src/BODY/pair_body_rounded_polygon.cpp | 36 ++-- src/BODY/pair_body_rounded_polyhedron.cpp | 28 ++- 22 files changed, 1646 insertions(+), 182 deletions(-) create mode 100644 examples/body/log.9Jul18.body.cubes.g++.1 create mode 100644 examples/body/log.9Jul18.body.cubes.g++.4 create mode 100644 examples/body/log.9Jul18.body.pour3d.g++.1 create mode 100644 examples/body/log.9Jul18.body.squares.g++.1 create mode 100644 examples/body/log.9Jul18.body.squares.g++.4 create mode 100644 examples/body/log.9Jul18.body.wall2d.g++.1 create mode 100644 examples/body/log.9Jul18.body.wall2d.g++.4 diff --git a/doc/src/body.txt b/doc/src/body.txt index e936f5409c..c272f48ad1 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -36,7 +36,7 @@ thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each style are described below. -We hope to add more styles in the future. See "Section +More styles ma be added in the future. See "Section 10.12"_Section_modify.html#mod_12 for details on how to add a new body style to the code. @@ -59,7 +59,7 @@ the simple particles. By contrast, when body particles are used, LAMMPS treats an entire body as a single particle for purposes of computing pairwise interactions, building neighbor lists, migrating particles between -processors, outputting particles to a dump file, etc. This means that +processors, output of particles to a dump file, etc. This means that interactions between pairs of bodies or between a body and non-body (point) particle need to be encoded in an appropriate pair style. If such a pair style were to mimic the "fix rigid"_fix_rigid.html model, @@ -70,17 +70,20 @@ single body/body interaction was computed. Thus it only makes sense to use body particles and develop such a pair style, when particle/particle interactions are more complex than what the "fix rigid"_fix_rigid.html command can already calculate. For -example, if particles have one or more of the following attributes: +example, consider particles with one or more of the following +attributes: represented by a surface mesh represented by a collection of geometric entities (e.g. planes + spheres) deformable internal stress that induces fragmentation :ul -then the interaction between pairs of particles is likely to be more -complex than the summation of simple sub-particle interactions. An -example is contact or frictional forces between particles with planar -surfaces that inter-penetrate. +For these models, the interaction between pairs of particles is likely +to be more complex than the summation of simple pairwise interactions. +An example is contact or frictional forces between particles with +planar surfaces that inter-penetrate. Likewise, the body particle may +store internal state, such as a stress tensor used to compute a +fracture criterion. These are additional LAMMPS commands that can be used with body particles of different styles @@ -128,7 +131,9 @@ x1 y1 z1 ... xN yN zN :pre -N is the number of sub-particles in the body particle. M = 6 + 3*N. +where M = 6 + 3*N, and N is the number of sub-particles in the body +particle. + The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N sub-particles (x1 to zN) as 3N values. These values can be listed on @@ -173,13 +178,18 @@ The {bflag2} argument is ignored. [Specifics of body style rounded/polygon:] -The {rounded/polygon} body style represents body particles as -a polygon with a variable number N of vertices, which can only be -used for 2d models. Special cases for N = 1 (spheres) and N = 2 -(rods) are also included. One example use of this body style is for 2d -discrete element models, as described in "Fraige"_#Fraige. Similar to -body style {nparticle}, the atom_style body command for this body -style takes two additional arguments: +The {rounded/polygon} body style represents body particles as a 2d +polygon with a variable number of N vertices. This style can only be +used for 2d models; see the "boundary"_boundary.html command. + +NOTE: include a diagram of a a rounded polygon body particle + +Special cases for N = 1 (spheres) and N = 2 (rods) are also included. +One use of this body style is for 2d discrete element models, as +described in "Fraige"_#Fraige. + +Similar to body style {nparticle}, the atom_style body command for +this body style takes two additional arguments: atom_style body rounded/polygon Nmin Nmax Nmin = minimum # of vertices in any body in the system @@ -201,14 +211,19 @@ xN yN zN i j j k k ... diameter :pre -N is the number of vertices in the body particle. M = 6 + 3*N + 2*N + -1. The integer line has a single value N. The floating point line(s) +where M = 6 + 3*N + 2*N + 1, and N is the number of vertices in the +body particle. + +The integer line has a single value N. The floating point line(s) list 6 moments of inertia followed by the coordinates of the N -vertices (x1 to zN) as 3N values, followed by 2N vertex indices -corresponding to the end points of the N edges, followed by a single -diameter value = the rounded diameter of the vertices. -These floating-point values can be listed on as many lines as you -wish; see the "read_data"_read_data.html command for more details. +vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by +2N vertex indices corresponding to the end points of the N edges, +followed by a single diameter value = the rounded diameter of the +circle that surrounds each vertex. These floating-point values can be +listed on as many lines as you wish; see the +"read_data"_read_data.html command for more details. + +NOTE: can the diameter value be different for each body particle? The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body @@ -220,8 +235,10 @@ from the center-of-mass of the body particle. The center-of-mass position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. -For example, the following information would specify a square -particles whose edge length is sqrt(2): +For example, the following information would specify a square particle +whose edge length is sqrt(2): + +NOTE: oriented how? 3 1 27 4 @@ -238,18 +255,31 @@ particles whose edge length is sqrt(2): The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html command can be used with this body style to compute body/body -interactions. +interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html +command can be used with this body style to compute the interaction of +body particles with a wall. :line [Specifics of body style rounded/polyhedron:] -The {rounded/polyhedron} body style represents body particles as -a polyhedron with N vertices, E edges and F faces. +The {rounded/polyhedron} body style represents body particles as a 3d +polyhedron with a variable number of N vertices, E edges and F faces. +This style can only be used for 3d models; see the +"boundary"_boundary.html command. + +NOTE: include a diagram of a a rounded polyhedron body particle + Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. -This body style is for 3d discrete element models, as described in "Wang"_#Wang. -Similar to body style {rounded/polygon}, the atom_style body command for this body -style takes two additional arguments: + +NOTE: can 2d objects also be specified as a special case, e.g. a +triangle? + +This body style is for 3d discrete element models, as described in +"Wang"_#Wang. + +Similar to body style {rounded/polygon}, the atom_style body command +for this body style takes two additional arguments: atom_style body rounded/polyhedron Nmin Nmax Nmin = minimum # of vertices in any body in the system @@ -278,18 +308,57 @@ xN yN zN 1 2 3 4 diameter :pre -N is the number of vertices in the body particle. M = 6 + 3*N + 2*E -+ 4*F + 1. The integer line has three values: number of vertices (N), -number of edges (E) and number of faces (F). The floating point line(s) -list 6 moments of inertia followed by the coordinates of the N -vertices (x1 to zN) as 3N values, followed by 2N vertex indices -corresponding to the end points of the E edges, 4*F vertex indices defining F faces. -The last value is the radius value = the rounded diameter of the vertices. -These floating-point values can be listed on as many lines as you -wish; see the "read_data"_read_data.html command for more details. -Because the maxmimum vertices per face is hard-coded to be 4 (i.e. quadrilaterals), -faces with more than 4 vertices need to be split into triangles or quadrilaterals. -For triangular faces, the last index should be set to -1. +where M = 6 + 3*N + 2*E + 4*F + 1, and N is the number of vertices in +the body particle, E = number of edges, F = number of faces. + +The integer line has three values: number of vertices (N), number of +edges (E) and number of faces (F). The floating point line(s) list 6 +moments of inertia followed by the coordinates of the N vertices (x1 +to zN) as 3N values, followed by 2N vertex indices corresponding to +the end points of the E edges, then 4*F vertex indices defining F +faces. The last value is the radius value = the rounded diameter of +the sphere that surrounds each vertex. These floating-point values +can be listed on as many lines as you wish; see the +"read_data"_read_data.html command for more details. Because the +maxmimum vertices per face is hard-coded to be 4 +(i.e. quadrilaterals), faces with more than 4 vertices need to be +split into triangles or quadrilaterals. For triangular faces, the +last vertex index should be set to -1. + +NOTE: is there some right-hand rule for the ordering of the 4 vertices +within each face? + +NOTE: can the diameter value be different for each body particle? + +The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the +values consistent with the current orientation of the rigid body +around its center of mass. The values are with respect to the +simulation box XYZ axes, not with respect to the principal axes of the +rigid body itself. LAMMPS performs the latter calculation internally. +The coordinates of each vertex are specified as its x,y,z displacement +from the center-of-mass of the body particle. The center-of-mass +position of the particle is specified by the x,y,z values in the +{Atoms} section of the data file. + +For example, the following information would specify a cubic particle +whose edge length is 1.0: + +NOTE: oriented how? + +NOTE: fill in these values correctly + +3 1 27 +4 +1 1 4 0 0 0 +-0.7071 -0.7071 0 +-0.7071 0.7071 0 +0.7071 0.7071 0 +0.7071 -0.7071 0 +0 1 +1 2 +2 3 +3 0 +1.0 :pre :line @@ -309,9 +378,9 @@ current COM and orientation of the body particle. For images created by the "dump image"_dump_image.html command, if the {body} keyword is set, then each body particle is drawn as a polygon -consisting of N line segments. Note that the line segments -are drawn between the N vertices, which does not correspond exactly to -the physical extent of the body (because the "pair_style +consisting of N line segments. Note that the line segments are drawn +between the N vertices, which does not correspond exactly to the +physical extent of the body (because the "pair_style rounded/polygon"_pair_body_rounded_polygon.html defines finite-size spheres at those point and the line segments between the spheres are tangent to the spheres). The drawn diameter of each line segment is @@ -325,4 +394,5 @@ determined by the {bflag1} parameter for the {body} keyword. The Particuology, 6, 455 (2008). :link(Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular +Matter, 13, 1 (2011). diff --git a/doc/src/fix_wall_body_polygon.txt b/doc/src/fix_wall_body_polygon.txt index 00d23c207c..4ba16b56c7 100644 --- a/doc/src/fix_wall_body_polygon.txt +++ b/doc/src/fix_wall_body_polygon.txt @@ -14,9 +14,9 @@ fix ID group-ID wall/body/polygon k_n c_n c_t wallstyle args keyword values ... ID, group-ID are documented in "fix"_fix.html command :ulb,l wall/body/polygon = style name of this fix command :l -k_n = normal repulsion strength (force/distance units or pressure units - see discussion below) :l -c_n = normal damping coefficient (force/distance units or pressure units - see discussion below) :l -c_t = tangential damping coefficient (force/distance units or pressure units - see discussion below) :l +k_n = normal repulsion strength (force/distance or pressure units) :l +c_n = normal damping coefficient (force/distance or pressure units) :l +c_t = tangential damping coefficient (force/distance or pressure units) :l wallstyle = {xplane} or {yplane} or {zplane} or {zcylinder} :l args = list of arguments for a particular style :l {xplane} or {yplane} args = lo hi @@ -37,34 +37,37 @@ fix 1 all wall/body/polygon 1000.0 20.0 5.0 xplane -10.0 10.0 [Description:] -Bound the simulation domain of systems of body particles of style -body/rounded/polygon with wall(s). All particles in the group interact -with the wall when they are close enough to touch it. -The nature of the interaction between the wall and the polygons is -the same as that between the polygons themselves, which is similar to the Hookean potential. +This fix is for use with 2d models of body particles of style +{rounded/polygon}. It bounds the simulation domain with wall(s). All +particles in the group interact with the wall when they are close +enough to touch it. The nature of the interaction between the wall +and the polygon particles is the same as that between the polygon +particles themselves, which is similar to a Hookean potential. See +"Section 6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body particles. -This fix is designed for use with the "body/rounded/polygon" body style, -which is specified as an argument to the "atom-style body" command. -The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the -"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html commands. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as +those specified with the "pair_style +body/rounded/polygon"_pair_body_rounded_polygon.html command. -The {wallstyle} can be planar or cylindrical. The 3 planar options +The {wallstyle} can be planar or cylindrical. The 2 planar options specify a pair of walls in a dimension. Wall positions are given by {lo} and {hi}. Either of the values can be specified as NULL if a single wall is desired. For a {zcylinder} wallstyle, the cylinder's axis is at x = y = 0.0, and the radius of the cylinder is specified. -Optionally, the wall can be moving, if the {wiggle} keyword is appended. +Optionally, the wall can be moving, if the {wiggle} keyword is +appended. For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the -"fix move"_fix_move.html command. This is useful in packing -simulations of particles. The arguments to the {wiggle} -keyword specify a dimension for the motion, as well as it's -{amplitude} and {period}. Note that if the dimension is in the plane -of the wall, this is effectively a shearing motion. If the dimension -is perpendicular to the wall, it is more of a shaking motion. A -{zcylinder} wall can only be wiggled in the z dimension. +the oscillations of particles which can be specified by the "fix +move"_fix_move.html command. This is useful in packing simulations of +particles. The arguments to the {wiggle} keyword specify a dimension +for the motion, as well as it's {amplitude} and {period}. Note that +if the dimension is in the plane of the wall, this is effectively a +shearing motion. If the dimension is perpendicular to the wall, it is +more of a shaking motion. A {zcylinder} wall can only be wiggled in +the z dimension. Each timestep, the position of a wiggled wall in the appropriate {dim} is set according to this equation: @@ -87,14 +90,15 @@ minimization"_minimize.html. [Restrictions:] -This fix is part of the BODY package. It is only enabled if -LAMMPS was built with that package. See the "Making +This fix is part of the BODY package. It is only enabled if LAMMPS +was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -Any dimension (xyz) that has a wall must be non-periodic. +Any dimension (xy) that has a wall must be non-periodic. [Related commands:] -"pair_style body/rounded/polygon"_pair_body_rounded_polygon.html +"atom_style body"_atom_style.html, "pair_style +body/rounded/polygon"_pair_body_rounded_polygon.html [Default:] none diff --git a/doc/src/fix_wall_body_polyhedron.txt b/doc/src/fix_wall_body_polyhedron.txt index a1eef4df07..c937cbdbbc 100644 --- a/doc/src/fix_wall_body_polyhedron.txt +++ b/doc/src/fix_wall_body_polyhedron.txt @@ -37,16 +37,18 @@ fix 1 all wall/body/polyhedron 1000.0 20.0 5.0 xplane -10.0 10.0 [Description:] -Bound the simulation domain of systems of body particles of style -body/rounded/polyhedron with wall(s). All particles in the group interact -with the wall when they are close enough to touch it. -The nature of the interaction between the wall and the polygons is -the same as that between the polygons themselves, which is similar to the Hookean potential. +This fix is for use with 3d models of body particles of style +{rounded/polyhedron}. It bounds the simulation domain with wall(s). +All particles in the group interact with the wall when they are close +enough to touch it. The nature of the interaction between the wall +and the polygon particles is the same as that between the polygon +particles themselves, which is similar to a Hookean potential. See +"Section 6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body particles. -This fix is designed for use with the "body/rounded/polyhedron" body style, -which is specified as an argument to the "atom-style body" command. -The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as those specified with the -"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html commands. +The parameters {k_n}, {c_n}, {c_t} have the same meaning and units as +those specified with the "pair_style +body/rounded/polyhedron"_pair_body_rounded_polyhedron.html command. The {wallstyle} can be planar or cylindrical. The 3 planar options specify a pair of walls in a dimension. Wall positions are given by @@ -57,14 +59,14 @@ axis is at x = y = 0.0, and the radius of the cylinder is specified. Optionally, the wall can be moving, if the {wiggle} keyword is appended. For the {wiggle} keyword, the wall oscillates sinusoidally, similar to -the oscillations of particles which can be specified by the -"fix move"_fix_move.html command. This is useful in packing -simulations of particles. The arguments to the {wiggle} -keyword specify a dimension for the motion, as well as it's -{amplitude} and {period}. Note that if the dimension is in the plane -of the wall, this is effectively a shearing motion. If the dimension -is perpendicular to the wall, it is more of a shaking motion. A -{zcylinder} wall can only be wiggled in the z dimension. +the oscillations of particles which can be specified by the "fix +move"_fix_move.html command. This is useful in packing simulations of +particles. The arguments to the {wiggle} keyword specify a dimension +for the motion, as well as it's {amplitude} and {period}. Note that +if the dimension is in the plane of the wall, this is effectively a +shearing motion. If the dimension is perpendicular to the wall, it is +more of a shaking motion. A {zcylinder} wall can only be wiggled in +the z dimension. Each timestep, the position of a wiggled wall in the appropriate {dim} is set according to this equation: @@ -95,6 +97,7 @@ Any dimension (xyz) that has a wall must be non-periodic. [Related commands:] -"pair_style body/rounded/polyhedron"_pair_body_rounded_polygon.html +"atom_style body"_atom_style.html, "pair_style +body/rounded/polyhedron"_pair_body_rounded_polyhedron.html [Default:] none diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 00896b4c7b..15817f10f8 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -16,7 +16,9 @@ c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor -cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre +cutoff = global separation cutoff for interactions (distance units), see below for definition :pre + +NOTE: what does gross sliding mean? [Examples:] @@ -26,36 +28,77 @@ pair_coeff 1 1 100.0 1.0 :pre [Description:] -Style {body/rounded/polygon} is for use with body particles and calculates pairwise +Style {body/rounded/polygon} is for use with 2d models of body +particles of style {rounded/polygon}. It calculates pairwise body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. +point-particles. See "Section 6.14"_Section_howto.html#howto_14 of +the manual and the "body"_body.html doc page for more details on using +body particles. -This pair style is designed for use with the "body/rounded/polygon" body style, -which is specified as an argument to the "atom-style body" command. -See the "body/rounded/polygon"_body.html doc page for more details about the body -styles LAMMPS supports. The pairwise interaction between the rounded polygons is described -in "Fraige"_#Fraige, where the polygons are rounded at the vertices and edges -by circles of diameter a. This is a version of discrete element models (DEM) -with multiple contact points. +This pairwise interaction between rounded polygons is described in +"Fraige"_#Fraige, where a polygon does not have sharp corners, but is +rounded at its vertices by circles centered on each vertex with a +specified diameter. The edges of the polygon are defined bewteen +pairs of adjacent vertices. The circle diameter for each polygon is +specified in the data file read by the "read data"_read_data.html +command. This is a 2d discrete element model (DEM) which allows for +multiple contact points. -Because the polygons can have different rounded diameters, the cutoff specified in -the pair style command is for the surface separation between two interacting entities -(e.g. vertex-vertex, vertex-edge or edge-edge) excluding their rounded diameters, -i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. -The interaction forces and energies are also defined with respect to the rounded surface separation, -instead of center-center distance. +Note that when two particles interact, the effective surface of each +polygon particle is displaced outward from each of its vertices and +edges by half its circle diameter. The interaction forces and +energies bewteen two particles are defined with respect to the +separation of their respective rounded surfaces, not by the separation +of the vertices and edges themselves. -For style {body/rounded/polygon}, the following coefficients must be defined for each -pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: +This means that the specified cutoff in the pair_style command should +be large enough to encompass the center-to-center distance between two +particles (at any orientation) which would produce a surface-surface +overlap. For example, consider two square particles with edge length += 1.0 and circle diameter 0.2. The maximum distance of one polygon's +surface from its center is not sqrt(2)/2, but (sqrt(2)+0.1)/2. Thus +the cutoff distance should be sqrt(2) + 0.1, since the surfaces of two +particles that far apart could be touching. + +NOTE: Do we need a diagram of 2 overlapping polygon particles that +explains how contact is defined? Do we need an equation(s) that +explain what the params in pair style and coeff mean, for damping and +spring constants? Or do we just want to reference the paper for that? + +NOTE: say something about no frictional history ? + +The following coefficients must be defined for each pair of atom types +via the "pair_coeff"_pair_coeff.html command as in the examples above, +or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair style does not support the "pair_modify"_pair_modify.html +mix, shift, table, and tail options. + +This pair style does not write its information to "binary restart +files"_restart.html. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +[Restrictions:] + +These pair styles are part of the BODY package. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +NOTE: is there a newton on or off requirement for using this pair style? +If so, say something like this: + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. + [Related commands:] "pair_coeff"_pair_coeff.html @@ -65,5 +108,3 @@ k_na (energy/distance^2 units) :ul :link(Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). - - diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 9a5c20ddb6..29fa90d2cf 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -18,6 +18,8 @@ mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre +NOTE: what does gross sliding mean? + [Examples:] pair_style body/rounded/polyhedron 20.0 5.0 0.0 1.0 0.5 @@ -26,36 +28,78 @@ pair_coeff 1 1 100.0 1.0 :pre [Description:] -Style {body/rounded/polyhedron} is for use with body particles and calculates pairwise +Style {body/rounded/polygon} is for use with 3d models of body +particles of style {rounded/polyhedron}. It calculates pairwise body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 -of the manual and the "body"_body.html doc page for more details on -using body particles. +point-particles. See "Section 6.14"_Section_howto.html#howto_14 of +the manual and the "body"_body.html doc page for more details on using +body particles. -This pair style is designed for use with the "body/rounded/polyhedron" body style, -which is specified as an argument to the "atom-style body" command. -See the "body/rounded/polyhedron"_body.html doc page for more details about the body -styles LAMMPS supports. The pairwise interaction between the rounded polygons is described -in "Wang"_#Wang, where the polygons are rounded at the vertices and edges -by circles of diameter a. This is a version of discrete element models (DEM) -with multiple contact points. +This pairwise interaction between rounded polyhedra is described in +"Wang"_#Wang, where a polyhedron does not have sharp corners and +edges, but is rounded at its vertices and edges by spheres centered on +each vertex with a specified diameter. The edges if the polyhedron +are defined bewteen pairs of adjacent vertices. Its faces are defined +by a loop of edges. The sphere diameter for each polygon is specified +in the data file read by the "read data"_read_data.html command. This +is a discrete element model (DEM) which allows for multiple contact +points. -Because the polygons can have different rounded diameters, the cutoff specified in -the pair style command is for the surface separation between two interacting entities -(e.g. vertex-vertex, vertex-edge, vertex-face and edge-edge) excluding their rounded diameters, -i.e. separation = center-center distance - (rounded diameter of entity i + rounded diameter of entity j)/2. -The interaction forces and energies are also defined with respect to the rounded surface separation, -instead of center-center distance. +Note that when two particles interaact, the effective surface of each +polyhedron particle is displaced outward from each of its vertices, +edges, and faces by half its sphere diameter. The interaction forces +and energies bewteen two particles are defined with respect to the +separation of their respective rounded surfaces, not by the separation +of the vertices, edges, and faces themselves. -For style {body/rounded/polyhedron}, the following coefficients must be defined for each -pair of atoms types via the "pair_coeff"_pair_coeff.html command as in -the examples above, or in the data file or restart files read by the -"read_data"_read_data.html or "read_restart"_read_restart.html -commands: +This means that the specified cutoff in the pair_style command should +be large enough to encompass the center-to-center distance between two +particles (at any orientation) which would produce a surface-surface +overlap. For example, consider two cubic particles with edge length = +1.0 and sphere diameter 0.2. The maximum distance of one polygon's +surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus +the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two +particles that far apart could be touching. + +NOTE: Do we need a diagram of 2 overlapping polyhedron particles that +explains how contact is defined? Do we need an equation(s) that +explain what the params in pair style and coeff mean, for damping and +spring constants? Or do we just want to reference the paper for that? + +NOTE: say something about no frictional history ? + +The following coefficients must be defined for each pair of atom types +via the "pair_coeff"_pair_coeff.html command as in the examples above, +or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +[Mixing, shift, table, tail correction, restart, rRESPA info]: + +This pair style does not support the "pair_modify"_pair_modify.html +mix, shift, table, and tail options. + +This pair style does not write its information to "binary restart +files"_restart.html. Thus, you need to re-specify the pair_style and +pair_coeff commands in an input script that reads a restart file. + +This pair style can only be used via the {pair} keyword of the +"run_style respa"_run_style.html command. It does not support the +{inner}, {middle}, {outer} keywords. + +[Restrictions:] + +These pair styles are part of the BODY package. They are only enabled +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. + +NOTE: is there a newton on or off requirement for using this pair style? +If so, say something like this: + +This pair style requires the "newton"_newton.html setting to be "on" +for pair interactions. + [Related commands:] "pair_coeff"_pair_coeff.html @@ -63,5 +107,6 @@ k_na (energy/distance^2 units) :ul [Default:] none :link(Wang) -[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). +[(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular +Matter, 13, 1 (2011). diff --git a/examples/body/in.cubes b/examples/body/in.cubes index 3aeaa70af9..a22599fe96 100644 --- a/examples/body/in.cubes +++ b/examples/body/in.cubes @@ -38,11 +38,11 @@ fix 1 all nvt/body temp 1.2 1.2 0.1 compute p2 all pressure 1_temp -compute 1 all body/local id 1 2 3 -dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] +#compute 1 all body/local id 1 2 3 +#dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] #dump 2 all image 1000 image.*.jpg type type & -# zoom 1.5 adiam 1.5 body yes 0 0 view 60 15 +# zoom 1.5 adiam 1.5 body type 0 0 view 60 15 #dump_modify 2 pad 6 thermo_style custom step ke pe etotal c_p2 c_1_temp diff --git a/examples/body/in.pour3d b/examples/body/in.pour3d index 290f2052c8..bcba950e59 100644 --- a/examples/body/in.pour3d +++ b/examples/body/in.pour3d @@ -49,7 +49,7 @@ thermo_style custom step atoms ke pe etotal press thermo 1000 #dump 2 all image 500 image.*.jpg type type & -# zoom 1.5 adiam 1.5 body yes 0 0 view 75 15 +# zoom 1.5 adiam 1.5 body type 0 0 view 75 15 #dump_modify 2 pad 6 run ${steps} diff --git a/examples/body/in.squares b/examples/body/in.squares index f771c15381..3b05b5cead 100755 --- a/examples/body/in.squares +++ b/examples/body/in.squares @@ -42,13 +42,14 @@ fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 & fix 2 all enforce2d -compute 1 all body/local id 1 2 3 -dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] thermo_style custom step ke pe etotal press thermo 1000 -#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 & +# adiam 1.5 body type 0 0 #dump_modify 2 pad 6 run ${steps} diff --git a/examples/body/in.wall2d b/examples/body/in.wall2d index 19788a9dcd..04e7f31cb6 100755 --- a/examples/body/in.wall2d +++ b/examples/body/in.wall2d @@ -44,13 +44,14 @@ fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 fix 2 all enforce2d fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 -compute 1 all body/local id 1 2 3 -dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] thermo_style custom step ke pe etotal press thermo 1000 -#dump 2 all image 10000 image.*.jpg type type zoom 2.0 adiam 1.5 body yes 0 0 +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 & +# adiam 1.5 body type 0 0 #dump_modify 2 pad 6 run ${steps} diff --git a/examples/body/log.9Jul18.body.cubes.g++.1 b/examples/body/log.9Jul18.body.cubes.g++.1 new file mode 100644 index 0000000000..c9a799c0b5 --- /dev/null +++ b/examples/body/log.9Jul18.body.cubes.g++.1 @@ -0,0 +1,125 @@ +LAMMPS (29 Jun 2018) +# 3d rounded cubes + +variable r index 3 +variable steps index 10000 + +units lj +dimension 3 + +atom_style body rounded/polyhedron 1 10 + +read_data data.cubes + orthogonal box = (0 0 0) to (6 6 6) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r $r +replicate 3 $r $r +replicate 3 3 $r +replicate 3 3 3 + orthogonal box = (0 0 0) to (18 18 18) + 1 by 1 by 1 MPI processor grid + 54 atoms + Time spent = 0.000217915 secs + +velocity all create 1.2 187287 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 1 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 1 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +fix 1 all nvt/body temp 1.2 1.2 0.1 +#fix 1 all npt/body temp 1.2 1.2 0.1 iso 0.002 0.02 1.0 + +compute p2 all pressure 1_temp + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 adiam 1.5 body type 0 0 view 60 15 +#dump_modify 2 pad 6 + +thermo_style custom step ke pe etotal c_p2 c_1_temp + +thermo 1000 + +run ${steps} +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.9641 + ghost atom cutoff = 3.9641 + binsize = 1.98205, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polyhedron, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.952 | 4.952 | 4.952 Mbytes +Step KinEng PotEng TotEng c_p2 c_1_temp + 0 1.7666667 0 1.7666667 0.01090535 0.59439252 + 1000 3.1462962 0.17392649 3.3202227 0.02361912 1.1654694 + 2000 2.9311648 0.13836102 3.0695258 0.021748224 1.1950624 + 3000 3.090491 0.16511199 3.255603 0.018691142 1.23672 + 4000 2.7401565 0.17792155 2.9180781 0.015093853 1.1180839 + 5000 3.0880849 0.17587085 3.2639557 0.030563042 1.2831154 + 6000 3.2180776 0.19732251 3.4154001 0.028338151 1.258839 + 7000 2.9514882 0.25088882 3.202377 0.025296925 1.1746326 + 8000 3.0101226 0.28825968 3.2983823 0.027273454 1.2138056 + 9000 3.0164253 0.1901733 3.2065986 0.033228915 1.3095914 + 10000 2.3780401 0.34082434 2.7188644 0.031838531 1.0208679 +Loop time of 38.5686 on 1 procs for 10000 steps with 54 atoms + +Performance: 22401.653 tau/day, 259.278 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 38.426 | 38.426 | 38.426 | 0.0 | 99.63 +Neigh | 0.0043154 | 0.0043154 | 0.0043154 | 0.0 | 0.01 +Comm | 0.047616 | 0.047616 | 0.047616 | 0.0 | 0.12 +Output | 0.00017595 | 0.00017595 | 0.00017595 | 0.0 | 0.00 +Modify | 0.082948 | 0.082948 | 0.082948 | 0.0 | 0.22 +Other | | 0.007761 | | | 0.02 + +Nlocal: 54 ave 54 max 54 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 96 ave 96 max 96 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 100 ave 100 max 100 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 100 +Ave neighs/atom = 1.85185 +Neighbor list builds = 268 +Dangerous builds = 0 + +Total wall time: 0:00:38 diff --git a/examples/body/log.9Jul18.body.cubes.g++.4 b/examples/body/log.9Jul18.body.cubes.g++.4 new file mode 100644 index 0000000000..e2407e9725 --- /dev/null +++ b/examples/body/log.9Jul18.body.cubes.g++.4 @@ -0,0 +1,125 @@ +LAMMPS (29 Jun 2018) +# 3d rounded cubes + +variable r index 3 +variable steps index 10000 + +units lj +dimension 3 + +atom_style body rounded/polyhedron 1 10 + +read_data data.cubes + orthogonal box = (0 0 0) to (6 6 6) + 1 by 2 by 2 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r $r +replicate 3 $r $r +replicate 3 3 $r +replicate 3 3 3 + orthogonal box = (0 0 0) to (18 18 18) + 1 by 2 by 2 MPI processor grid + 54 atoms + Time spent = 0.00103807 secs + +velocity all create 1.2 187287 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 1 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 1 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +fix 1 all nvt/body temp 1.2 1.2 0.1 +#fix 1 all npt/body temp 1.2 1.2 0.1 iso 0.002 0.02 1.0 + +compute p2 all pressure 1_temp + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 1000 dump.* index c_1[1] c_1[2] c_1[3] c_1[4] + +#dump 2 all image 1000 image.*.jpg type type # zoom 1.5 adiam 1.5 body type 0 0 view 60 15 +#dump_modify 2 pad 6 + +thermo_style custom step ke pe etotal c_p2 c_1_temp + +thermo 1000 + +run ${steps} +run 10000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 3.9641 + ghost atom cutoff = 3.9641 + binsize = 1.98205, bins = 10 10 10 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polyhedron, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.879 | 5.068 | 5.256 Mbytes +Step KinEng PotEng TotEng c_p2 c_1_temp + 0 1.7666667 0 1.7666667 0.01090535 0.59439252 + 1000 3.1462962 0.17392649 3.3202227 0.02361912 1.1654694 + 2000 2.9311648 0.13836102 3.0695258 0.021748224 1.1950624 + 3000 3.090491 0.16511199 3.255603 0.018691142 1.23672 + 4000 2.7401565 0.17792155 2.9180781 0.015093853 1.1180839 + 5000 3.0880849 0.17587085 3.2639557 0.030563042 1.2831154 + 6000 3.2180776 0.19732251 3.4154001 0.028338151 1.258839 + 7000 2.9514882 0.25088882 3.202377 0.025296925 1.1746326 + 8000 3.0101226 0.28825968 3.2983823 0.027273454 1.2138056 + 9000 3.0164253 0.1901733 3.2065986 0.033228915 1.3095914 + 10000 2.3780401 0.34082434 2.7188644 0.031838531 1.0208679 +Loop time of 20.5306 on 4 procs for 10000 steps with 54 atoms + +Performance: 42083.509 tau/day, 487.078 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 7.5288 | 10.878 | 19.952 | 159.0 | 52.98 +Neigh | 0.0014424 | 0.0016552 | 0.0021195 | 0.7 | 0.01 +Comm | 0.50623 | 9.5805 | 12.93 | 169.4 | 46.66 +Output | 0.00011921 | 0.00014341 | 0.00021386 | 0.0 | 0.00 +Modify | 0.044663 | 0.047684 | 0.05382 | 1.6 | 0.23 +Other | | 0.023 | | | 0.11 + +Nlocal: 13.5 ave 17 max 9 min +Histogram: 1 0 0 1 0 0 0 0 1 1 +Nghost: 63.5 ave 68 max 58 min +Histogram: 1 0 0 1 0 0 0 0 0 2 +Neighs: 25 ave 38 max 6 min +Histogram: 1 0 0 0 0 1 0 0 1 1 + +Total # of neighbors = 100 +Ave neighs/atom = 1.85185 +Neighbor list builds = 268 +Dangerous builds = 0 + +Total wall time: 0:00:20 diff --git a/examples/body/log.9Jul18.body.pour3d.g++.1 b/examples/body/log.9Jul18.body.pour3d.g++.1 new file mode 100644 index 0000000000..213dd2e18f --- /dev/null +++ b/examples/body/log.9Jul18.body.pour3d.g++.1 @@ -0,0 +1,138 @@ +LAMMPS (29 Jun 2018) +# pouring 3d rounded polyhedron bodies + +variable steps index 6000 + +units lj +boundary p p fm +comm_modify vel yes + +atom_style body rounded/polyhedron 1 8 +atom_modify map array + +region reg block 0 50 0 50 0 50 units box +create_box 4 reg +Created orthogonal box = (0 0 0) to (50 50 50) + 1 by 1 by 1 MPI processor grid + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 5 +variable c_n equal 20 +variable c_t equal 5 +variable mu equal 0 +variable A_ua equal 1 + +pair_style body/rounded/polyhedron ${c_n} ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 ${c_t} ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 ${mu} ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 ${A_ua} ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 ${cut_inner} +pair_style body/rounded/polyhedron 20 5 0 1 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 5 + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +fix 1 all nve/body +fix 2 all gravity 1.0 spherical 0.0 -180.0 + +molecule object molecule.cube molecule.tetra toff 1 molecule.rod3d toff 2 molecule.point3d toff 3 +Read molecule object: + 1 atoms with max type 1 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +Read molecule object: + 1 atoms with max type 2 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +Read molecule object: + 1 atoms with max type 3 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 +Read molecule object: + 1 atoms with max type 4 + 0 bonds with max type 0 + 0 angles with max type 0 + 0 dihedrals with max type 0 + 0 impropers with max type 0 + +region slab block 5 45 5 45 25 35 units box +fix ins all pour 500 0 4767548 vol 0.4 10 region slab mol object molfrac 0.25 0.25 0.25 0.25 +Particle insertion: 134 every 4472 steps, 500 by step 13417 + +fix 4 all wall/body/polyhedron 2000 50 50 zplane 0.0 NULL + +#compute 1 all body/local type 1 2 3 +#dump 1 all local 1000 dump.polyhedron index c_1[1] c_1[2] c_1[3] c_1[4] +#dump 10 all custom 1000 tmp.dump id type x y z radius + +thermo_style custom step atoms ke pe etotal press + +thermo 1000 + +#dump 2 all image 500 image.*.jpg type type # zoom 1.5 adiam 1.5 body type 0 0 view 75 15 +#dump_modify 2 pad 6 + +run ${steps} +run 6000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 5 + ghost atom cutoff = 5 + binsize = 2.5, bins = 20 20 20 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polyhedron, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/3d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 0.5065 | 0.5065 | 0.5065 Mbytes +Step Atoms KinEng PotEng TotEng Press + 0 0 -0 0 0 0 + 1000 134 -0 0.00083010524 0.00083010524 -2.1515152e-06 + 2000 134 -0 -0.00069962476 -0.00069962476 -1.4170663e-08 + 3000 134 -0 -0.00069962687 -0.00069962687 -4.1478181e-11 + 4000 134 -0 -0.00069962687 -0.00069962687 -1.2141026e-13 + 5000 268 -0 0.014969705 0.014969705 3.0797164e-05 + 6000 268 -0 0.042467887 0.042467887 0.00056148005 +Loop time of 0.634737 on 1 procs for 6000 steps with 268 atoms + +Performance: 816716.196 tau/day, 9452.734 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.41391 | 0.41391 | 0.41391 | 0.0 | 65.21 +Neigh | 0.010547 | 0.010547 | 0.010547 | 0.0 | 1.66 +Comm | 0.0030921 | 0.0030921 | 0.0030921 | 0.0 | 0.49 +Output | 0.00011492 | 0.00011492 | 0.00011492 | 0.0 | 0.02 +Modify | 0.19736 | 0.19736 | 0.19736 | 0.0 | 31.09 +Other | | 0.009719 | | | 1.53 + +Nlocal: 268 ave 268 max 268 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 3 ave 3 max 3 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 68 ave 68 max 68 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 68 +Ave neighs/atom = 0.253731 +Neighbor list builds = 168 +Dangerous builds = 0 + + +Total wall time: 0:00:00 diff --git a/examples/body/log.9Jul18.body.squares.g++.1 b/examples/body/log.9Jul18.body.squares.g++.1 new file mode 100644 index 0000000000..7b539797bd --- /dev/null +++ b/examples/body/log.9Jul18.body.squares.g++.1 @@ -0,0 +1,221 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 1 by 1 by 1 MPI processor grid + 32 atoms + Time spent = 0.00020504 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 1 +variable c_t equal 1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 0.1 1.0 couple xy fixedpoint 0 0 0 + +fix 2 all enforce2d + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.781 | 4.781 | 4.781 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.39423376 0.0017918048 0.39602557 0.0021941612 + 2000 0.42284177 0.01346585 0.43630762 0.0029377883 + 3000 0.58154405 0.011321689 0.59286574 0.003667871 + 4000 0.73518304 0.034603175 0.76978621 0.0018689207 + 5000 0.84367476 0.025292163 0.86896692 0.0089161373 + 6000 0.70803236 0.0085631016 0.71659546 0.0045552895 + 7000 0.56206452 0.10453031 0.66659483 0.010255161 + 8000 0.64538994 0.088817673 0.73420761 0.0037633655 + 9000 0.90540819 0.063696004 0.96910419 0.0077673359 + 10000 0.68632042 0.093265016 0.77958544 0.0057864838 + 11000 0.59118074 0.025654748 0.61683549 0.012518759 + 12000 0.67522767 0.038176401 0.71340407 0.01741153 + 13000 0.7644843 0.10429844 0.86878274 0.013161339 + 14000 0.56152694 0.067836655 0.62936359 0.016852121 + 15000 0.41895506 0.019513348 0.43846841 0.015225695 + 16000 0.55799421 0.1564559 0.71445011 0.011703561 + 17000 0.59391964 0.034450221 0.62836986 0.026215002 + 18000 0.75911858 0.030885726 0.7900043 0.018396366 + 19000 0.64417995 0.12110912 0.76528907 0.010247952 + 20000 0.57751435 0.16965651 0.74717086 0.023392323 + 21000 0.7613368 0.13405354 0.89539034 0.021498982 + 22000 0.57676692 0.18011879 0.75688571 0.024469161 + 23000 0.54043723 0.11842026 0.65885749 0.019799067 + 24000 0.62276061 0.038967924 0.66172853 0.019080086 + 25000 0.53157536 0.11651937 0.64809473 0.017019298 + 26000 0.72213293 0.039012448 0.76114538 0.015434904 + 27000 0.62157832 0.13697494 0.75855326 0.028711011 + 28000 0.41323738 0.16301101 0.57624839 0.041792632 + 29000 0.45774328 0.17569066 0.63343394 0.019975231 + 30000 0.78901796 0.099791386 0.88880934 0.024116947 + 31000 0.85205397 0.11977547 0.97182945 0.026667489 + 32000 0.37137095 0.1232622 0.49463315 0.00087637364 + 33000 0.26860871 0.26056381 0.52917252 0.036110517 + 34000 0.3018636 0.21336905 0.51523265 0.040315549 + 35000 0.39915129 0.28245957 0.68161085 0.034876856 + 36000 0.25761236 0.2352705 0.49288286 0.022772767 + 37000 0.1071233 0.31692858 0.42405188 0.017994666 + 38000 0.083729577 0.28473145 0.36846103 -0.0045370431 + 39000 0.070355565 0.26682083 0.33717639 0.017921556 + 40000 0.075894079 0.20077896 0.27667304 0.014873186 + 41000 0.05891028 0.15989064 0.21880092 0.025547873 + 42000 0.1225107 0.16583605 0.28834675 0.038842785 + 43000 0.17049189 0.14323991 0.3137318 0.029550161 + 44000 0.26823939 0.15208257 0.42032196 0.028113612 + 45000 0.10172203 0.1729706 0.27469264 -0.013769913 + 46000 0.14841355 0.19085074 0.33926429 -0.00073741985 + 47000 0.27654927 0.19097937 0.46752864 0.04021431 + 48000 0.53432331 0.080769923 0.61509323 0.029932845 + 49000 0.69111634 0.13064951 0.82176585 0.028985406 + 50000 0.24520806 0.18317453 0.42838258 0.05179746 + 51000 0.23541368 0.14281364 0.37822732 0.071884238 + 52000 0.25464996 0.095730242 0.3503802 0.034488204 + 53000 0.53677633 0.1058745 0.64265084 0.059932498 + 54000 0.32970921 0.27979128 0.60950049 0.062869716 + 55000 0.49094054 0.096735015 0.58767556 0.04728005 + 56000 0.54398249 0.2216472 0.76562969 0.056712022 + 57000 0.60869068 0.2338422 0.84253288 0.077143302 + 58000 0.72175509 0.18687368 0.90862877 0.019357656 + 59000 0.79442757 0.092502981 0.88693055 0.066882632 + 60000 0.6810555 0.077699385 0.75875488 0.095975173 + 61000 0.63178834 0.05071143 0.68249977 0.043586668 + 62000 0.76589344 0.044615704 0.81050914 0.085718411 + 63000 0.84815889 0.030527848 0.87868674 0.053072795 + 64000 0.7309043 0.051938637 0.78284294 0.058887766 + 65000 0.62498816 0.034474465 0.65946262 0.068446407 + 66000 0.69817494 0.068546004 0.76672094 0.062634433 + 67000 0.86444275 0.010184259 0.87462701 0.073635055 + 68000 0.77820319 0.0079319524 0.78613515 0.090330925 + 69000 0.56938919 0.0092629332 0.57865213 0.061838729 + 70000 0.61870712 0.010047381 0.6287545 0.066501338 + 71000 0.71651803 0.0088366199 0.72535465 0.079136316 + 72000 0.76278925 0.008828151 0.77161741 0.063672771 + 73000 0.75447428 0.0083985526 0.76287283 0.078256913 + 74000 0.66185251 0.0091910052 0.67104351 0.069840511 + 75000 0.58458829 0.0097671568 0.59435544 0.076123422 + 76000 0.7487564 0.0100022 0.7587586 0.076171741 + 77000 0.89505465 0.009250681 0.90430533 0.074921699 + 78000 0.73738164 0.0092029279 0.74658457 0.078835344 + 79000 0.65735281 0.010099528 0.66745233 0.077940627 + 80000 0.70247542 0.010306464 0.71278189 0.079560093 + 81000 0.74839505 0.010199092 0.75859415 0.080835104 + 82000 0.75193767 0.010274058 0.76221173 0.081086684 + 83000 0.71392598 0.010495573 0.72442156 0.082746145 + 84000 0.58498928 0.011027388 0.59601667 0.08356465 + 85000 0.59022869 0.011729474 0.60195817 0.084519397 + 86000 0.81753578 0.011208964 0.82874475 0.085490261 + 87000 0.83480682 0.010542579 0.8453494 0.086268527 + 88000 0.67322538 0.011170734 0.68439611 0.08751623 + 89000 0.62637389 0.012033316 0.6384072 0.088548094 + 90000 0.92828557 0.011750388 0.94003596 0.089199823 + 91000 0.96072564 0.010324509 0.97105015 0.090204803 + 92000 0.72105071 0.011484152 0.73253486 0.09140819 + 93000 0.65762527 0.012558219 0.67018349 0.092453474 + 94000 0.73991591 0.01261909 0.752535 0.093373477 + 95000 0.91791653 0.011980455 0.92989699 0.094182136 + 96000 0.76562561 0.011807085 0.7774327 0.095323684 + 97000 0.57292104 0.013610205 0.58653124 0.096505977 + 98000 0.68141076 0.013863204 0.69527396 0.097380069 + 99000 0.82390969 0.013002341 0.83691203 0.098235926 + 100000 0.77639728 0.012989342 0.78938662 0.099274147 +Loop time of 3.88899 on 1 procs for 100000 steps with 32 atoms + +Performance: 2221655.884 tau/day, 25713.610 timesteps/s +99.9% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 3.056 | 3.056 | 3.056 | 0.0 | 78.58 +Neigh | 0.0051048 | 0.0051048 | 0.0051048 | 0.0 | 0.13 +Comm | 0.091444 | 0.091444 | 0.091444 | 0.0 | 2.35 +Output | 0.0011995 | 0.0011995 | 0.0011995 | 0.0 | 0.03 +Modify | 0.69909 | 0.69909 | 0.69909 | 0.0 | 17.98 +Other | | 0.03616 | | | 0.93 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 21 ave 21 max 21 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 57 ave 57 max 57 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 57 +Ave neighs/atom = 1.78125 +Neighbor list builds = 1445 +Dangerous builds = 0 +Total wall time: 0:00:03 diff --git a/examples/body/log.9Jul18.body.squares.g++.4 b/examples/body/log.9Jul18.body.squares.g++.4 new file mode 100644 index 0000000000..56d7734b7b --- /dev/null +++ b/examples/body/log.9Jul18.body.squares.g++.4 @@ -0,0 +1,221 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 2 by 2 by 1 MPI processor grid + 32 atoms + Time spent = 0.000324011 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 1 +variable c_t equal 1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 1 1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 $P 1.0 couple xy fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 y 0.001 0.1 1.0 couple xy fixedpoint 0 0 0 + +fix 2 all enforce2d + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.774 | 4.774 | 4.774 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.39423376 0.0017918048 0.39602557 0.0021941612 + 2000 0.42284177 0.01346585 0.43630762 0.0029377883 + 3000 0.58154405 0.011321689 0.59286574 0.003667871 + 4000 0.73518304 0.034603175 0.76978621 0.0018689207 + 5000 0.84367476 0.025292163 0.86896692 0.0089161373 + 6000 0.70803236 0.0085631016 0.71659546 0.0045552895 + 7000 0.56206452 0.10453031 0.66659483 0.010255161 + 8000 0.64538994 0.088817673 0.73420761 0.0037633655 + 9000 0.90540819 0.063696004 0.96910419 0.0077673359 + 10000 0.68632042 0.093265016 0.77958544 0.0057864837 + 11000 0.59118074 0.025654748 0.61683549 0.012518759 + 12000 0.67522767 0.038176401 0.71340407 0.01741153 + 13000 0.7644843 0.10429844 0.86878274 0.013161339 + 14000 0.56152694 0.067836656 0.6293636 0.016852113 + 15000 0.41895505 0.019513353 0.43846841 0.015225696 + 16000 0.55799443 0.15645637 0.7144508 0.011703646 + 17000 0.59385248 0.03451986 0.62837234 0.025482966 + 18000 0.75902169 0.031103586 0.79012527 0.018263354 + 19000 0.64266826 0.12535314 0.76802141 0.014884119 + 20000 0.57836261 0.16581188 0.74417449 0.024667165 + 21000 0.78281936 0.11877527 0.90159464 -0.0090089213 + 22000 0.5312006 0.13300874 0.66420934 0.025797278 + 23000 0.56458861 0.084369128 0.64895774 0.024630917 + 24000 0.65126875 0.06122992 0.71249867 0.034377198 + 25000 0.55173441 0.15694886 0.70868327 0.021634086 + 26000 0.59121615 0.17071182 0.76192797 0.024758366 + 27000 0.6394843 0.17442949 0.81391378 0.034919937 + 28000 0.31144221 0.41243036 0.72387256 0.074115225 + 29000 0.13516917 0.3075419 0.44271107 0.023861298 + 30000 0.14094934 0.24407203 0.38502137 0.037030438 + 31000 0.26313749 0.087395422 0.35053291 0.042347005 + 32000 0.51602457 0.063012079 0.57903664 0.018550299 + 33000 0.55628829 0.200213 0.75650129 0.026507686 + 34000 0.97399408 0.082504517 1.0564986 0.037889878 + 35000 0.64710533 0.17662002 0.82372535 0.058295508 + 36000 0.45769083 0.08241194 0.54010277 0.014957415 + 37000 0.72850105 0.053874061 0.78237512 0.037194593 + 38000 0.44177995 0.28939498 0.73117493 0.045194029 + 39000 0.46828451 0.077630686 0.54591519 0.089849009 + 40000 0.46786451 0.092828423 0.56069294 0.028042052 + 41000 0.71861856 0.097085715 0.81570427 0.036473296 + 42000 0.74121021 0.10553127 0.84674148 0.054058843 + 43000 0.62945489 0.12770673 0.75716161 0.047267994 + 44000 0.49900638 0.085150056 0.58415644 0.054798793 + 45000 0.70199572 0.063415877 0.7654116 0.038363546 + 46000 0.49513142 0.10649384 0.60162526 0.059392561 + 47000 0.3858898 0.079458749 0.46534855 0.051825764 + 48000 0.62585854 0.028585902 0.65444444 0.054074424 + 49000 0.65934482 0.51865062 1.1779954 -0.035272836 + 50000 0.5420438 0.082056756 0.62410056 0.031187494 + 51000 0.36685223 0.14224019 0.50909241 0.073790397 + 52000 0.19044627 0.15368389 0.34413016 0.059034266 + 53000 0.26847678 0.075693324 0.3441701 0.032276915 + 54000 0.3593711 0.19034549 0.54971659 0.070827883 + 55000 0.21659198 0.1929074 0.40949939 0.035916364 + 56000 0.28242715 0.12313241 0.40555956 0.062083926 + 57000 0.34067475 0.14711992 0.48779467 0.059321458 + 58000 0.4842796 0.16143425 0.64571385 0.059048247 + 59000 0.84438871 0.076546849 0.92093556 0.048046901 + 60000 0.92794849 0.054331626 0.98228012 0.058392272 + 61000 0.6916736 0.076168342 0.76784194 0.058654987 + 62000 0.63317965 0.094506389 0.72768604 0.061044719 + 63000 0.63317266 0.038785593 0.67195825 0.097236147 + 64000 0.81696668 0.121811 0.93877769 0.064935373 + 65000 0.82644758 0.25188344 1.078331 0.093352359 + 66000 0.64975019 0.17930857 0.82905876 0.058805254 + 67000 0.63487678 0.16877059 0.80364737 0.070254696 + 68000 0.79140717 0.11631004 0.9077172 0.064646394 + 69000 0.85687272 0.057835331 0.91470805 0.071057291 + 70000 0.67785976 0.040686768 0.71854653 0.074687222 + 71000 0.60594577 0.032193155 0.63813893 0.069349268 + 72000 0.77586745 0.024068533 0.79993598 0.083394193 + 73000 0.88877625 0.025746326 0.91452258 0.081511105 + 74000 0.73507888 0.036574786 0.77165367 0.075360233 + 75000 0.68787782 0.042098622 0.72997644 0.068651098 + 76000 0.72515745 0.04360868 0.76876613 0.069594624 + 77000 0.77580944 0.041826702 0.81763614 0.071937144 + 78000 0.76640394 0.039285046 0.80568899 0.074274921 + 79000 0.62504309 0.039593585 0.66463667 0.076443295 + 80000 0.60001642 0.043468215 0.64348464 0.094547719 + 81000 0.82175037 0.045608873 0.86735924 0.080186295 + 82000 0.85783276 0.042692576 0.90052534 0.081576548 + 83000 0.71367707 0.042172193 0.75584926 0.08256625 + 84000 0.68532406 0.044724759 0.73004882 0.083672013 + 85000 0.72576789 0.046982462 0.77275035 0.084789331 + 86000 0.75597701 0.04765086 0.80362787 0.085758056 + 87000 0.74190598 0.047629096 0.78953507 0.086679976 + 88000 0.60967704 0.049906172 0.65958321 0.085526191 + 89000 0.54490288 0.054768238 0.59967112 0.090604027 + 90000 0.75398341 0.057153453 0.81113686 0.091900858 + 91000 0.84577472 0.052753512 0.89852823 0.091913909 + 92000 0.7176235 0.050677427 0.76830093 0.092032507 + 93000 0.61699446 0.054097013 0.67109147 0.092071275 + 94000 0.76330752 0.057398618 0.82070614 0.092435043 + 95000 0.98754458 0.053801311 1.0413459 0.093526707 + 96000 0.7405897 0.052135628 0.79272533 0.095011929 + 97000 0.65587599 0.057011962 0.71288795 0.096692123 + 98000 0.72345634 0.060700171 0.78415651 0.097510345 + 99000 0.88283624 0.061795247 0.94463149 0.09799633 + 100000 0.86303812 0.058912988 0.92195111 0.09892993 +Loop time of 2.80074 on 4 procs for 100000 steps with 32 atoms + +Performance: 3084895.573 tau/day, 35704.810 timesteps/s +99.9% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.81169 | 0.89466 | 0.97669 | 8.4 | 31.94 +Neigh | 0.0017524 | 0.0018129 | 0.0018773 | 0.1 | 0.06 +Comm | 0.91307 | 0.99193 | 1.0691 | 7.3 | 35.42 +Output | 0.00076914 | 0.00093722 | 0.0013936 | 0.0 | 0.03 +Modify | 0.75335 | 0.75779 | 0.76346 | 0.4 | 27.06 +Other | | 0.1536 | | | 5.48 + +Nlocal: 8 ave 10 max 4 min +Histogram: 1 0 0 0 0 0 1 0 0 2 +Nghost: 17.25 ave 19 max 15 min +Histogram: 1 0 1 0 0 0 0 0 0 2 +Neighs: 13.5 ave 21 max 5 min +Histogram: 1 0 0 0 1 0 1 0 0 1 + +Total # of neighbors = 54 +Ave neighs/atom = 1.6875 +Neighbor list builds = 1443 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/body/log.9Jul18.body.wall2d.g++.1 b/examples/body/log.9Jul18.body.wall2d.g++.1 new file mode 100644 index 0000000000..f22c366380 --- /dev/null +++ b/examples/body/log.9Jul18.body.wall2d.g++.1 @@ -0,0 +1,223 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 1 by 1 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 1 by 1 by 1 MPI processor grid + 32 atoms + Time spent = 0.00029707 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +change_box all boundary p f p + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 fixedpoint 0 0 0 + +fix 2 all enforce2d +fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.771 | 4.771 | 4.771 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.49241101 0.0031318767 0.49554289 0.017768281 + 2000 0.56118632 0.0026068888 0.56379321 0.003410416 + 3000 0.75565115 0.025578366 0.78122951 0.0071862988 + 4000 0.72298647 0.093150646 0.81613712 0.003190158 + 5000 0.51684166 0.049164868 0.56600653 0.0096960168 + 6000 0.56627905 0.048132853 0.6144119 0.020733586 + 7000 0.58122129 0.018223718 0.59944501 0.0038160759 + 8000 0.64297977 0.025934821 0.66891459 0.0041091784 + 9000 0.41748404 0.0077890042 0.42527305 0.0039270065 + 10000 0.35738377 0.078487805 0.43587158 3.9079782e-05 + 11000 0.41529308 0.13619284 0.55148592 -0.0067482285 + 12000 0.43274718 0.071315497 0.50406268 0.007006378 + 13000 0.4748331 0.069904647 0.54473775 0.0010384372 + 14000 0.6287791 0.12721033 0.75598943 0.0047792448 + 15000 0.4692413 0.12344005 0.59268136 0.018033616 + 16000 0.43157074 0.14306789 0.57463862 0.042356676 + 17000 0.53085999 0.22126296 0.75212294 0.027509646 + 18000 0.52688968 0.13225282 0.6591425 0.0021558013 + 19000 0.55032328 0.12513047 0.67545375 0.025036251 + 20000 0.48465097 0.1431055 0.62775647 0.017193781 + 21000 0.53166734 0.21928574 0.75095307 0.011564317 + 22000 0.62177353 0.09296159 0.71473512 0.017660922 + 23000 0.6972939 0.12434123 0.82163514 0.024432327 + 24000 0.42767372 0.22152311 0.64919684 -0.013712449 + 25000 0.4816037 0.19272865 0.67433236 0.052386055 + 26000 0.72642579 0.19697046 0.92339625 0.020407694 + 27000 0.39649144 0.15058326 0.5470747 0.023705766 + 28000 0.44896324 0.18500106 0.6339643 -0.0089410286 + 29000 0.5565759 0.11085772 0.66743362 0.048437166 + 30000 0.58173584 0.21773281 0.79946865 0.0057357773 + 31000 0.49199415 0.23601982 0.72801397 0.046744152 + 32000 0.55665496 0.20542161 0.76207658 -0.0038756805 + 33000 0.62730739 0.24460524 0.87191263 0.045330682 + 34000 0.58107044 0.16395278 0.74502322 -0.0049496051 + 35000 0.56838849 0.21842922 0.78681771 0.0062086036 + 36000 0.45910273 0.28464172 0.74374445 -0.011700747 + 37000 0.37092037 0.27646862 0.647389 0.022305679 + 38000 0.7278047 0.30674438 1.0345491 0.07698342 + 39000 0.5132923 0.27395066 0.78724295 0.026898634 + 40000 0.62348649 0.24424644 0.86773293 0.039403899 + 41000 0.3658401 0.15512326 0.52096337 0.022559003 + 42000 0.4912253 0.35712978 0.84835508 -0.010336341 + 43000 0.70225957 0.36314638 1.0654059 0.004148866 + 44000 0.56958157 0.25488927 0.82447084 0.067537066 + 45000 0.45854352 0.30149439 0.76003791 -0.017002401 + 46000 0.62787247 0.34567995 0.97355242 0.11894801 + 47000 0.61348914 0.29378625 0.90727539 0.067873976 + 48000 0.71301829 0.34135284 1.0543711 0.021077736 + 49000 0.53520804 0.30593196 0.84113999 0.0059257647 + 50000 0.44966403 0.35370793 0.80337195 0.0020395669 + 51000 0.5236113 0.32296924 0.84658054 -0.051011506 + 52000 0.53905573 0.351771 0.89082672 0.013720106 + 53000 0.55978158 0.41293947 0.97272106 0.068558589 + 54000 0.52170459 0.2718066 0.7935112 0.0093138985 + 55000 0.61078876 0.43353897 1.0443277 0.045377392 + 56000 0.51300655 0.33182278 0.84482933 -0.018418487 + 57000 0.54882822 0.38380093 0.93262915 0.10249946 + 58000 0.72106212 0.45361279 1.1746749 0.030313481 + 59000 0.55871447 0.63823029 1.1969448 0.019079703 + 60000 0.49395192 0.58283102 1.0767829 0.0179349 + 61000 0.45991079 0.62540573 1.0853165 0.074398804 + 62000 0.4655788 0.60862262 1.0742014 0.11472976 + 63000 0.55634524 0.63069255 1.1870378 -0.0025676135 + 64000 0.57688903 0.45435264 1.0312417 0.0083813852 + 65000 0.57168922 0.42217005 0.99385927 0.044931269 + 66000 0.6206044 0.46727538 1.0878798 0.019686229 + 67000 0.61037155 0.41840109 1.0287726 0.0195109 + 68000 0.63848598 0.41305347 1.0515395 0.072940144 + 69000 0.49244916 0.3834095 0.87585866 0.07963677 + 70000 0.41847062 0.51907975 0.93755037 0.18447904 + 71000 0.45198986 0.52973709 0.98172695 0.078419371 + 72000 0.47064262 0.37808165 0.84872427 -0.00046308054 + 73000 0.6690143 0.37549359 1.0445079 0.061208432 + 74000 0.60444955 0.33779636 0.94224592 -0.068840321 + 75000 0.61762382 0.3916421 1.0092659 0.16253292 + 76000 0.63657961 0.50277989 1.1393595 0.013857508 + 77000 0.52524028 0.43597896 0.96121924 -0.03296482 + 78000 0.43803533 0.33172284 0.76975817 0.078763029 + 79000 0.67156089 0.55272177 1.2242827 0.080822223 + 80000 0.68678238 0.46061627 1.1473987 0.0027036992 + 81000 0.64956678 0.44959229 1.0991591 0.11201483 + 82000 0.51060477 0.43508342 0.9456882 0.028000608 + 83000 0.59550548 0.69026083 1.2857663 -0.0015809004 + 84000 0.64222145 0.38768816 1.0299096 0.014153173 + 85000 0.7661229 0.43445261 1.2005755 0.048034534 + 86000 0.60025257 0.53027929 1.1305319 0.0056865157 + 87000 0.46220939 0.47470035 0.93690974 0.075311946 + 88000 0.54123847 0.62899839 1.1702369 0.13260162 + 89000 0.61212272 0.6114241 1.2235468 0.033284822 + 90000 0.63924773 0.6916249 1.3308726 0.045088296 + 91000 0.49316865 0.51037033 1.003539 0.023203598 + 92000 0.57572123 0.43496319 1.0106844 0.297092 + 93000 0.65187559 0.56815972 1.2200353 0.1538215 + 94000 0.64107331 0.58948521 1.2305585 0.031117778 + 95000 0.64584158 0.6364688 1.2823104 0.096154676 + 96000 0.60509093 0.601487 1.2065779 0.03457172 + 97000 0.68837218 0.77974186 1.468114 0.17801164 + 98000 0.62725266 0.64137144 1.2686241 0.17449001 + 99000 0.46861221 0.67000291 1.1386151 0.2429588 + 100000 0.5879119 0.7140612 1.3019731 0.064634257 +Loop time of 2.50594 on 1 procs for 100000 steps with 32 atoms + +Performance: 3447804.126 tau/day, 39905.140 timesteps/s +100.0% CPU use with 1 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 1.5639 | 1.5639 | 1.5639 | 0.0 | 62.41 +Neigh | 0.0086911 | 0.0086911 | 0.0086911 | 0.0 | 0.35 +Comm | 0.058926 | 0.058926 | 0.058926 | 0.0 | 2.35 +Output | 0.0012379 | 0.0012379 | 0.0012379 | 0.0 | 0.05 +Modify | 0.83537 | 0.83537 | 0.83537 | 0.0 | 33.34 +Other | | 0.03781 | | | 1.51 + +Nlocal: 32 ave 32 max 32 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Nghost: 20 ave 20 max 20 min +Histogram: 1 0 0 0 0 0 0 0 0 0 +Neighs: 57 ave 57 max 57 min +Histogram: 1 0 0 0 0 0 0 0 0 0 + +Total # of neighbors = 57 +Ave neighs/atom = 1.78125 +Neighbor list builds = 2705 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/examples/body/log.9Jul18.body.wall2d.g++.4 b/examples/body/log.9Jul18.body.wall2d.g++.4 new file mode 100644 index 0000000000..7239fd4dcd --- /dev/null +++ b/examples/body/log.9Jul18.body.wall2d.g++.4 @@ -0,0 +1,223 @@ +LAMMPS (29 Jun 2018) +# 2d rounded polygon bodies + +variable r index 4 +variable steps index 100000 +variable T index 0.5 +variable P index 0.1 +variable seed index 980411 + +units lj +dimension 2 + +atom_style body rounded/polygon 1 6 +atom_modify map array +read_data data.squares + orthogonal box = (0 0 -0.5) to (12 12 0.5) + 2 by 2 by 1 MPI processor grid + reading atoms ... + 2 atoms + 2 bodies + +replicate $r $r 1 +replicate 4 $r 1 +replicate 4 4 1 + orthogonal box = (0 0 -0.5) to (48 48 0.5) + 2 by 2 by 1 MPI processor grid + 32 atoms + Time spent = 0.000386 secs + +velocity all create $T ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 ${seed} dist gaussian mom yes rot yes +velocity all create 0.5 980411 dist gaussian mom yes rot yes + +change_box all boundary p f p + +variable cut_inner equal 0.5 +variable k_n equal 100 +variable k_na equal 2 +variable c_n equal 0.1 +variable c_t equal 0.1 +variable mu equal 0.1 +variable delta_ua equal 0.5 + +pair_style body/rounded/polygon ${c_n} ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 ${c_t} ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 ${mu} ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 ${delta_ua} ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 ${cut_inner} +pair_style body/rounded/polygon 0.1 0.1 0.1 0.5 0.5 +pair_coeff * * ${k_n} ${k_na} +pair_coeff * * 100 ${k_na} +pair_coeff * * 100 2 + +comm_modify vel yes + +neighbor 0.5 bin +neigh_modify every 1 delay 0 check yes + +timestep 0.001 + +#fix 1 all nve/body +#fix 1 all nvt/body temp $T $T 1.0 +fix 1 all npt/body temp $T $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 $T 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 $P 1.0 fixedpoint 0 0 0 +fix 1 all npt/body temp 0.5 0.5 1.0 x 0.001 0.1 1.0 fixedpoint 0 0 0 + +fix 2 all enforce2d +fix 3 all wall/body/polygon 2000 50 50 yplane 0.0 48.0 + +#compute 1 all body/local id 1 2 3 +#dump 1 all local 100000 dump.polygon.* index c_1[1] c_1[2] c_1[3] c_1[4] + +thermo_style custom step ke pe etotal press +thermo 1000 + +#dump 2 all image 10000 image.*.jpg type type zoom 2.0 # adiam 1.5 body type 0 0 +#dump_modify 2 pad 6 + +run ${steps} +run 100000 +Neighbor list info ... + update every 1 steps, delay 0 steps, check yes + max neighbors/atom: 2000, page size: 100000 + master list distance cutoff = 6.15685 + ghost atom cutoff = 6.15685 + binsize = 3.07843, bins = 16 16 1 + 1 neighbor lists, perpetual/occasional/extra = 1 0 0 + (1) pair body/rounded/polygon, perpetual + attributes: half, newton on + pair build: half/bin/atomonly/newton + stencil: half/bin/2d/newton + bin: standard +Per MPI rank memory allocation (min/avg/max) = 4.773 | 4.773 | 4.773 Mbytes +Step KinEng PotEng TotEng Press + 0 0.484375 0.25 0.734375 0.0067274306 + 1000 0.49241101 0.0031318767 0.49554289 0.017768281 + 2000 0.56118632 0.0026068888 0.56379321 0.003410416 + 3000 0.75565115 0.025578366 0.78122951 0.0071862988 + 4000 0.72298647 0.093150646 0.81613712 0.003190158 + 5000 0.51684166 0.049164868 0.56600653 0.0096960168 + 6000 0.56627905 0.048132853 0.6144119 0.020733586 + 7000 0.58122129 0.018223718 0.59944501 0.0038160759 + 8000 0.64297977 0.025934821 0.66891459 0.0041091784 + 9000 0.41748404 0.0077890042 0.42527305 0.0039270065 + 10000 0.35738377 0.078487805 0.43587158 3.9079865e-05 + 11000 0.41529307 0.13619284 0.55148591 -0.0067482285 + 12000 0.43274718 0.071315527 0.50406271 0.007006369 + 13000 0.4748324 0.069905666 0.54473807 0.0010385254 + 14000 0.62603727 0.098905625 0.7249429 0.0048876764 + 15000 0.44512086 0.10415235 0.54927321 0.01902062 + 16000 0.47460177 0.18053316 0.65513493 0.045013976 + 17000 0.52742676 0.10110706 0.62853382 0.013615471 + 18000 0.46111734 0.096118795 0.55723613 0.0073676834 + 19000 0.59668439 0.13652292 0.73320731 0.029403553 + 20000 0.46840192 0.11611719 0.58451911 -0.00034412499 + 21000 0.53550533 0.096457461 0.6319628 0.0019785732 + 22000 0.46599715 0.13206373 0.59806087 0.031970672 + 23000 0.49280776 0.20404726 0.69685501 0.03657433 + 24000 0.60901688 0.18255214 0.79156902 0.044955017 + 25000 0.47345185 0.13671357 0.61016542 0.020313539 + 26000 0.47653832 0.12448225 0.60102057 0.01878099 + 27000 0.50008212 0.24740634 0.74748845 0.021862639 + 28000 0.41627204 0.2519463 0.66821834 0.054683701 + 29000 0.55608273 0.23100212 0.78708485 -0.0043318497 + 30000 0.53884537 0.3001584 0.83900377 -0.012838186 + 31000 0.53036238 0.2300328 0.76039518 -0.0061688449 + 32000 0.42666792 0.20536256 0.63203048 0.045305282 + 33000 0.62908185 0.1652033 0.79428515 0.0072777588 + 34000 0.47028154 0.388736 0.85901754 0.04332288 + 35000 0.54602322 0.2775624 0.82358562 0.02898206 + 36000 0.59860544 0.21824655 0.81685199 0.0025936194 + 37000 0.62467827 0.11983499 0.74451326 0.050052743 + 38000 0.72594229 0.36584781 1.0917901 0.04280621 + 39000 0.51129656 0.23859043 0.74988699 0.050817447 + 40000 0.53263836 0.24212889 0.77476725 0.036245922 + 41000 0.50288088 0.36668283 0.86956371 0.018381415 + 42000 0.46653688 0.21974887 0.68628574 0.012661062 + 43000 0.61738785 0.32131037 0.93869821 0.012709433 + 44000 0.56603903 0.26515554 0.83119457 0.03315102 + 45000 0.56231638 0.32111693 0.88343331 0.06079756 + 46000 0.7096208 0.2570131 0.96663391 0.048770468 + 47000 0.588755 0.1880748 0.7768298 0.035962604 + 48000 0.56296339 0.25783519 0.82079858 0.053019928 + 49000 0.419885 0.42328618 0.84317118 0.038105269 + 50000 0.63073351 0.41426285 1.0449964 0.0015271048 + 51000 0.59357935 0.184222 0.77780136 0.015996218 + 52000 0.60608471 0.36247533 0.96856003 0.10984665 + 53000 0.5227842 0.27686739 0.79965159 0.02761699 + 54000 0.39435923 0.34197355 0.73633278 0.061183263 + 55000 0.46748455 0.34230903 0.80979358 0.077441382 + 56000 0.59819827 0.29212061 0.89031889 0.043772353 + 57000 0.61682559 0.32788566 0.94471124 0.03992069 + 58000 0.52702478 0.24891506 0.77593984 0.058480883 + 59000 0.66925719 0.4109031 1.0801603 0.072434423 + 60000 0.66807714 0.39233068 1.0604078 0.082370324 + 61000 0.5724275 0.43308567 1.0055132 0.0072945426 + 62000 0.49433556 0.38453743 0.87887299 0.0036097443 + 63000 0.57575143 0.54067119 1.1164226 0.073339638 + 64000 0.68045383 0.38246533 1.0629192 0.025314593 + 65000 0.59843527 0.42928622 1.0277215 -0.030096445 + 66000 0.60274797 0.50186417 1.1046121 0.069797184 + 67000 0.47450407 0.52689807 1.0014021 0.008758012 + 68000 0.5514135 0.64113187 1.1925454 0.093863314 + 69000 0.52008074 0.45749565 0.97757639 -0.066061381 + 70000 0.69042662 0.50416006 1.1945867 0.014128617 + 71000 0.63925854 0.35153425 0.9907928 -0.01134957 + 72000 0.52088835 0.47626986 0.99715821 0.10198133 + 73000 0.46333852 0.5515537 1.0148922 0.00060582772 + 74000 0.53481418 0.50409531 1.0389095 0.00919451 + 75000 0.67182749 0.50380162 1.1756291 0.043301985 + 76000 0.70492289 0.4112122 1.1161351 0.14880484 + 77000 0.59781817 0.50197661 1.0997948 -0.057111711 + 78000 0.51677429 0.4348232 0.95159749 -0.0074619446 + 79000 0.50663297 0.55000424 1.0566372 0.0052071216 + 80000 0.59392006 0.48394003 1.0778601 -0.018990234 + 81000 0.66323593 0.40358336 1.0668193 -0.02961345 + 82000 0.61596979 0.49177944 1.1077492 0.1314853 + 83000 0.63917554 0.61656584 1.2557414 0.11908351 + 84000 0.49305291 0.46161646 0.95466937 0.033558488 + 85000 0.52552044 0.54250555 1.068026 0.13015174 + 86000 0.55140914 0.38924725 0.94065638 0.047412499 + 87000 0.60952504 0.52603688 1.1355619 0.039230066 + 88000 0.50119735 0.547539 1.0487364 0.019659933 + 89000 0.40331401 0.50331134 0.90662535 -0.056906034 + 90000 0.47067839 0.51306911 0.9837475 0.11918166 + 91000 0.45564995 0.38693455 0.8425845 0.12040045 + 92000 0.64163032 0.34232532 0.98395564 0.0057051641 + 93000 0.70375593 0.53646186 1.2402178 0.16044241 + 94000 0.53378112 0.51971406 1.0534952 0.11389004 + 95000 0.47055342 0.50396004 0.97451346 0.079424215 + 96000 0.59543473 0.40204536 0.99748009 0.096813093 + 97000 0.64821917 0.50051728 1.1487365 0.054071312 + 98000 0.55723937 0.4945909 1.0518303 0.047316424 + 99000 0.56044424 0.50773312 1.0681774 0.0149959 + 100000 0.68254229 0.32704484 1.0095871 0.0069212661 +Loop time of 2.20043 on 4 procs for 100000 steps with 32 atoms + +Performance: 3926501.701 tau/day, 45445.622 timesteps/s +100.0% CPU use with 4 MPI tasks x no OpenMP threads + +MPI task timing breakdown: +Section | min time | avg time | max time |%varavg| %total +--------------------------------------------------------------- +Pair | 0.41008 | 0.41366 | 0.41719 | 0.4 | 18.80 +Neigh | 0.0027823 | 0.0030481 | 0.0034747 | 0.5 | 0.14 +Comm | 0.74581 | 0.7675 | 0.78684 | 2.0 | 34.88 +Output | 0.00082111 | 0.0010884 | 0.0016899 | 1.1 | 0.05 +Modify | 0.83828 | 0.85329 | 0.86656 | 1.4 | 38.78 +Other | | 0.1618 | | | 7.36 + +Nlocal: 8 ave 9 max 7 min +Histogram: 1 0 0 0 0 2 0 0 0 1 +Nghost: 12.75 ave 14 max 12 min +Histogram: 2 0 0 0 0 1 0 0 0 1 +Neighs: 11 ave 19 max 5 min +Histogram: 1 0 0 2 0 0 0 0 0 1 + +Total # of neighbors = 44 +Ave neighs/atom = 1.375 +Neighbor list builds = 2663 +Dangerous builds = 0 +Total wall time: 0:00:02 diff --git a/src/BODY/body_rounded_polygon.cpp b/src/BODY/body_rounded_polygon.cpp index d848a8fa95..1e232f0f3f 100644 --- a/src/BODY/body_rounded_polygon.cpp +++ b/src/BODY/body_rounded_polygon.cpp @@ -114,7 +114,7 @@ double BodyRoundedPolygon::enclosing_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2); - return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)); + return *(bonus->dvalue + 3*nsub(bonus) + 2*nsub(bonus)); } /* ---------------------------------------------------------------------- */ @@ -124,7 +124,7 @@ double BodyRoundedPolygon::rounded_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2+1); - return *(bonus->dvalue+3*nsub(bonus)+2*nsub(bonus)+1); + return *(bonus->dvalue + 3*nsub(bonus) + 2*nsub(bonus)+1); } /* ---------------------------------------------------------------------- */ diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index a26b6d0cbd..fb0be7c1be 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -132,7 +132,8 @@ double BodyRoundedPolyhedron::enclosing_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2); - return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)); + return *(bonus->dvalue+3*nsub(bonus) + 2*nedges(bonus) + + MAX_FACE_SIZE*nfaces(bonus)); } /* ---------------------------------------------------------------------- */ @@ -142,7 +143,8 @@ double BodyRoundedPolyhedron::rounded_radius(struct AtomVecBody::Bonus *bonus) int nvertices = bonus->ivalue[0]; if (nvertices == 1 || nvertices == 2) return *(bonus->dvalue+3*nsub(bonus)+2+1); - return *(bonus->dvalue+3*nsub(bonus)+2*nedges(bonus)+MAX_FACE_SIZE*nfaces(bonus)+1); + return *(bonus->dvalue+3*nsub(bonus) + 2*nedges(bonus) + + MAX_FACE_SIZE*nfaces(bonus)+1); } /* ---------------------------------------------------------------------- */ @@ -205,7 +207,8 @@ void BodyRoundedPolyhedron::data_body(int ibonus, int ninteger, int ndouble, // nsub == 1 || nsub == 2 || nsub == 3: // 6 for inertia + 3*nsub for vertex coords + 1 for rounded radius // nsub > 3: - // 6 for inertia + 3*nsub for vertex coords + 2*nsub for edges + 3*nfaces + 1 for rounded radius + // 6 for inertia + 3*nsub for vertex coords + 2*nsub for edges + + // 3*nfaces + 1 for rounded radius int nedges,nentries; if (nsub == 1 || nsub == 2) { diff --git a/src/BODY/fix_wall_body_polygon.cpp b/src/BODY/fix_wall_body_polygon.cpp index 72a60b22d0..5ec5a7cca8 100644 --- a/src/BODY/fix_wall_body_polygon.cpp +++ b/src/BODY/fix_wall_body_polygon.cpp @@ -58,7 +58,8 @@ FixWallBodyPolygon::FixWallBodyPolygon(LAMMPS *lmp, int narg, char **arg) : if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polygon command"); if (!atom->body_flag) - error->all(FLERR,"Fix wall/body/polygon requires atom style body/rounded/polygon"); + error->all(FLERR,"Fix wall/body/polygon requires " + "atom style body/rounded/polygon"); restart_peratom = 1; create_attribute = 1; @@ -182,7 +183,8 @@ void FixWallBodyPolygon::init() if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires " + "body style rounded/polygon"); bptr = (BodyRoundedPolygon *) avec->bptr; // set pairstyle from body/polygonular pair style @@ -828,4 +830,3 @@ void FixWallBodyPolygon::distance(const double* x2, const double* x1, + (x2[1] - x1[1]) * (x2[1] - x1[1]) + (x2[2] - x1[2]) * (x2[2] - x1[2])); } - diff --git a/src/BODY/fix_wall_body_polyhedron.cpp b/src/BODY/fix_wall_body_polyhedron.cpp index 879289ea42..17e9f0b8b5 100644 --- a/src/BODY/fix_wall_body_polyhedron.cpp +++ b/src/BODY/fix_wall_body_polyhedron.cpp @@ -58,7 +58,8 @@ FixWallBodyPolyhedron::FixWallBodyPolyhedron(LAMMPS *lmp, int narg, char **arg) if (narg < 7) error->all(FLERR,"Illegal fix wall/body/polyhedron command"); if (!atom->body_flag) - error->all(FLERR,"Fix wall/body/polyhedron requires atom style body/rounded/polyhedron"); + error->all(FLERR,"Fix wall/body/polyhedron requires " + "atom style body/rounded/polyhedron"); restart_peratom = 1; create_attribute = 1; @@ -189,7 +190,8 @@ void FixWallBodyPolyhedron::init() if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires " + "body style rounded/polyhedron"); bptr = (BodyRoundedPolyhedron *) avec->bptr; // set pairstyle from body/polyhedronular pair style @@ -941,4 +943,3 @@ void FixWallBodyPolyhedron::distance(const double* x2, const double* x1, + (x2[1] - x1[1]) * (x2[1] - x1[1]) + (x2[2] - x1[2]) * (x2[2] - x1[2])); } - diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index 22300091ae..c4c09fd677 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -276,8 +276,10 @@ void PairBodyRoundedPolygon::compute(int eflag, int vflag) // scale the force at both contacts - contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, evdwl, facc); - contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, evdwl, facc); + contact_forces(contact_list[m], j_a, x, v, angmom, f, torque, + evdwl, facc); + contact_forces(contact_list[n], j_a, x, v, angmom, f, torque, + evdwl, facc); done = 1; #ifdef _POLYGON_DEBUG @@ -285,16 +287,18 @@ void PairBodyRoundedPolygon::compute(int eflag, int vflag) m, n, delta_a, j_a); printf(" %d: vertex %d of body %d and edge %d of body %d; " "xv = %f %f %f; xe = %f %f %f\n", - m, contact_list[m].vertex, contact_list[m].ibody, - contact_list[m].edge, contact_list[m].jbody, - contact_list[m].xv[0], contact_list[m].xv[1], contact_list[m].xv[2], - contact_list[m].xe[0], contact_list[m].xe[1], contact_list[m].xe[2]); + m, contact_list[m].vertex, contact_list[m].ibody, + contact_list[m].edge, contact_list[m].jbody, + contact_list[m].xv[0], contact_list[m].xv[1], + contact_list[m].xv[2], contact_list[m].xe[0], + contact_list[m].xe[1], contact_list[m].xe[2]); printf(" %d: vertex %d of body %d and edge %d of body %d; " "xv = %f %f %f; xe = %f %f %f\n", - n, contact_list[n].vertex, contact_list[n].ibody, - contact_list[n].edge, contact_list[n].jbody, - contact_list[n].xv[0], contact_list[n].xv[1], contact_list[n].xv[2], - contact_list[n].xe[0], contact_list[n].xe[1], contact_list[n].xe[2]); + n, contact_list[n].vertex, contact_list[n].ibody, + contact_list[n].edge, contact_list[n].jbody, + contact_list[n].xv[0], contact_list[n].xv[1], + contact_list[n].xv[2], contact_list[n].xe[0], + contact_list[n].xe[1], contact_list[n].xe[2]); #endif break; @@ -417,13 +421,16 @@ void PairBodyRoundedPolygon::coeff(int narg, char **arg) void PairBodyRoundedPolygon::init_style() { avec = (AtomVecBody *) atom->style_match("body"); - if (!avec) error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); + if (!avec) + error->all(FLERR,"Pair body/rounded/polygon requires atom style body"); if (strcmp(avec->bptr->style,"rounded/polygon") != 0) - error->all(FLERR,"Pair body/rounded/polygon requires body style rounded/polygon"); + error->all(FLERR,"Pair body/rounded/polygon requires " + "body style rounded/polygon"); bptr = (BodyRoundedPolygon *) avec->bptr; if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polygon requires ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polygon requires " + "ghost atoms store velocity"); neighbor->request(this); @@ -850,7 +857,8 @@ int PairBodyRoundedPolygon::vertex_against_edge(int i, int j, #ifdef _CONVEX_POLYGON // done with the edges from body j, - // given that vertex ni interacts with only one vertex from one edge of body j + // given that vertex ni interacts with only one vertex + // from one edge of body j break; #endif diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 96307a0ab1..0d73d249b9 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -393,13 +393,16 @@ void PairBodyRoundedPolyhedron::coeff(int narg, char **arg) void PairBodyRoundedPolyhedron::init_style() { avec = (AtomVecBody *) atom->style_match("body"); - if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires atom style body"); + if (!avec) error->all(FLERR,"Pair body/rounded/polyhedron requires " + "atom style body"); if (strcmp(avec->bptr->style,"rounded/polyhedron") != 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires body style rounded/polyhedron"); + error->all(FLERR,"Pair body/rounded/polyhedron requires " + "body style rounded/polyhedron"); bptr = (BodyRoundedPolyhedron *) avec->bptr; if (comm->ghost_velocity == 0) - error->all(FLERR,"Pair body/rounded/polyhedron requires ghost atoms store velocity"); + error->all(FLERR,"Pair body/rounded/polyhedron requires " + "ghost atoms store velocity"); neighbor->request(this); @@ -788,7 +791,8 @@ void PairBodyRoundedPolyhedron::sphere_against_edge(int ibody, int jbody, fn[1] = -c_n * vn2; fn[2] = -c_n * vn3; - // tangential friction term at contact, excluding the tangential deformation term + // tangential friction term at contact, + // excluding the tangential deformation term ft[0] = -c_t * vt1; ft[1] = -c_t * vt2; @@ -997,7 +1001,8 @@ int PairBodyRoundedPolyhedron::edge_against_edge(int ibody, int jbody, // compute the distance between the edge nj to the edge ni #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between edge %d of body %d with edge %d of body %d:\n", + printf("Compute interaction between edge %d of body %d " + "with edge %d of body %d:\n", nj, jbody, ni, ibody); #endif @@ -1055,7 +1060,8 @@ int PairBodyRoundedPolyhedron::edge_against_face(int ibody, int jbody, // compute the distance between the face nj to the edge ni #ifdef _POLYHEDRON_DEBUG - printf("Compute interaction between face %d of body %d with edge %d of body %d:\n", + printf("Compute interaction between face %d of body %d with " + "edge %d of body %d:\n", nj, jbody, ni, ibody); #endif @@ -1293,7 +1299,8 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, xpj2[1] = xmj[1] + discrete[jfirst+npj2][1]; xpj2[2] = xmj[2] + discrete[jfirst+npj2][2]; - // no interaction if two ends of the edge are on the same side with the COM wrt the face + // no interaction if two ends of the edge + // are on the same side with the COM wrt the face if (opposite_sides(n, xi1, xmi, xpj1) == 0 && opposite_sides(n, xi1, xmi, xpj2) == 0) @@ -1305,7 +1312,9 @@ int PairBodyRoundedPolyhedron::interaction_face_to_edge(int ibody, int inside1 = 0; int inside2 = 0; - // enum {EF_PARALLEL=0,EF_SAME_SIDE_OF_FACE,EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + // enum {EF_PARALLEL=0,EF_SAME_SIDE_OF_FACE, + // EF_INTERSECT_INSIDE,EF_INTERSECT_OUTSIDE}; + int interact = edge_face_intersect(xi1, xi2, xi3, xpj1, xpj2, hi1, hi2, d1, d2, inside1, inside2); @@ -2310,7 +2319,8 @@ double PairBodyRoundedPolyhedron::contact_separation(const Contact& c1, find the number of unique contacts ------------------------------------------------------------------------- */ -void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, int& num_contacts) +void PairBodyRoundedPolyhedron::find_unique_contacts(Contact* contact_list, + int& num_contacts) { int n = num_contacts; for (int i = 0; i < n - 1; i++) { From 5124c9e9937049b252167eb2d790f358c61d3934 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 10 Jul 2018 16:53:26 -0500 Subject: [PATCH 17/29] Fixed bugs in body rounded/polydedra for correct size_border --- src/BODY/body_rounded_polyhedron.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/BODY/body_rounded_polyhedron.cpp b/src/BODY/body_rounded_polyhedron.cpp index fb0be7c1be..6a9b97ae23 100644 --- a/src/BODY/body_rounded_polyhedron.cpp +++ b/src/BODY/body_rounded_polyhedron.cpp @@ -48,13 +48,13 @@ BodyRoundedPolyhedron::BodyRoundedPolyhedron(LAMMPS *lmp, int narg, char **arg) size_forward = 0; - // 1 integer for number of vertices, + // 3 integers: 1 for no. of vertices, 1 for no. of edges, 1 for no. of faces // 3*nmax doubles for vertex coordinates + 2*nmax doubles for edge ends + // (MAX_FACE_SIZE+1)*nmax for faces // 1 double for the enclosing radius // 1 double for the rounded radius - size_border = 1 + 3*nmax + 2*nmax + MAX_FACE_SIZE*nmax + 1 + 1; + size_border = 3 + 3*nmax + 2*nmax + MAX_FACE_SIZE*nmax + 1 + 1; // NOTE: need to set appropriate nnbin param for dcp @@ -159,7 +159,7 @@ int BodyRoundedPolyhedron::pack_border_body(AtomVecBody::Bonus *bonus, double *b buf[2] = nfac; int ndouble; if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; - else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*ned+MAX_FACE_SIZE*nfac+1+1; memcpy(&buf[3],bonus->dvalue,ndouble*sizeof(double)); return 3+ndouble; } @@ -177,7 +177,7 @@ int BodyRoundedPolyhedron::unpack_border_body(AtomVecBody::Bonus *bonus, bonus->ivalue[2] = nfac; int ndouble; if (nsub == 1 || nsub == 2) ndouble = 3*nsub+2+MAX_FACE_SIZE*nfac+1+1; - else ndouble = 3*nsub+2*nedges(bonus)+MAX_FACE_SIZE*nfac+1+1; + else ndouble = 3*nsub+2*ned+MAX_FACE_SIZE*nfac+1+1; memcpy(bonus->dvalue,&buf[3],ndouble*sizeof(double)); return 3+ndouble; } From c3a32dde123042fb5bf21ec96a5c1635e0f23661 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Wed, 11 Jul 2018 00:21:49 -0500 Subject: [PATCH 18/29] Updated doc/body.txt for body rounded/polygon and rounded/polyhedron --- doc/src/body.txt | 77 +++++++++++++++++++++++++++++------------------- 1 file changed, 46 insertions(+), 31 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index c272f48ad1..0e64e6ad5b 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -36,7 +36,7 @@ thus how they can be used to compute pairwise body/body or bond/non-body (point particle) interactions. More details of each style are described below. -More styles ma be added in the future. See "Section +More styles may be added in the future. See "Section 10.12"_Section_modify.html#mod_12 for details on how to add a new body style to the code. @@ -182,7 +182,7 @@ The {rounded/polygon} body style represents body particles as a 2d polygon with a variable number of N vertices. This style can only be used for 2d models; see the "boundary"_boundary.html command. -NOTE: include a diagram of a a rounded polygon body particle +NOTE: include a diagram of a rounded polygon body particle Special cases for N = 1 (spheres) and N = 2 (rods) are also included. One use of this body style is for 2d discrete element models, as @@ -219,12 +219,11 @@ list 6 moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by 2N vertex indices corresponding to the end points of the N edges, followed by a single diameter value = the rounded diameter of the -circle that surrounds each vertex. These floating-point values can be +circle that surrounds each vertex. The diameter value can be different +for each body particle. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. -NOTE: can the diameter value be different for each body particle? - The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body around its center of mass. The values are with respect to the @@ -236,9 +235,9 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a square particle -whose edge length is sqrt(2): - -NOTE: oriented how? +whose edge length is sqrt(2) and rounded diameter is 1.0 in length unit +and initial orientation is determined from the 6 moments of inertia +(ixx iyy izz ixy ixz iyz): 3 1 27 4 @@ -268,13 +267,13 @@ polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the "boundary"_boundary.html command. -NOTE: include a diagram of a a rounded polyhedron body particle +NOTE: include a diagram of a rounded polyhedron body particle + +NOTE: 2d objects can also be specified as a special case, e.g. +for a triangle, N = 3, E = 3 and F = 1. Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. -NOTE: can 2d objects also be specified as a special case, e.g. a -triangle? - This body style is for 3d discrete element models, as described in "Wang"_#Wang. @@ -316,8 +315,9 @@ edges (E) and number of faces (F). The floating point line(s) list 6 moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values, followed by 2N vertex indices corresponding to the end points of the E edges, then 4*F vertex indices defining F -faces. The last value is the radius value = the rounded diameter of -the sphere that surrounds each vertex. These floating-point values +faces. The last value is the diameter value = the rounded diameter of +the sphere that surrounds each vertex. The diameter value can be different +for each body particle. These floating-point values can be listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. Because the maxmimum vertices per face is hard-coded to be 4 @@ -325,10 +325,9 @@ maxmimum vertices per face is hard-coded to be 4 split into triangles or quadrilaterals. For triangular faces, the last vertex index should be set to -1. -NOTE: is there some right-hand rule for the ordering of the 4 vertices -within each face? - -NOTE: can the diameter value be different for each body particle? +The ordering of the 4 vertices within a face should follow +the right-hand rule so that the normal vector of the face points +outwards from the center of mass. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body @@ -341,24 +340,40 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a cubic particle -whose edge length is 1.0: +whose edge length is 2.0 and rounded diameter is 0.5 in length unit +and initial orientation is determined from the 6 moments of inertia +(ixx iyy izz ixy ixz iyz): -NOTE: oriented how? - -NOTE: fill in these values correctly - -3 1 27 -4 -1 1 4 0 0 0 --0.7071 -0.7071 0 --0.7071 0.7071 0 -0.7071 0.7071 0 -0.7071 -0.7071 0 +1 3 79 +8 12 6 +0.667 0.667 0.667 0 0 0 +1 1 1 +1 -1 1 +-1 -1 1 +-1 1 1 +1 1 -1 +1 -1 -1 +-1 -1 -1 +-1 1 -1 0 1 1 2 2 3 3 0 -1.0 :pre +4 5 +5 6 +6 7 +7 4 +0 4 +1 5 +2 6 +3 7 +0 1 2 3 +4 5 6 7 +0 1 5 4 +1 2 6 5 +2 3 7 6 +3 0 4 7 +0.5 :pre :line From 21f749243a9e93da42a77a522af5801740c7daef Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Thu, 12 Jul 2018 10:21:06 -0500 Subject: [PATCH 19/29] Required newton on for pair styles body rounded/polygon and rounded/polyhedron --- doc/src/pair_body_rounded_polygon.txt | 3 --- doc/src/pair_body_rounded_polyhedron.txt | 3 --- src/BODY/pair_body_rounded_polygon.cpp | 4 ++++ src/BODY/pair_body_rounded_polyhedron.cpp | 4 ++++ 4 files changed, 8 insertions(+), 6 deletions(-) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 15817f10f8..5ef4a9104b 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -93,9 +93,6 @@ These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -NOTE: is there a newton on or off requirement for using this pair style? -If so, say something like this: - This pair style requires the "newton"_newton.html setting to be "on" for pair interactions. diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 29fa90d2cf..81c69fdd62 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -94,9 +94,6 @@ These pair styles are part of the BODY package. They are only enabled if LAMMPS was built with that package. See the "Making LAMMPS"_Section_start.html#start_3 section for more info. -NOTE: is there a newton on or off requirement for using this pair style? -If so, say something like this: - This pair style requires the "newton"_newton.html setting to be "on" for pair interactions. diff --git a/src/BODY/pair_body_rounded_polygon.cpp b/src/BODY/pair_body_rounded_polygon.cpp index c4c09fd677..14ef70f476 100644 --- a/src/BODY/pair_body_rounded_polygon.cpp +++ b/src/BODY/pair_body_rounded_polygon.cpp @@ -428,6 +428,10 @@ void PairBodyRoundedPolygon::init_style() "body style rounded/polygon"); bptr = (BodyRoundedPolygon *) avec->bptr; + if (force->newton_pair == 0) + error->all(FLERR,"Pair style body/rounded/polygon requires " + "newton pair on"); + if (comm->ghost_velocity == 0) error->all(FLERR,"Pair body/rounded/polygon requires " "ghost atoms store velocity"); diff --git a/src/BODY/pair_body_rounded_polyhedron.cpp b/src/BODY/pair_body_rounded_polyhedron.cpp index 0d73d249b9..2ff209d609 100644 --- a/src/BODY/pair_body_rounded_polyhedron.cpp +++ b/src/BODY/pair_body_rounded_polyhedron.cpp @@ -400,6 +400,10 @@ void PairBodyRoundedPolyhedron::init_style() "body style rounded/polyhedron"); bptr = (BodyRoundedPolyhedron *) avec->bptr; + if (force->newton_pair == 0) + error->all(FLERR,"Pair style body/rounded/polyhedron requires " + "newton pair on"); + if (comm->ghost_velocity == 0) error->all(FLERR,"Pair body/rounded/polyhedron requires " "ghost atoms store velocity"); From 8447d8dd9199555d136f6dd92d389f07cc03d320 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Fri, 13 Jul 2018 14:34:50 -0500 Subject: [PATCH 20/29] Updated doc pages for pair body rounded/polygon and rounded/polyhedra --- doc/src/pair_body_rounded_polygon.txt | 16 +++++++++++----- doc/src/pair_body_rounded_polyhedron.txt | 20 +++++++++++++------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 5ef4a9104b..55bd8e51d4 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -18,8 +18,6 @@ mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor cutoff = global separation cutoff for interactions (distance units), see below for definition :pre -NOTE: what does gross sliding mean? - [Examples:] pair_style body/rounded/polygon 20.0 5.0 0.0 1.0 0.5 @@ -38,7 +36,7 @@ body particles. This pairwise interaction between rounded polygons is described in "Fraige"_#Fraige, where a polygon does not have sharp corners, but is rounded at its vertices by circles centered on each vertex with a -specified diameter. The edges of the polygon are defined bewteen +specified diameter. The edges of the polygon are defined between pairs of adjacent vertices. The circle diameter for each polygon is specified in the data file read by the "read data"_read_data.html command. This is a 2d discrete element model (DEM) which allows for @@ -47,7 +45,7 @@ multiple contact points. Note that when two particles interact, the effective surface of each polygon particle is displaced outward from each of its vertices and edges by half its circle diameter. The interaction forces and -energies bewteen two particles are defined with respect to the +energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. @@ -65,7 +63,15 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? -NOTE: say something about no frictional history ? +In "Fraige"_#Fraige, the tangential friction force between two particles +that are in contact is modeled differently prior to gross sliding +(i.e. static friction) and during gross-sliding (kinetic friction). +The latter takes place when the tangential deformation exceeds +the Coulomb frictional limit. In the current implementation, however, +we do not take into account frictional history, i.e. we do not keep track +of how many time steps the two particles have been in contact +nor calculate the tangential deformation. We assume that gross sliding +takes place right when two particles are in contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 81c69fdd62..5f43ebee63 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -16,9 +16,7 @@ c_n = normal damping coefficient c_t = tangential damping coefficient mu = normal friction coefficient during gross sliding delta_ua = multiple contact scaling factor -cutoff = global sepration cutoff for interactions (distance units), see below for definition :pre - -NOTE: what does gross sliding mean? +cutoff = global separation cutoff for interactions (distance units), see below for definition :pre [Examples:] @@ -39,16 +37,16 @@ This pairwise interaction between rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and edges, but is rounded at its vertices and edges by spheres centered on each vertex with a specified diameter. The edges if the polyhedron -are defined bewteen pairs of adjacent vertices. Its faces are defined +are defined between pairs of adjacent vertices. Its faces are defined by a loop of edges. The sphere diameter for each polygon is specified in the data file read by the "read data"_read_data.html command. This is a discrete element model (DEM) which allows for multiple contact points. -Note that when two particles interaact, the effective surface of each +Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, edges, and faces by half its sphere diameter. The interaction forces -and energies bewteen two particles are defined with respect to the +and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. @@ -66,7 +64,15 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? -NOTE: say something about no frictional history ? +In "Wang"_#Wang, the tangential friction force between two particles +that are in contact is modeled differently prior to gross sliding +(i.e. static friction) and during gross-sliding (kinetic friction). +The latter takes place when the tangential deformation exceeds +the Coulomb frictional limit. In the current implementation, however, +we do not take into account frictional history, i.e. we do not keep track +of how many time steps the two particles have been in contact +nor calculate the tangential deformation. We assume that gross sliding +takes place right when two particles are in contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, From f7d551eb5400580899cde3d2dfa9c325729bbcbc Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Sun, 15 Jul 2018 08:27:55 -0500 Subject: [PATCH 21/29] Added a figure illustrating pair body rounded/polygon and rounded/polyhedron --- doc/src/JPG/pair_body_rounded.png | Bin 0 -> 650896 bytes doc/src/pair_body_rounded_polygon.txt | 2 ++ doc/src/pair_body_rounded_polyhedron.txt | 2 ++ 3 files changed, 4 insertions(+) create mode 100644 doc/src/JPG/pair_body_rounded.png diff --git a/doc/src/JPG/pair_body_rounded.png b/doc/src/JPG/pair_body_rounded.png new file mode 100644 index 0000000000000000000000000000000000000000..709105ca325764adb567f123a8797ca4f76c581e GIT binary patch literal 650896 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

v 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 Rg#jD8>#$nFjN?$MP(=SVXSJ5>3+ak z64(a_cLa;@Izxdxssw;`B1vCC7WKG;;7S7*6Bpz;k)$tpTOEe&st>C}S(qfYb65r8 z)WEH$hI0-%m%+^6C9M+YEBiX#SG8?TzVN+v^#H>2QDxEFbTUUj3ZcirYgg~+E8T)!kd zQNdnIORG1L9e0twC$&H`7;uYAmMG^WyBUXPD|oTDP5Pv>yY6MfU2pgU=A^^ScDG}l z1AItnB4U;EtsSS}SU_PzHJwyMVA7T(w->gY`5WxeP zU1q#ab-%h?KE3d*)YSQGWi;A)ZT^aJG7q1WjBE?{fR)kZs7TxVuy=D#t#gklc$r;iS!fu4UB~Sg&3;4JRmzcrMvC{tTA-5eW^S%S(_- zWVfBz^#QVZT`}8_YKJ#5aq-qxUVE;$e(F8Oa7aJKCtuFIYA2JJZej>i8!W@;3Zn$v z(DJCnP>C8?I;~Y32c?VcajG$+-H5mRynuu8#s-CyBmN&vR~Z&n*RCm%hM_wKkQC`I zVMyujd}#^k4kZRjrMpX78U&PX0VzpAq)UmRIg9VQjz9P-%&fik^V|swNyf{frK0jR zkdcvzePgCYUd=3oWQIDO!GL3B;KVsZz-MgDYBv$}ML-3n(xW2yTYh5Mb~?@{@-pYa z@>`iy8?|9KI#68%p1yFopJ-8ce3hwMOQImx$M5cW7y}PUd>L1V@ZLW!gLVrcJ(LiX@iFaBZrPXk+(S!ah;ibgkCT0mg91b*|;dh2-oY;B$Y>m7`3RG8 zxl7<3p>Uu?1)e{>8WY2MzFtuwIcYm@>jey+Erv?j2M#ZnYG;1R_7&i3FvbshZcyNe z8D5B@Ogf|KiChN;i}&lIQ}Z&1pCTQvbo5Z%wwech=tMr={s|A~>$&9ahpuWnHP#n! zP;m2MV_C1a5qm>7s>o%Zm7((uVFZv9+$?kRz~QkN!q&mRskU!_h8X*;S4paJv#9;j zzwe!U_$w9f_Y~U}pP%m-S45qb0II$kkn?rP?rLsRjn)~Zv*#0-D<!%0;FbeZ+i(pqAY+xm@FK0m_aENQmQ_-cb<^-%ZMFYzUA=j+a5X#JJLM+!q-5$g3; zTCN9CE~Lg&RB@ZxbB_*{$w`nQSK<=RiY4&;?S=L0Qnk(3K1+!V)8c9`h#+^hWcU*NM_)3T z%3kCFL5yggQPER&=dALy{=))$X6Z$Sy=$q!=S00om-pSd|5*3u{!43c&G=AUdR4)nzduB4Yu=Z9lZ{52A!t|orNZ6SyA_wO~zqW!u7qe!AIVT|k{#{0 zoCA-_|GDbk84CM9_un14ReP&UH6x>=9S#jGZC+KUDR;w{G^8j^!IyY=FihE}8i(uZ ztbQ8})*D`6T#%KZyuH9$`IjAzxo5~r7hD)QmBOV>$n3y>#MVtL(n2t+xEjjZz5m{|24Hp)Bdw;B%N#}8(vloG{UyRS)Bv51sU^39!lpG_{}2Jj2Z zRx3k(g0=Ol6DWT5xxc+yiPi2oqmRSpLt{Yt)YBW;<@nP`7S<;dYIphZE}A5UW1itF z@(kO_^g{ih@4r={n4V}NcO(YoQne#1p&opQ@kKfLT_}*9O9UNfnmZhj>(nGnC=>=f zv_^9)>N8nhLxO2+?D&UYmB`Ik8ES81fvhDL!7TQKn(e*&uW!^--%Q5ks#|~2BaW*4 z4wT@4X+*8fc(h9rqFCt{e~cta@)w=4SMkRX)1uYzVwrhINkMUSIVjZy1cQ=3UmoL0 z|GjwNU6#O*7^IMjR#Hz#58wV&%6$!t{Vz2I7Wc8DfNDx$nocLrnpD*z0yy_J+abbJM-LOt5T@+Tp@Cwj8_Nuip zX*es0GLG6d+u{(uqc+5(>+M8CnYtLnp(nsjJ#FKzRg8N4mvVf)Vu!Eqd*H|UHEyum z{qXD8b>V2*i$^urTSM|4V$ag8!PL!S`qG0QZL;}gy_U`i%Byy-eHjad{)*a#!lc>D zaPnyRJcb>?kn?VyXQ>k5*Iu!)ehZn}Wah%69h#lQq2`8h(CsHb6 z=Hy$_-kvbO5*R9BdGd36q`r2Q<`dCs&JKf;@D1dl3#yeQAF@|bR;)e4+^6Pkm!t~u zm-PCEk1y#>6Fps|kZ=Uny1mRypyqaApzX6_VOfykNhvKhTcE)1-WkXi@i_W&Ist60 z=WV~YB@u0|fxoHj6>uulM4O7t-%$~@)CJtDD*C2iB>ecDAZ51g`@DD{hj)iZjKFr= zqC)S2b>5<#;B-s5^r?SNhF6Ds1(s7Cs9O#@q)QJY6A}v)A)!TsFc1!e(OrF@t2lik zd9sq^g$Jx=<;d#4nTb4aArPL_I1=bHR9^aZaXT?!YMsDA{qN_{BsU*Kk-UchnknJ4 z6Ju_0?t1?n`)2JN1lR2F?o=+?yi`roqUeGz zb(`28=ahoa%4AdwVK+srv5MBy)?R7yMPY*Lcox9c1iB%%BgigJ2c*s`)Il2L+Vn!n zuXeN-PS9r($pT zn?qn2e;OPPAP-#eQWmQyW*3iz8l|ETL`U_4ynR{7#vXSF|NA-|tY~%v0=CrE`rJ*PoBF8~d zg!b;lM1-Xn#3exmEAx9pMIcS=_vUcYj>%v7TAf;lowgMx*Ec^?MS(Jr)^GCzo1+;Z zgWKZYlZ7`2W1kbc$cy21PT4DVoaDnfP211n#g52nX>)hDCfWcq{2RoHAuq-xvwx(e zn;b7zAAYJP`~s3&vz-@m4;0s^32Q(QAHj(6a3hr=Vf~X`Tf}Rmrw=C}umT`ThrmoF zDCb!ef6EbyOC_kIH#Etnwm{TZQB~tE=yj9~2U}eNXzL*NnPYEQTK}9weay zsKF769n}V-)t-=|PJ@5w|IquAEQ?e`4L3#jhIq(PzS`cdFOh!PE`4%$+-kGG)7=?- z3NY8|Z{@?3NvnkNuA^lN)z z*}e**t%(U$Co`_#V@G-8Th#cQZXd&6bQ=VjQVZwg#`+0$NJQ^=ul#n7R!%hsYoDKF zzB~b8TyA3GBw5PKXT)};-v5b0DjYq8SILWbcEfH!Jn4#pGrR;>AVpKerxuHOM%3wsB7RNgy z{qXpn90ynv(6XObc3)T42CVD{U)Y6QfKDu(K!rPcfmg+5-al>N_J3R74LUZz!T$Z- z*pI@S_w?k%Ehj&mC097;5{{YEhvhg56%fZ>3s2qI29X&_nN@E@!zcT(5*kutDQHT?^e{H8WGg zVc8y#;L@AsM|3JhpzJpSfM<9_dVf}YX?NSGZ$=3CY~L7U zHR?{CcYD-qZ3ctAr@#Mu&$+e0ypn^TjCygH1$yE1y0c4$>Z@oK zb^{gvj^>H=lY}@*$aZ$T@Yq3#lJj>B*vO1N5#ckcJ!UN?7Obx#`cVMB1##Z#^7wmP zKZ@ea7(Vv279$tDG<_M9GK;Ag0z4WC)FQkk&T7C9Tn6coptSphszx5~sh(=Xvuj%o zQn-W9XZ6=Wz)8@NI}n;>xpw&hjq0Oh(t z*y!cT+T99pCfq#2m;fzB62IOldWlxS`RY&@9HQz|h#8`NzJDD4dork&drDfX595zP zPfJ00#s0s;5RpGa`_VP#%bH-5mQpN}#^T`!SoK$`VQ!G;vVNmOJadLNVS!`QMlPFg zvd|j}|2#&JE)k}DIOXa$+MjoG@M(Y>NlcR}p4RK({?Pd0=-AA?1P<9=woh7zi>t7q zkvRV-{fv12ukS{y4>Lvk`i|)fZygH~z7&uD=E*NQ#j<_^Ye-B`|7c^aWS5v^%hGBL zjYkuCOd;#2RuTWTHGta;Q~TTZzK!ULF_=lIrDHv!SMOdCh}oOlIJv(nwz5*?n0TpH zWymT0FocE96?jrlcwow)7Ap;-*DGusPu@sRnR=e~CCebc zCj6R7(2R=Hc|3gKsr*vq{DXk$PX)RlPxi-wfZLiNvh}M8hjsZ(TfCeRgeSN{#a|e~ z61>5(`f!gxw2e*`DS*!$K`ZKs;hgX)+@)fN9~} z`+Upk`9aB=titl0`fvrIFID38{$D%R?vC<6hgcWbyt~dyUIabdtmzB1VVQyUI-o9h zKz(be5hZU9EM;I0*}!0ke~+p^W6hoiHS14P43tls^E9}8gr38kkxtat{HGcvMYH}M z(_aDF%kJ&3&~RaKn*U<$D(~TcS5ZsW(UWMl1_=Jh(sM*o3?zdU_}T-9-Z~4#M=|Hcts0dUX8viL3Ra zY;H%+f2V~Jmn#*qn5Kn?hlgQ6+2H7 ze&2!qLdK$s%MZOV#|a<7i9vugj^Z$84_2MeHb`)MwSanRRQfeTZ1+Oh0iv9(KexZDEWhi}fn!)P~J zLFixIDB`rtL^s==kv>OfU)i29dP3866oHpENrM*DvD`5Xw(_YTHpi-d+QzevI;R?v z3R+1samv8a7CZ26)X#T*S!q{r{YU?ILt z+)<&Z<+CVZDGr#&GvEqnj=0GG^-=NeG5fpYRZp#7j+A)G!v`+zP)Oa2Y<4>@{7`xo z`f*E-h?tqOqjsL?*O>)c^lb5wcdorjkU;V!p z0A#iQt{2d1=qjJyA(83+2WelTKE_{@{=#yQ2No!>ji3u!pQcW|dphVDkX@I!sldXN z%>bXAb@r0`w4&=Z@E>$!=re;LCC&2Qd|d2nbm++Ifz60SA$$AuXgE0zLl|=Eix$M) z?jA>NcAZ7*26mp;q;>k#pn$ra!RpvE&LlzC((?$|UEP|$l3c3cTApEZ zwf-96sKw#NC3#!5aS9QE4xV3*NO2_m{)D;1@51HKPBsPtBtII1ORxf?#-hY- zcT|-BdSPJ!#L-#dbxvEBMNL*DZq1|`;6~4mfqRGSe~Qi$LFdI8K1*>1@K2uHaU<=U z)Ahs8fK%U&_w3G>hLw)T9xn2-^gKAogyBe-$S6Dny(-*eGE4EULR}a0)!r@i&8XGT zcXZE35dS(i%7hu4t83w?aniDr=r3)#EitUoFws7yC+^~HAACB$)3lqfZus80eZYix z#!#`Hwsv>epngcH<~?h)U!m)CwXa-4xcX*2H)sX}={V%!MjZsZ3*tU9RiMgNNs9b7)M~1gf>&==xb-+sYepjXgV>-?6CS)L% zg6o%W0H@iPR=r9aL%rJh{d0dm%9Zot$y33^+q%G)@7QtH=C!98?k>dUul+}o6X0;x zx0HVLy#X@K^^9^bCP@!MY?D1rTfO&4_Ig}!|Bo6a>@XSFd*slzJS89X=pmPmlC_7q zWb3Ushqa2lwbttuy1?My*Z$VqV%q1TRRZx6Wcw5UB1iM%RIa_@QMAjg!JWGXV{)Dj zD~|o#wTA_Y|5%xx^9?-ylGeIL`**;Z&TTXO>MH}C3=FPVbWEK;kSPPR*kNKIM0Bge zkeq#&Xb(BuI_j*CLrlVXe~_sxmI~MpiP1vp`4}7TZfQaq{_{Np(UT_sLQ$Q4PYZOP z%A(FPieu7#;>@l8=g_xEKl*tmkrwiIt6xu>1WSkVZ9fYRTnUz<%zQiY#1|8_ClIuz zNo=KCFE*YpSSOf*19R@ba#I|o;_pOVJyfjl8oj6O^eZZUvft*UEdKd%8``&T*d(bL zDQ155&zEOsb>$g=MLJrHc3U!a?1iZH0FIBQ218(&Oo&VnW?TGv^ySIoF&FilK8TIK z`%*|XhuV_;CG1Paq$Iu(Doj-~H?kEQRd*re6XV02oKO8sURD?h+jCgq%S>cxwof|I z6!A(dpW~I(wb3zU(;1+Q^3NV_LJotDes(k-&zt(xO8q|AHVb%81R*sRDyQOkM&#qY zR=7^@Di=;2L6~uNh}+$E7suOg`#pF39TI9ZIZn<7<@>2gCf9>Ca_!prQQso<98m$) zA9WM!JI=5G7-dkDTz51Ef#;~9nx2JaF*}2t>w#3;T{vTC=m+)AQ2F9I^r|Mky(7`g z2na+LV?=us=<(O@uUlKFRKYB4?(3T=KS z%6^1;9p>^R{5k>Qa6VjQ60$r@j!5b7##EFbLI6#n6%Zge8@1gWb=0&b9*2#bhlH5lab_WM#oKyrH)DHsjlKgXNNeI?@&r(s7TdS1kf@PFfRY6(Vc0ZZ< zSwiw(`8@ER1MkGWMcnOI3vu7JH1}J3=otP}SyXpUSaLBpe$At{4nM?i%RWp{lRxn8 z_WkNyhXSi&S@z2(?&^)|q4vr88G49NnwRN=Z3a%$B<1Qv=M!@b7IUbkyeC9?M~wVm zQgWBuFfH9x)Zatnkd5fvt1_v(+lC;DD)`wfb3>iH*fScL0diDAo_hqOAaYRDut2MW z7}AU0b>93rYzliYt2t9^<1m8v)Q@>>eE*8K{#_mE3i?_nk0I?}$mFX~gZa!-`pz z8ojMPtnjdZyJib8%rD|K2s$D`b*iqmo7Z>mtPx@=%^>_<;aFGGUt1$7v@_B7)`*Ub@CX}lZ^mfRN_sgM<6BdzRY;4i4b zVdRA1@znH*-;RH#__2?Ui3~zk09DnVXn4n7!qvW02zH4k2Vg#O?cBaOtgeq@<;h$am0L~bXvCa19$dwpv2Vq`tc%LezAGWo*E~qeUdIFx<C)XS4lHU2Xuy(4-z-#JAMU~1@Y^(9?CAE;;u#VaqPd->iko{M(=`T@un$_!X4J9 zCokFIEcxSxk68;SqomPZg+r|{V$#vAJ9RZIP@@&u-0yr$QLCm4y$T`RyC5zO#lq^D z<+JK?BN8i&DrlXJ>X|xSmgg?n1#D^R%eDLA8DAdw|Kp&A@M116>;7jHFc{9zqDuJk zH`+BzrOI(7&zkSm_@F$ni(LCSHoeIgzGgtKF}m`OK9`QuqEwI&^3;VI5O z-={J$@o*WK*UW;^V6oj)2RqcN{3U9MGy}By9Qi5r$J|! zZ!z$jA*$@5an2>jA+CX%cUN*X#(GvF>8R#0a_NGNI{5lW-u_T##ev88IeKkt^$Og_mEr1vSl#cCWPEt zcbW+ew0gMHtfLf>%~3cx3zr%B5lB%V3rSzuroT8~_Z&sx`<}s9rV`@P7GxScJVhd5 z)gjj~{0l=21!-iln5S-zkj?fFVPzQS2X+c9+w#dqGy$~cq?PwS*;9~6b+jo%o7njX z=8`|Fap{NXd z!!SK5K7JVS8n~^qQ+Hq~V%-KG<$cyyQna8O#pG{^tRtpyXIY_GaQ^EF6r1(s@#h?s z`HkL7`g3!koKwSl6|RTEy%-CB?)#DK4CjQ`nF^}}-xJf1iK@-O;g-^tMt)NU({5ht zQ=J_Ct?v$xzxLaYOfAllLN_Pb63TyN;#sGpj-Bc9b{N56eW|@4^f1WnzB{%F^r^24 zQfCMBQJg$6t4iE=5dOspU92^I@yWXq+zr1LaGjiyAoc=no$WG>3<5C#Jn8jRFXN{#?Z%zu@i}4%NLv{9Jp( zOcTWg1$hx`a0sKQw*zpjAN_e0E{x)=*Y)B#*`SI4Sx-%VJFv0ijwO@VVZ%cGx|N_U z@6S$A0@sf`F_)m;oN?_6_YiUcVW5<+;94MIg~iqr}AORa8jjV%2J{= zo@=VLMUS-l!}PONvvaA5fOVFKt~p916-B`r)tq5ajszErKy`YVyvfnv60Y2WwJb7f z(>K{eu;zdBiIWaf!N;@8LvH@$F{n&CZN%H{W4Pz^myU>w(yx zpnPDNaqK`%V*1xpRY6w_2o1#HjD}*pvHm5TCnB=HJU_$hqYms~02SfP*Sj18l|GLq z3slBsfP82tudqplSH&sY!1~-mjjYl|jq6p^)Q}znI3%#QB!;jw=OG%Vz3uOwe|y=+ z{a@Toz~y>WS_M<2LIQlj(cYBcmZl^b@z15GBI?KTPZr|rj1?@V&#t3}suA~>6EW~p zC46jsb`ms`2d<6-_uZ1Tc)B&Nkv%{NH@U6L%$GA#$lgy8?N}n9Nwk`Tm3r0w0QnIk zT>@H~!34TBQ64q~2mWzuO#JFj0iBa?c~8b)8{&_TZSv>y=0XFn3FG45$`M^oM7>E0 z)Hg*w7A0^LTR$taFn0r(5cqI*7eHE=dH3E6G--m2&u}4R7@9?>Qu6P)QB6nrzEEC5 z+=XgN`cCFgOws!dR?RTwVy<%3x@?F|A^Gd@Dy?LuK9YXUj|3J-#Uv@8(69=T=t)x8 zG9)|>5H)K)-zBC~oA0h|kpefgUv>YR)vpdqQ8AwJXWbV_t%gevWxCy2(xX;kM3XO6 zlcBQ|hN-x8d8uZ+eFQ%$UmpH>OXRUi71ZF>pfT*pO3i_ITGsOnl+QFf>TZvRf_TBm zpFuLmsdeeKf{y9E;l6wSDMT9oq?*fDeAYAeUsWiHv8|wd_#P6c<@lz=qRyX|mb1?( zse91&+@IkqGt8|dPdN#`zQ^gXGlccUqfs!GXG95M%YOSl_Q%1qyW_}-JeKm5B|qp# z7GLo{@l^A6i|EfltnF@d=Igz z{P#)o0Mc6q-fQpu$leycJnm$6lHVsJPwQM9DavsAjxr`k|T2lF6g@E zM>ncwkvvFF988LhPewE+wFH`6_1uFC#G(~=Y(|N*1f29Z!j397PfUyq@>L@WRF7OE zX}uMw-@r27S%Jg?(e-em$Bc-0<}$S$QQI+cDO_xE-z>=}$4In#``cv%|NA_jF>$cX zfcR?R>Vav5hFPf&aY{$(+Jcc+S!-giFhy_s^E>m=wCBg2*OfQWdiwuTOTOPg_8oDcwzbDXG zUWy@iS@t+?Z>kh?bymxh3`#Tgen~IfW1VdFpKpU_`90lJrq8`%NA3U3C2IDeap|q-Vayf^@{&PlNCGA`78%LDHpKKPb!tSjLjHXNEuLQG1d8(ruj;_w7f%V% z3&ng`s5e&cIz|nSm!+!J|Asav_57}yfBMhehX^J z);}!G)n!dtvlikgA3*`NE2cvpxXF*G4p|>PLY{7waRUd&TB@~#_^_KwQ^L522!s&`9j$s9ofK^;WO;lH`9`e zweDF$=K%fDf!Da7>A8irx|sJ_@$}H-#*{tYAruM0R`Zip@4cyn7R^goae83SEG7~A ze2D8>(N^r3F;#l_-LU%H?crKi-J2qa^+FH%h@(}t*Bh5Ub_iL(fN!2`h@+HM<$7tB za$Dhdzy(M{Lf08GjjLZH>MbHW5(d%%;nu3s6h-50U@uIT9_GeLSiBxh?hbYvg-EnP z!QMa1ykP}e&!P1Db3y%I-t3tj>IWeX%lp3@#Q1j}1i8AGJIo-EtO#V52@9c> zgIviV|3OD!Vx z+ndMC2y%pSEl2+aFXg_PuQ5>_e;$foqVti-a+o`p7Xs8ShlMd*?lt?Ug|)TE=J$Wh zb3^X^5K~6`>7G&pbBw)H7xDJ^kT%efGLkI50cXUza!1xk#Q&<^-a}3OdZR^?JezMk zmV$3ldTWNPQb$uX}ZY*MK z)+R8NJBU{mCKHlU4ZggqkZO0?JC|Azx-;-^=={E07U#5f7P8WIao~|>d`Fh` z?LC}FM~G?TOM09^OSQoQF&)2#SD(f^kl#$QlwjHWvg^vo~HVg-;ES z1Qf9-ZQz7piOXR1@L28Bzki^iKH?@r!eDNL?Bsti%C3yV;qb7jc0EOc>^|3bxVCxWCL}^nJziIP?8gqBI(1QXE!`Ve10ZiDhhH^` z36moOI2J)<=|X7=ApNpK?yrC#)Pv4A+7VmqfkZ)67;hdW>Ao1`Hu!&gY0VlO-=;5$RT3N(IwLq8SbbAvW_ zL=D}eNnLXG<{x$tP2OWH4MP;Q%=kUslju5utI9eNh+(}|1ft#k9V)&!w`x|; z^$%&|(P~u~j!1Jt6SvjEujV-%=~xxC0SrT=_d11!M3{{lD_`H*^mZln*sW}srw5WM zrq=QfDe9yeGNMnMk&HzCY!iT54MvtVPsy;5OfW`O`BS)hZi4Yra_b((P7FfH zR|KptpwRFDA!XWLQ9xJm45@t)lQGj^8i7x^MX`N3-mjlaRUr(X(NuUWhormw`V>#% zY|^nw)FK1IC{OM76`2~XkgbZLT4;&h#EcaK>v$_a?|6{L$0TDh_%{lMh6)pTeP<|q z(zpJGr4`Q9hlMr5>rt3e3S-lJ-zfhvagGzSF>>^KMzJzay1BF8Ew=wPNu?OJ3cm ziTvIjq&0P|wwXR}pNTVYQte9H3Y@OCNxhewHEJcURn0c$*A*lS{x(1J0J7KSOHiCa zPT(8KFmW$;!xLQGVQf0eOM6n|d)whE77#Ft)3iVL={83LHGv!t+{A-VAr362NXku6 znhDlYQAOr#J+Bf$cO6744#2rN9A?Ofb*rL4MNmo0DfJ@zf399+dVM&VLy ze-Kpqh>~D<1YZ?zXmYM-H}gs07zEL zcI(09y2|PW_(>)hk?T6h6VG0>xd@-5UVZu#j9lw=i3PS0p?iOu)R%9qTOp7oQW;XH zTJEN{8AnO9!2(jIB9iQXr#8~q#(K|m-=`!tBgGn&a5hX8hs!N7X@9H(-2+Bdi^1{c z1PzHcb08ha1j85O+EXTS&%&BM^Xr(y6J2u_kl5j=X%Ga{izV4qtc7UA=WRjH`Mzz*Z=kefht-=Mkp z6mkf5svMMzO)72qY#~u30*^v8Ba6`3e(tfwiVh+Rq=~yp?9=Z-)QHVj(El7MIAh(} z1(5GzjIvw63mf@(iz2fNgZ0y-^9ae#-kvB(J{Ft1y*>T@@aILy8v$QyUL8E~UP)?J zVc+W;7hxkO$QzY*ZH#OdQ-x)(c~jJ*!^ivKxy({;t(tv2F~sE`1N_6rapT7sjD=2= z$}SRlV!Ur+CG9Ske}+ih@ER~8Ca=U@&Z3w4+FOKdpgg%cjd}lf|~0%9eHJkPN#ozit&1@I#9aM zoesw`_(o&bn>n55*s^}&r9KotM zc&owY*jTcRZ@4nir{e#RpQW(L8L^NE8a1M)vsK$y7c}Z>MG0goYDn!Cw*)>c2FWM5 z3>Nz!{-YB}+P;}vuo;QyxAox_ciK_(3psSWDDAYKemIGe@~qNk121OI zd5Pl>k*Sll#^yzCiPro7}$k4N5q)JUoTjffb_M1>PB#gQ?I{!)` z;F%}-o?kCrN3JkNK~Ch{1&2QmOY_S;@IE>4P`sm0Log?3N?rbXXPNV4I?#Z*1|jcy zjwGj6Di*Vt@*-n*->3VA#@&TWOAP|)jdJ^^^=s(&{q+!w(#K+l%u&F}yDZRcz^p-AEO=J;Yx)<2kG{vCfaTHx#R zW{hXh^FS)p{PuNI-_Rgri2^>f7`TtE0^_Vx=}AV;&xFtX%#qgZi_D0QNWn1Xrb79E z&RI`D;p|zO&o=C|8gEcEKrYw&QOiY?gPyU5C`;5>FN1Y1`@<{pT&$9+Mh)wYtj5A* zC~Gx;k^xi>7DXqy(Y{}*mcGEH>z-=!;CUYdygeL%^9X;PFyViro=#!;Qew2{{M-9Y zFqf0SPSK@3pMr}()|WQ!D#k{y*r4!E+uXr5%n8~0{$l=WVU(JVv02f=Vg zU4edsqWB;I9XxN^!JK2Gf8R2lTmSrcui)9|-AFHw^Hfn9mP*M&N6O^&oO%lT{5l1Wtnr{%+KzFmeTYfiWYw z;sMNgoC|pob1iibhf~TKR}8}8jf=@_+RxOo7wRV-gUi9pm`{$*0JTcjoSc{7Q_;0qS(KZy89soR{1j3n8&}vCe3t9 zV!W4rw?>-$;E86+d;0;9**Hq<;m|J2%y6c%hQlXTjB1qjwr3FNXHzOp*Q4n0$gr^9 z&bQ@=Am)X(g;t(Awcz$R-)La}>%|O7eYB*i}a%W)-(7~?V+ zFhH43+y$J7(KAZ@}^TG+Yw+>tvR|9aoKhm6eV>_B#? zHbTW8ta&hOpTl&|2~@6-J?*?q9&7n5`Nxz6Af||*Re!Q4{@?6WAfAPy0^Q$dvekMV z8RnkgKs)b*j;A|4iGcmvQR%vO!*&KqGd6pHn;#S!=Z+GUGfR(pXzbpU>0*tI)BV2| zV401y_E6(%L)33}zEq7-bTJL#e6oQ;Or`kH;;CIVUt_maiS(q z$MfL>ic8ShhMipbi^^zXH330Mc}fYW)vHOzT@p!uXN$3P9$??vH(2NUF5UnPJcpK6 zk(AQ*EH`ms|JJ8y;%EgT;qdB6lsMhVUD=kiw;rNT?(5!FyDq)fLCWm4!`(?bN>r$HXq$A~==L0HlR^m)hM9Cvqv zN>6<3j60>pzoKoiwWuU^3qBj>*w(K{n zoi$#Rc+J9%=KMzI%u?@rh6zK~G1B7io}SP>*p;}Jp6H%wCoEhK*@Pq1Z1UHW)GX>e zSe`c6L{1ksY8w6P?ip!o?cv#?WU^ZMZLh+->JrU3Sk{p%bd-o>A*UAV6lvSao5C(K zVan0+*R|3#lY}RX0S4_W8vHBNU5~g;8f(bD&#`>>Z|eJzs?hA>+423XHQkMQ(GG*)f*{WVAzWf@|$j#O#ibf`c-Q%YE<_+=LkPZsz00#r2V zCL8)<=wK<`or?ggkumb*?Ck8lbYw4xkOAekZ9N~~N_S!+mPQbtBzjU>EK$;?kEd_fmQ( ze*Xa{$~qRE%TKElUmICG^~{^E`$rQXAi#Sq2oawEB<<^xiS+1Nqo(zTFF&j*5wM)# z#Uod1+aSXubc+ec{j^-2hKn=jk0t8s8il-DdL5CCF4|w(J`&a<#W5HVs^d=D>c=5V z_9biNkG5YX-r#y`uCN2lsuY-SfpO2sXO8MQvb;@tgJ&}y+W5ein>i;zr1ti9=tBE$9vyJJQ- zxESC-ZNRtbz0#C(6*Mj|zZ`fvKIF`99cw)uWQVnGf@PRl6x>t<&Bm~NcJlFm4Om!x z%`++#d_~%gtp{|UIjWw zQM)VN4DSPL{6(dCHIoCD&~c{^BeeMmwZ!(N3n`B>n*uEr;kX7uC0Fk*-1yFbf8%1d2lBd7jd z?8=^Opfx8=+ZEF5@%`MJGmmNb?;zbVncvfq)4$pwoH|K!ApLx9&C^?Y#wjg$-!MZ7bWLmawCfM*mi%CI5(#JK}PaV zGSss8Qw+RaLFZ;5f&bg+`gEM=`mQ5{epg^tUk?SayoAjlh3gP|KHGjv4)z*T#<<0T z-+y<%d|Pk859s5zvpptKfQ%2Z;`6W_a=*PT^>CG>Ch7oEw(Uh&JC&NxZ1F+W2U@U3 zuC$M6+&=J8oQ~*pxvlpgdo;tq9!GL(v}tF!(;xkHoCsMW%C>pbX#Y8>dbS8os-J_? z+f(YYU}v0pCA!7_>Wqn%+;>CdM`y8g^FUhS4eYP@ws<0eSEJ@#Kv;QOyT=<}cs1|c zt?~`!tVU(Zaq;i3GHKz2$82XuUAvZ!mag+^u6&L1=loTnw|AJGUshIC)^}t%$}<8H z0^wpx>wZ@sjeo_<-Z3bw3d29%AEvxYWfC1O4pLEU6Sd z=MVMDL+{akaPKidmhfQ8eFSV!IVNRhtDN|1cBaC7eqkGBX_8kYZYj&=HH7*R+L40E zaIL=gCYQXWGoM=za$smXhdD|tP(oYPWF%ZEPb7M6OY4lUUawTxUm2E>Frg8^cNZ`-sfZkPn# z47%QOJtjmR-;*Ig3TXz=5+MB!kqWv#JNX7yyhw;fPV(9PE-ifPWUj~i3x+(-^H%d= zYlzhk1A4`eOv7ohnG8DV^9L&fGx-u(DV4QTKF{vH$?{?v5w z9|4LKC*E6foFCGx`1fDO*X;=i99@bnIpNmvBBd&Sz%g6{S9)Z{HUN-@L|PMXxGo#7 z&x@s_80riH760n#jn3EM`mMVm<75a#B`W!Jzl+iNJ<{4={k8bGevlS0bV^M|G*xoe zV?d#F3%K!iCnTUZGxpDwW`X(~Rsh4XArZ;Ho45|A96IN4-Y4Ix^Fzdbxf5K2l2U zWg0n7jV;!tfA@X(4KmjSU>}aQlvr|RuC~!#I-L*S&(j|zzA%LUyW=?Zh4m4a!F_qh?=<2D6e(+~EdHJ!Y^eq-EN%319Pb}jwwFpB$b5o4#WNB7L8)WPn z;bim9(PF>28FxlT`2#D)E*m>bCVvDs#*TYes)$dcsjuTvNr3 zR!o|Go$6}V@I4(eOz%vIv_H3gcN}oE-ECll8;&8ZZeH!eSJa;=U+(D?lWoga757_ zG4nOd`EQM7JjNt}(zNTxgjOI=1u^b?U^00CM&TR9XtU48PIm-ff_EY$p=3hYa6WH4 zWJp>}g zZc^AbNiv#OP@2m49i$p29D^{m$2=Ch9Iv@>Od=WMc@no+l`!wW2%a%Cy-Fef9UHpq z!K;^X;L8KQBaKtd{C>RELL{0AtPd|i!!F;#nv)+%hK^!3dpz3xDYf}$?tQUoOJky7 zsjogSzWna^)TH)<|8|aV_o(8ralrhthsQ*kH#aC#w)wgzc7j;))O5v9Dw;bM!=T1L!FVeq zT)z`tV%q?797I&W8@eSB_U;Gbi6^zpx0NohJ4}7rk?2@3`8BJ%{`#Ag*ENxfg#F55 z-!WQp7qWz&TGdns+xYBbPZpV_SVDk`JrYi659hUDj=c{V!AN4T7Dbv zWJY2d_CAVRHTZ)=KEZ6x)1XL`%)_f0$=aY)SgzI+XRucR{oIFX+^gas=TQAEdb*AP zoK=r_%DcPcV?N73v9dEG8oH~Uyl$_<{W&Z{tD?`6HrHqxP!z(nm&+7ZV>ly7aB{?w zyeAqa5nHqSO|_GLZH*VFd9|Lp_+Qxe-(L%-i9!gDZZZNh1015LBT6qLlW*%1#Ijvc zV0y>^;TOPzd=DU$&$^QB>%JV4#S_Mrapdl=yJIYXq=dtBtO{AE9}a&RJ!*swv-j3;mh;`{o1YX_Z&5ex z{;D0dgpN1S%|=}{D!KRlj@o^Q;V~a-iGS+H4-bG!a+$Uhi~QLRoW{6=WE}3ys&{dMZDgeWNc>mm$uCEoRRETKOqOk z2P=%9Tl)O?J9)?9ZA1)en^*a)t4{{eLt4xMi2cXZ21!GuIC(4ltBDfvJ2}1*qmRiX zvTTQMd&)?rG22*7OiXNZy)EVwYVt&Fj$b1BX(U5-KLe)Q1~NP}(?7>|H13GRYY87| zd2zb16W8^Ic!Sw;2<37e|3Rzt1mxU-!W>2Z!doGliq|AOPp0_9SDt1@99#U0NB^nA zHKV;?5$`%R2Lp;dxA2&V`Jg9?=_#XXIj5T{C~}xiUl*0zEpN;3kCFIeRMQla{r8K^ z%$|IuvG%ko__a^D?E$1&Mf7@inD##6s@sb0txgX@;%jlFv&hD25e~B?Se{ZSaqB>1 z{9JpR?*1eS*fS%}AE9PCEF9OX9`e9Qm#D?J#u2wy=5%d^(xn}`Lbv6ote;%!{*R`s z4#)G0`;YE6-JR1p?U9={6VqmzP1i8>$m!|M=^myH(>11%h4Bq^k#d9EFiMZzgdU3b$ZJ)CHxczMJEFRPY!X4aW^vreZKy zd@!*BhH(>ug>Z*$+Gpq%hT~SpfsWu1WIEyWW2>L8e$mOzxeMo6!6y_X(>avP{B*PP zj?MVT_pR7aA@o`Kit+8&WYy(kVtVOW0}4uSAQlE=!7T8uVuC9yP0gY zs=my`y^49q%^|!%cWJoq7Y6K)hxDVD=iwcwk;B@?hW)yD0Wp$vYj?!sPM@RaR|~Qc z*>$EIZiZ8NgGWX8%5*ws*l>NXO?_Jfzs8{ZiAZ^*^3^ThHzIMmR6RIuX}O|E{r3HmXF4ol^1mE3EGh;Jg5xNufHn zR*G{C^?SM0LL~@Spe&k7AjNxfCZr0dW{TldXt7k?A=Xo#l%x0jyeJ3*)B816{X`~3 zWJqf{VkKypOe}uekZk@fe6}PGCOk=i=Qdh{{M%>Lk5_%bZoj7Y@#_a|ctS$9qv|%k zJL3IxC!!OO38hnb3{K>Ag!X2YGj3wN(ni;u9A1^H%ku1)?_Z2K;i|wLCMkB&*Vh+> zxOsqtnsdNrTpzX^9UdGM5M59N_GHaQ&a^rChos^4=4dLbWQsM#tlD$?Tza$nzFiY0 zrEeg;L$vlp%V@C?wnqsiwy@`fr&^g0VU=!hZWt1a@P}p3;*(ZA-oJah5zyzGBjp$L zZ*wEJBi{hOAmu;O9|Q}D^z~gLlZ*Bjo9)1!%fS~q4&f;a}-j8K!oe_ z%9*yU`_XcPdECFf>WeY;R@^&8hoXdk=`2idDQ3sIt3dMCW7Y zZi>vypWbg5N_|3T&woi?+tT;y+p1`pRR|Y=Ns9vC0>4OFcw2|Q>9skwbw*bz_liKs zX9Mc0E}g}nUkb)rYf{=ATI=h}0r|fwo93D~MDIwa?hH-+)J6-#GAz;V`Z>K(d$QL6 zO9w?(PX)R2btg{~2nhSvZU5A2z);I^`btzE`!3i!YdqLqL577u?n!P9Vgin?rut*) zw}w*Iki?P0TPEguEM3qz6=wAxn>RN{G7M@Sz&r&$fQs9(PzjggP83P7T2_@XDlhCV zUM_Vdos~-EAU|^uxoQW`n`N@6{c-&~(*dL7YWaM)X-saPhQy*KA?+#y0g5^cm$A-4 z0Kq>@=Zt^lw^1G`U2PZwYfc9=YcPDfap`u+aw=|ijgB5l4d=d`WO@q$ykK(h>x?s#;Y}HTvdfHNL@q(| zYmMx@^JA@TLDjR2JtHoyUnNDEARKJbOO?~0J%^*aszfvR)WC|zwL3caVN)Vhp_9C| zBQ4Y%EmV-gJPh@T+CvQ{eOFGx3t`vv^l%aSZU4>lV2MEE@4cdto<`n~zJZV{9__{^ zpO#azGf4?u zd>*%HxhvI=gYTBH%@{#+7AdZ}vVQelZy5$i{cCIpZhA32Fy2Aha{RQ=C7dhaAUq*b z(19vo*IW`-TaIpXjJXXk|0El?8FThpHqYR5*K7$q`KEvnVi(H~)JlvSXWc)1`>NNN2FoY3 z(1fR>68%b~Ea7BE^!3m{7{Tv9OY{@zPUsy>iLNbChaNSs+x>pYcKDZOr2fNFP#v33 zNU>rMGu+r*K)WHwGS#|c@F(FS^m~ek627I|R@WU*wfcgnl3lqgw($Z*8Kep2ZT}qR zDlV=SiNtGh0q;?f>0h^bU~lsTrNn!GK+GHC4#0q5oINol75-C?+7Bf6LyubJ6Ex6|zT*%h&siN)xlJ7oMSL)5i#(QQ8eA4p;lQo=Wu z72fe7Q1$NIbU?0Sazfv7y^6pa2l(g9O_9e<93Ad5Q=O=hUjHP#dDLMYSqW1;X!17* z44-aeLcig`Tr~_I&y+#l28q4xLuXC3Jh^v4OK9`$7?32jZXc{3O6(ktFN#k+7#mma z9*(yz)>V%>?5`afEse1+ir2NFEVeGpl(%>{wS?AC)$^>iVM55Fx6(hO<|pXJz#A}f zBQg%0DR_}$5q~@}P|Q$hV5z{~d{Jp+h;6o@mgPKAQL^RR@jH2o?A*zCd5Ya+QMMGmWE0;;=a@R@cr;;j_EZs ze-hPP(<97@+pBCUTlprx4zTD{P1~sMP8VKx(GDvG0pa9;Y-)GY)iAf?So0TCxbk{; z4G!I@9P8Z!rOR;=E!?3cswJ7vh3c{a{G&BP=RK@g(cB+r+V}t`e{wo1xm=wC%H(&R zyt7Fz0>HCmCPiYNPP(?x9c!y|=)!rDA?e=7Rdh(tH)A7knV`7~+Ku-Q4?h9$64`bS z#EjiPb-Vb28b#-exYAkuy?vg>htT<`Lsg3jcd-TUqgH@K@9Wx46@#cUz?VxfM`DZ`U0qUe7Olu) zy^pUWobg=$26O!Rj{dkk?Gfv#mTdXqqLH$+^$2H=SbWKO`)ph!U?dj6)q*VPt2A^{ zCc1TUT(W4tl}N<;Z>^R3c^PF=a?t^_6cbU>1$A4yFO?rQ5M>a5&7y)&9jWzRRrsUV zyInl`_roNfV-?DF@=zHaJ)U%y>Of|fy-?kk`5gkN{c#48Fhx6?pKc#C8+*H^!jjAJ zD_(QXyfVa3);F|OVKC#383=-Tn?4)gc^^s5Cvm;c{MCM&od50RoY3)`Es6UB$5-M9 zQ`MrY%>nfZjCwX&L}{_6G4<+fzusseut@a_e*U#zXOb3yz{GepxVs;cRmpO?qW3;y zgV>o_!G|M3y-c{&6ZOU0KbNj%KQSoV(J0Z?-*h|(Eqrg2U9(%_s} z<=rptCtJqwqt{_mHPRRKC1}l8dgwnWTty8LUt9%kE(( zxZM>}$@s&D6hIdBj?4?JkSE1?aBCFUv8;lP*<>BFV|33Vsv>^wWS+2pd%?UuoHP3A zq889owv!8-psf)A)E>(Q#EXn)7p{l9Q~RhCtubyS-ydh=D9!-VIl=FmOK?5d>&dU1 z6+M);x0Jk`PuxoYhm<9;eg^gE88+2gYo-8Jxx+4@)%KH$&qjX7NPHB(aCug{-ZcC3d2Wf3Z!8Dk(SS_DZUVN^f!t6Y?azSLM4i42_} z0*%>6o2Bsna0MIL->oV%=$Sp7kJW!C{Cuw+Hzj?K^A)T%iC`n z5_Q2SrvQ^(qHkcLi)x$9Nuejevx=chWK!-a|4r0Cq3y1=)M{=|q-bP_VDUVT7+E>r zUu9|v>@?`8MffQ1i|?PGnUIguHfmPR{0D1-20oxY{_|q#AGUk@dEI6Vg^evjC5z&x z{^$IIBEoK4NBi|NMko|cQYiyMzy5K8O(vHifA;6-=Vr%_JN0n^}9!O5#t0##w!_2B#Qpcwk& zxD3H@-+9Sr61*#G!OnINY?1XCprnaYd6mNZ?u+;ZYGO*)9;FwWo#qyXa&VR~lEmUY z$AV9^5v%K*by1=f)bKGrac}uJ$Q;_!fP%+k?Y9Wy#D=(y`I)`7bAizwZSP*%KI@)t z>{LYeu({uOJe>`6_cK{yHoiR=6lgGe;e6tWFKjCfuS>V_c6{+ZNQ*9!+qwabbr^!7 zTNJk4W5bA61SR6O{%M0nR}+p;0>Kou@&d#CvUjEUvSfX8_7v8+-XCkki198I8*q5LiQzHo)h=+z{=e56%-x#! zE@$1LY2AOnoM2Fru>98Tk|LWm2Xpy~w=)$~{(I*G5tSBN7rfJKrEh(>{e+PM3WyJy zVX)y|lgXkE>ClVXmg_m&%0(cu!61JA0}OA14h!4VK6n56-VY_?g&UzqD}J^1I>i;F z<=m=~4cb~!1#JZHGd&B9uP0ap0etciyDD@I0u z7}={%Z$+s57b;)i^ZB&Nm*sg7?3#l2|5||h8E_VXBIt``9`g~9h8=_BDxgJ$G3Z`0 zOh)yu5CIS1-&I9L&UE!4Uu7gyeBNM&_5=4yj-y@DD=xdn(C4ec4!6K^xk>*;>;w#% z&nJThNpWv};GmTRB>f8!#fNuboXYlj4BL+68@U4d#rYDv$@!?gPgN(MG2FgXY~#)2 zH9(2##0GUP?pF>QBM-ek$#w@cUWE9bN6i@<`KJJkRP1b9gN}i3$Vvx5+8Rw@c;XIRE-i~pR$YpriZ#qlD5XLNkis9zwX2Hzxw^Fa= z;)8dz(X}?Y?-)E{r0?DAYpn}_2wVTf;jQKAl}pQ|$v)-A<^WgdE`RSq+QoelLawyd z*_3y)d0!;Fo;-RV`X~XG+2en{4CqZh%b{bG^zNI`0XIraq$O(UR6^s9qt=%4D=k%# z4f5qH`My+Ru*t|p5Dlk`OwJJ014GgQfum-k2~cTQ=1O1}V#pk{o##xj|7SOP(+#4P zz77JD8DG}*5UB1!wmtk-T0ti6bp{~74B2Lb1H(I8#OE00Ln|>jVrJ}XGwlzqDQ3(W zE^%MBHJyy|?o2#PBfR)TCvA#DF@O5=2gI)djO)6a`XT0Bpgh(^vXEnDok^90oyZTt zjWF-W*QU3oe|y4!tQOSEd%u{zj&iINe!L6o5#x5B9bJ}#{wTq1Yg~&%+ETH)Hi8vz zUAq#G7=1dpsSkX8dMQMGQm*xFBkf>s?{;wSLrN*U;9ks`6Ff`X$pMl$nQPa1Fz@x(#Ui{L3AjN2`AIDdKD``6JvqgA9 zhg>F_@0L6K`g%MphS3ya{J43-tEQU5y8!|Qur^GjFYFsAI0Dt}fGg!H= z(gf{0KmXSVVL~D54>~4)hN7}0m#qq51)7_iau}hZe$i-Abju`5<~HrxpRFC#J}gFQ zpXII-2Z<6eRJ=oX&CJbCu6GW2c^$R&nk8585GIvW7qDicNO*Ep2tZ@nH85SEbi9+s zjN;*+x3<6Pg9#CXGCPfsMkFVYZ5WapADGTUVKLYvMR8V$zn3GSHvGOHeIcNwY8w2( zwV0tsCEC%#e^Fg{i5iZ7UbJ!|nxU(Wy;$ri>cRJ&r5tx>Sq>y5NOn(Q4rS}Q=K}ShbIuxmB%WiX)88^lHPI>Xi~~ILq#p% zXfQ?f2aUlq6`4N0DS;Q0tL=~8_oVM7&u{izr46BxvCVkqn0gRpj+jpW6T~zJ6kp~O zg)@4A_1x<<(3S4co@eNf_yrU>v`Vxi@!eu@F?Nfuz=wRBU+s&LcfTa&)IS4KW*nVg zATbos&5juWw|%lZAzpj192XX?M6TgpNSejt0+@va%3)Ui0VSA_(K-&5^d)@u$hmS{ zS&EpnXa+qUjjyYK$)28$P^SpfIMSqpFbV-)HGLrR$zzw4AU7V^Lq45*ZT$&;YAyx> z$^d6;@oy7kV!n#%#Wqqplp>9Xz28kbKl2JaZVI&n*H}VJGKdm@ViE}VYva{~=gh9L zh#2>NaDJfo2haKvlpX&QGKhUQD@SZt=kd?%&62)B<;?vJQO$1VSR~m@8YSbY&wsZf zN*DFja@oNqM}BskhvqwPUfo~QUpem-p*Z4a>M1v%^3t$ehY|IacCo$H^6uw6DMi^J zp7*g?p)Y`7>T=~4l~L24Tixeap|H|=ndMBlBCPO;Qa8j(0|U0CO}r5<_4#A9hSJ9+eJ6hj0Adm((y}`jqS0G2or)Ztw z&t3-9HKj?gmAhqZ3=PZ5Z~xoule_{3pOus zo*hw4Y?Q;trqxD<_dj(4^8N-3e{!o-0oSI?sn1wJx;C+zezXIIi_|*3JYHg{1I_Pg zo+9FiW7Qs)V_;KiVUE-YoJRkiZRV=wyZY{Dx?ad|<6^#LAS>mT8??ugKELUnvXAg( zW^d23+T>XffhvpEf#auBa`KLdYi_Y(p+O$Zt&;8+IqoFzoPD-2AbOBJzRV6Z)q<6A zi~CIhfZllJ$Lx`f&I`epu5n_|gQi7QwAxujE?FMO^UNzNO`8)0X4WTR)*}@K z5&oDmtbWqYy}Acxm~=m7*5Az-66*;lpI10((Gb?sfx_w?Tl@V;y_(oG`2{)T zLu3wFwRtX28Wa=mrO?}(-rY{+Hg7M@hAtXz{uqK16UP1+6^VCmFM8^_Ck8q|z3EO+ zWtmnkW;JpEAuMRl^EWPDhm{4%w13*UlgOLWR|&dA=ChUz%CVYkO2IJQ0%%f#X6i(O zQf$2wG6Ab^XCIT#Kj)UlBK3#6kIQ=R#V(J##pz@ecU@zfJ8<<_su3IHV?I5swre!l+yCaZH$pa^Smug?F&Ck1W!^z^_Nq zhxOfLHWgo1pOSmC)0-Jbf4u$q_15ww+kCQ@RCh`%CkKQULvRR-9;TSwgq#*WA*!TU z0J3irt%noY3KAGikh<-FKTFmcVp0Rae9Ea@tZ4JfvKV_O3#Z%E{OLmEr9+FoVbZ&y zh4*8IUyZ6c2JZDkKrrCfFx+e<%|91}_i5x0uW3zTZ@mvr%8I5uo(g_wxj8+v|7>HY zv7yY<5c=i(+P61wRC%v=0ctUlVvp$MBZUEz;49vr_-m{Q3)VT-$oN;Sy_P0HNoC4S zwHq!838I@&7^GN@+f(+!Bun}&a@053CIcTc$%hRdiZa~vQ*Nk%RT-4k z(q?`D5hNsnL3ea8tv&mp6yIBze@I}DG5VVSjqUNzJe`CoI?G)_UA0fnB8JYzw*Gdd{GqDv!H(TPcdF1V z8C`a|5)B3(Bay#^%Yq>>Azw!GA>`@?js0+Uetk#2iy>7}1fFsX@@*(Zu*X%yEQP<@ z_ZMab3;#%BtY*4S!nBDTjTsDH>LPhf!S879zBih3jLtTlWbdHclls#`pQKS#a}271 zV&%7#W^QPY6dZSNhL~HaHj`PEZ0OK=Wq6E$?^(TL+o4~DU^1|}Jk`j2)V~^ku62ddhI!Ifg2~3I0G%`A)=r_%V?+s0Zes!p74LUG;^cwO&?Vo zfOS~8c?t&YCgrm$y-~~5J|Y|(f=}GA^-`~$woE}vM;@A@9r99iz_q^tHLa8+qvb9{}^(g#wt)XJu#Tp zU0JX#8YV+{_L_-7=HrvkGE>kW{qci+P-QSGoO zdI@{+QoG*-&(Z~x^&BRIG+l1s4hEgCtUH&9_m8|nfuFngsWPSiRh zrlT^}=2HRmix7fP@RF3NtAA91e@n#u)+jiu&LUT1>cg;*PK*aNgImr-9u!rJjA4_~EvI(|mj6n(mcZ!az)( z0Si)uZ9l$0QtmEeskjg+YCg&^{R5Sz%cd!9v2vn6M08h|k_%&!Hp~6gX$6fV5yH<4 z8~-k+@%M9hc2;p1TofJZ^}^rJ$U@*lk)9Tb{vqLI#<%^vP*uRT`N}c~%dd zZEIp|g828pf>5CbPG@C&||11Qw{vyH}b z*R@xZQS8r28yPSog%nc!@nWAr=u0VFE40S*2p)Uq+~rsRtCJS@j2PV4N(C9!Iex$D z&a{=DTx`u3=K{uVz_3t&@42<)^mN0dX9kqtqCbYAwG4D^A1*WnQ`H25 zBG%JR%X@UboU>5D_=-0aw{4E=#*h_|RsRCG_6N^uz_bClg##_jO#sjK5gjX5fiJq~Ne!KT&z99zltkciP z%5P&3@p-wztvyN1SM*`A<%6 z_wyKhv=_J<&>FOD3>rFoDVPYdk8FFUB`uMx>MBx>>aLt)qn95K54;pE+b`1&8t=o0IPH=9X{9K=B z52wrL0Uel}{}ntK=`adW@a~3M$_yPe{!%gUncWnRLg!O>#`@{uG>h76JLjDj0A}AX zy-GG=c}XcQP%|TVo!oQuk$&ARfXA+I?bmvVeWjLi!K7rX?YKL+Orq(?5GnZJKG=G!Wv1bR<2EO<&*7{Sa84GH ze*K#W%lF~)>doHX=pwQ|NTAJho3r+^&pMEs6E)V|%G{V)zBWltHR zN@M{0Be2I_e6oVPf!%_T&4C7l^@uk% zNm_h6sr+B6cbkz}<>7Te8qX{!=hG_8149A;zEvndKrFcxtKO_8In1*Zp;Kdv6G4zY z3Z_-~N(rO`94-O`&@qj8tdw+L+hsmdM#7e2PkdEruE+-0cJeGYAyvrHD6ZEXP#DX1 zn?g@K45%D>>iXN=-32jv&D_O~S>NvM6UIAauMxPtl{A&P`Igw3e>+1D$4wva zLVz3UNcYjDeD35Xka6*jXSp;^*Uz`V9C>j1MZzL25`?Cj7Hx-!Fm{9kGewWRmBxli zJdtix!MJMdl~*%(+i`KTaT&y36(PYRDEpc;!&lzQesvz@{I+Wp+PF05^H&K&(jfI+ zuyQbOM8MP?ItwG3I4goCk1KJ?pf`%tD+bx++yGR_s94MDL8B1!>^%V4trnZ>GZkh7 z8w{Cx1S2$R zmX>xZ4ju2}ogXm7*4fVsD&2x;BY~|WVS4b|+ap+Bh~dy7PjYXXfL~Z>RDH{cy(S@d9)vIfOMaQ!=LplJDdID|+e?A_ACB(Dp z!*^XB7N(of`j2}7%E4yhZrUaeg04heibIhmuO_pSrY)UAF&^dyIfR7?>H5C-W%^o7 z_G;czOus=TfEwD>F$hb%5|SkzorHLf**r*>*uRz7!bnZAwLV6B!7sA#<=+7koiYT9nGy`oeJVHbE1+6t zv*T1ux~|Q*F}Z-Zvi{!lXA3o61Wi8#6^a>v$BNlqJYe++W8|x|lOkl^nxDFt#D0x- z&klP39>iz4fo43f`O1=#CugbAhr)MocGMFI@~r7Z{8WW`y4V>_ni(o4quRJU8LHHN zcmI^;z&ClRs6?f?2@4C`z1)`mb1LQ?TZx91I?j=(oU%HSuRQCm^ZK=+_dz}A)8L$( z3B-{QcHPxp3@(Z4MDq6$-?MijplBePEK-{hUE5f_ZHtbb{}TTx7d_EbAbBpMUjEd|wTR#{&uN@c07Wm(8(%Sxm;4*+9|ZJT4?Fht&KLfdMR38r%|iaU4xn1_G)j4SbUv(r0l?kk}K&yc|wLYWhR3imX%)Au?R;za3ZDZvigS>f5ec<;}vE> z8<&OC5ZrG5B>tCkT~gdD?$2(ZT73bg1(P-{9UG&$mgiQxh_KzW@SEo9%YN15zbvs7 z5MWFB&R__vwA~*44ZRhsW1VK6shi(U@SOX3j9=&uw%Z`-wi+FQ8@tNHJ^+0zN78qC zDW0|fv;#|9rp2oD8}_tq3(Jg86|AbQ&T?`{y4v2LOa&bLV_>M{T?7&w<8?;55p=u5(H5q zfP35l0>Omq9*bXL4fBVO5vPqoifJ-1n(0&TbzY)0-p^-<>o;Bu zjP?8$=oFFE1r{LN8f9KS?qB{110{_+`gy!Xpxj6qim0w^>AE;BZ+vxu@VCk%P);~axb5>fo zc4G;Fm=hFES7Q3fBJb5Zd;teVJ77fvKdnqRwm4}H*l^80ZkdRG+#D5aE=orA_=w%i z9fL#kL0$LF!LZQs0z<)P}bqf)HyDHx;kD} z^3rSO_dY@>Rcx9WUL}v@Jf-4jirhTw7VjL6mucZh|6aW>JjpP@ObkDN22%;DSP*F4X|Kc>^(@DN_~ zQF;p|#T*pK{`lr|O5yezs|r?M*n{ymL5y}temL&`YXPL7CegYV3v_0ahIXn)D=TB% z37&zNI}44D%R$Z0pSnp*O^)Q!bip7eV$m!fq?-{UnN$MXk^oBq3iA7MOi(YquxzM zk+KADvTzmjQw}VWOW=KnU}zTQWG7gaeeF%pnSJhKV#i5*x(XQ0nUzC+zyao*&YJf? z_hraD4duenoDmMZ4Zi#KlD^N^-00^D+^aOkL&O~G7Y)V6=6p8zn$+~n{8D8viiuc2 zpQpX>4qNuZ4m~sH4=&!Uvr5@ZC{qA59XXZ`2O{O4Wj2Zey$A{|hR`H}TL|j7Hig{! zk}q4K*jV2CQ7;SKiq^x^<+s(Zf@%5K3gFSCLm1)N;hK7!YgiV4L>5=B^*jIk9rk$u z!tHgoor^rahV@x+!5Pgw{cZHq^V7)RoYW_{E(Jk$SahIWQ< zk}XC$RtM-aH_t8G#Er1%fh+SZ@amQy-4=NLvaDU}`|^0)jnip1Vb1t%$iygI*5yy{ zSalL$|65N6*p)7*dCZ`z-R4||TmzJL2RQacNyNw|;Uff*9$xnL2cWm5;qWV|g)XIipKamJ=Nsit6w!K40z<7AAGmd0(WmK~HvZq02O(XVw01XMmC!o2a#F^jc;6j`Aqr)|!8hl&OiLeC0h?(r0+J*^pDyMtX{<2hQLODx=E^^n13=OmsT@6+Ac|_>Sf_akJU& z23mmxubcaVn|K=SIM-^VXvOR1As2Aatt*~P|KYC|4^Y&Nat0s=n3XxFMCx00)?NxF zQrlVz@-!~L3K`lJkJSlBwstf1WR0t#zSwAT_PcTuE)ndJ)FK;@YU#Bg=!s1yBIj1uL0a@9Xrd7X&-zh zLz;pt*|C}F^e`bb5SkfIG7hiVlg7;4%w?P&MbM2pVvgdHhf6yy(vcK_JEB& zPofx8xvQLY*TSFS`(dxGxy@k>m03yS3k-q_|96hFQLMUTf#?09M447FM@@K}bqB{e zj68!F0fKgh2G>D9hO`Z%F{Fh-r1?Ow#|}CaDnnxeFHiWQj==q)e(&-NEAt{UUUQ53S08{a5M>uApe+S zwHlb(c)|@Xq$v4dV}u+01A*ncG`&nVYxQ=sHK6ECLWy4V8D$wwl!(2#ErsLK$1%Dk z>QH-}G>1VI(iFX#3NN{pYbqXP3lmFP?t_RZLw6kr$^B$^l^*xdcmz0}S{p;6f z5(9g!Q7;7gb3aQ}56*Ks%x+e#!XQ)Kq&<5UsiuaK@R z+Z^{aJhRajzb;TLfFZ)y&{+0{hli&d_VLtm7NQgcCW|Y71njE7 zfe^LE*W(BOexRw%t8zpz7JVz8YIxWMG=9qErLK;qgz`aD!&t&zHGZ%AxosSQp}j?ElpJqD1!CC;4D{_nJ0nIDein@~}E~67R*3 z&J>(rJXOO$;ZDRv83CRvxGjM#TWw+y&{{$cuj*vRIy*aaQcM&?u|gf*(zlx8PnJWUn`=*NkNyFCthS7DNnT25Z~wZxPG%c7yQv=l%&GyX>5e?hnvf6o2gRQlVh zWg>lRU1A=Iu1w*SD-w1fP;lj+~z%0dy!bC8_ z@eKm$#cfAr;^b($vAFtVEeEf=t&XiTN2*EpA_7k5EO z_p!p`dl9J(lxYKwWfd<>T?0lH(x0gSOIF6CgZ~_)9(RIxBY}^{j;rX8?t3?UWysa~ zUF$lUm}`i_ZvutdN1Z(-Q8Onu5?;-#X*rljot8c8RJ%&OB!*{7G5{V;G;;=izYW_J zl_)NM$gBMaTM63@Na#Y1{l#ZqpUJvIxi3{IXcQ%BFn=p(ZRD0eoBZ5Jrphn8cv;90}#a6NW&A96oKY^*2f`~dY}2)lqk3mX#o7Ea_MoM+85ljhsuOd@*E z7#4s0bGW&CcRarLeE3pU&g{=pHQz9qBfS-D4(!(H8i|<*sxeKePZS`mMeC;rIS`r2 z`Tu5&{d{*O3iPKKQQ-+*HZJSIuD;5vD%eR%3Zn2D&(@+i8*Z}PUssuS$GJ2DnDwbW zk%xJI1zh$#l0OVZmU{V2>TP+Qy)2rv+G(|7TFfs%=!l_}9T8rOAfA%g}x&$Drb_x4v4oY>1JuxtVQE2ZBp4HcZJ?4 zT;xjH!94lFM;Pih!0>`ib&cc4+I(*r4E;d)5^yA7Lbj1kmxs!MkSSKx;m z3gu{W&1ulxfBtd9g6=Ogoq}H{?ySba(5X91r%Dr|96_R(5VB}{vKxVot%3nXZk5sg zJ?_?Dcb%8&u8f{{)NCyDg;4gaSZHdGdCw2x?=({Qa;AdKxr1`jeYZlU_ogpbo~|fD z2461OTuY87h|3?fRayBKUlSEVSamXk*R0}Qc zM-1MonPMVo!@H`(2zD0lu{bA4(xR`geFc>QVr$Zy;%_eIn&F<*FI_=r1`dxW5gV>9 z?Iy7=M_dW;Lo1QW%5($2JXF@z3~*_BV@$}%Ll9x9t&3jU`taxpBM0&ET%LgG-xvx1~9P$B&B z*i@Jz)r-cC2YMQ>>qZyE-?p=oe7fkH%z9hO03ons8A2_f8LO9j##5Uha)|}0>rK<7 zZLHePkihD!Dv&okZ^cZ!wv_@JNs37 z))Qjr25$i2kg?-eE-yN6sqwm>}64_cA z)^iZM%rNT=9CPHtPT65}wkT<3;WpLkUIZcG2cb}e@@EB1-?1SeJUdO&?^B#0SPkjw zuYEv_PXsZSASEde>AgKc>PPPzXp&B3Q@57}%oFP#wPnBNWtYvCH1a3!b4}}eUJ(c8K2y+OG0xs%A3YUcrDcPv7K~peBVr(0 zAVJ`Fs=C<@v!+VBRf7XUo7K~Yx~?S+KVFI(vlTF~{+ylT2-0)zcJ&gokXta((z2|{kwSDPto~whZ!^m3> zP&E?40h!&5aCThg(RZ1&uCFaP{AQ*kubP5_EHe2Z(!Q_XrS$_aAuwBe0+~8kZWX4Q zW|$F_e;kc+ZIbjY7L#|~yF>284IlLTs^mtUW&)SLnvw7ml{2MYO1#F?}K zO>(#Fsm5NL(R2|$rNE~hYCNwmTRQODw{T{IUT&c9@kWLpP6`gyL5C-Tl!fOpCFeX+ z2-s+gW~jPx+AbNZoB#7#*B+;A3+cBeSpBv?^i!a~jm$?%&VkTOejRyo)^mW^7ccPwT$6&5*!3Ny=U)fX3Q+5)wA%2}w84#&!ezq@EztZ1p!U-9{*8UB>-!WMlV zh*O$!A`nuM*xyV){43-lIP`hA-ZHO~A1Konyr^dRx$vrjeG8%NnZ9yKP{}r65~x8Y=-wTpSj z#`t`*xao#KEXDzemRbFH1iYv82nO#4(Af)we-Wf@GI28wO$n|JRlikFAPo8A;MK*1 zBqk<44IFXz)ZY6%X7T4jQPt%zUEXty8eLXy9v4ZT2+( zhkdz!a>2eli_(D83eraL1iZ1E5S`>L7?{j(`tug9_HT<*T%=|A?n~;5t%4Q(5eW@{ zRv5BV{qVc=y(nQ>zRhqiznMjP*~JOw1m&_}c{Gj4GMBLNAIqwII~!@7E`oc14{xxA z)+LD1D3pWPEA^|bwdgo+0hfNcH-nQG>@{6JLZ5A(RBbIj-R0g{IDT#jAV{sQE@s&f z%xc#=J6ScPX1`$m-Zg!8fc-OQ++4A}9g!552QzV9 zsssY*2xo5jy4;y#3X9#;#uVjsoTk}JF9C!XqtY#y7?wfVF9$uz+)oZoKAtM3tfHik zI`-DY1~YPwsIYL3&XxI!~gf&Nfp1uhjV72H;ia=)pKtVt+^u8Mf374evp^6|!{p#(4eT zx39jShKn}`fBA4d$l+yeftHsxZ{X2A3W#68Xfy5DPN!q3iPs}1QZsIe8WM+AqOtrB zO=lSwRrh}V0qO3P4(X0t0qO3cyFpq?>5f5=?(UH84nZ2FTR^(I1XP~Q@A>?B=?fg4 zbN0Sst?v@NPesYV_VUt$MUqyc{E5n|<1Mo7oWfE@+tN}7Z?bljewgBK%W0v!?BZ16TCeba%$b2ZjQoHy{vm-td>KbsS>6rL6 zjl6(hfgj8e(*1Fm9j7W%Ah?qH3rc9qPPE~~KqvgXkpW5yo-UyN6j6P9UvzS|r1VDD zip#x0+HIPGESd!W`}i~VKH-H%`RqYyu9JgFC7)ch&}6L*d{_XZsF{$p$yqV(6zDkr z0eFTNK-q#Bw%Zd&tjltOwGgwXVl!naH-~Y1f@G{;(iIyFbOX{-*-<-0f6D z7Jp}fYUfvV{a8ZLAaz;Z1j2QCInf|4v%jt8?wsDg@Pct8Lkvz$ZbNZKae5vZ z`^y*l`Ct}G&x{Ym`oGEJk|k*AS`rL$zb26KM;+VtiEJ+2Z+#X$`ggE{{>g3MqV(kZ z$FrYN%{^}uM1IBf$}#KMh7n4rq7WS8$8!ox(ZsRNNYTTI;h;;Hcphl`OY3v-)Js^3 zX=yPyb(asFo1Ki_{R`ln%ko@Cu1K*-*9(6co=0G9S(cQPmoyvlibv7tFBY!b=mA;~ zx6UYGym}CiH)mTSXQx<SabNG2D2YnZgbPg1G@R5FyI0EgncHY_4xay?ki!KHlF%kq4Eh4R{_az1?&~|Y0 z(4d;*6LT1#sAL+ie4Z_7sjt5Tsw(;ERq%}=sWYp;=>PTY2g@yypnr^cqC!$n7Um^| zMT4@`NUG*K_!QOAIiTi5hoiN#B^GJ7!&;T=pe}%psz@vp8M7o$3%!8we%znj0I>8` zETLnyl0tIlP8X2**)ERRU$k=FzRPffa-4QuA~CMk4HlRq6)qq4C%bW%8h%61^n{zklgu09-E-X!J@-9aTF!yo^3x%XDleM!?RSineKd0z{KwSP%OUe>ihDf>f!E+dV`q!tXz zE114xMZqOa!W*$5h}mmW=Qhzy(wHp zlc@=ao^p_5=3?FZ@k&h+m#u1q6}-o<3v#|eW(zOy zK39BFw$+e^{rQ&2|0F1=KL0^WYYvSG_gR#taxTY> zAj+iOSJ_~7TxLS{Whk)9F#gWCDF8Am?%JyIi=XC?X)U@2?)d3~QVlqpfPCm>Mb`3>eGL4z8Z(VFCmNRR*aB4W13!t4?qzRce%a!)QJO#^vE--UR*aH;I2g3+3Ta z)f|+=MJ{S*C_OBXfOSiCaX>5Jx8--8ASvqW!=hY@m-@m8kFZLqG%rpA84|zAYD#oY zK{aalx)hAN-m5s>FbFjX4g>7$jp=JJ2_Y?7IDbtwdCyay-;aBOUap$921ua2 z^>K3g+Fzdz6jK@6;M%WRN||V0YjKph@&zck>g8$%9*}e2GO>vvcLi=*p73r6C#LNs z6eU?oib?odLo67s2zwj{=U!AOV9&nh_%Qi1vF|@=@akckc$J5zYaBbOi=%W(BQi;& zz;UtsU_pe*_(eg4nQ=!ftb_Ri;Z8pgjPKAGV(JbyHBO2_%|7@Y@7`Ct4GX zS{P3n_AN#&S==5u=CzwG3pM%)-U?-(AJ2E==b-PInX1S9ov<=up2DU+oxLJ*z@Oa$ z_(-MFnPP9${&T^e`|m5xJyl)&>3-Ru! z+i6W_cv-<9fm)S#pb-7Wmz^4yL^4tgEw#J3eA}On^}#FpB?Jco$IFCZJ=r!sE?3ku zZFi7&qsxRyul^;Yrf(^>l5FXzE4!ySeg4z-ZceVl+uw&@wV2}|>Z|-==0ao@ zeFI|Nk~BfE>FH!^{WOLsG0y}MY#3q*Y?v5cLm}SWR7zSZ2U{YKdionL7tQA6hR{z} z#XI+6CO?*1>#mpFt{da&b3x`N-aOPl)R2lyW7C5WStl84AdtXD*C-50Yi$;Eu|Pd3 zKC3$F8Z6$W9r^Ea!y~%cKiQ{0gdVhu`u#g7EhfBWcRyZq0Z=7Bco# z2`9Y*s16HhRSzc$<$zoaz@JC*WUv2T&p5_IJ95(Vhd&F|V2iUlIFP^Hn{)E{k8G93 z*>Y;kHErpYlvGf#>wq(k*u9jNvA5z7MM8Aa+LuE^nZ!%#7V|oeff4uBmpa?O&M_s+ zC)+<4XnaaL+w(G(NWFPx+V)RY{*H=jm#C9q{T%T+pg;d;YGnM?_;sJAIk!s3o)^%~ zQvUbeG$F8RPcv1VpRUTV83aD}DHgcW`&DL3;>05S7z6HK>dQ@79kHJMapzOz^4EkStZXxJIA; zRBTK7OvC1@aO0Zjy}wx$G*w-HD2sH~wwrl44{6a>?s1$u2w8Vp-8r!cXx*Or7**8% z^qW(JxLRaCr%vcru8vu4q%4q>$+m6GTD)7g8E!uPti2`_2L_)e41J512Z@hN+KbPn zRmGu!LxdI7OQ3vh!&ZY2#P;0o{cyL|uo81JhMCz!`rq9U)%w$~Q4Be2EOA6qHI`R% z@Q_L|=D38LSaT$(l!(`P5nps0vnmVwl3@N!2|3Ri)M;-Z%HH|+3^6M9!~I0STD6f- zVT4mZ{pWP)#oY*4v4nX{ z>OQV{*??uXe9RlbGw``Pb)1=D)P>HD3Q~R$3R8kh8uqKBGRh1TSQ%8ZNa}KOU4hF3 zpFRW`JLk2Vbyuk%u=xXTn8(=~#pR28H3ydIKp(tJ2a?Nz^Fxd}ta;kke`BuC)}KJ@ zn8RzMl0eD%C%5>lv#n-tp{F!NGAbwm#r!0tye64ICYRfM$7rEcdtq13AgCxX2-TH! z8uzPeX^5#vl~MM+B?wu1Qa8z!_2~3+7~(~4S}lgcK`L-?NhLMk=FQg2p_q3>6c*3~ zEA{qf;o${A)wPsm5U3$Y@V8nS%ov1t+_>;ukb+AFg@J9I-)X4*I6-LytWr{^J*r0| zi9W{frxL7kZN{=DcD7Re+Jt}K)U$IG9tB8Ef7I zT}l?Q%??YKU{@$4FZ8Uf0NvZ?d>Tb|%t}Qj_ZAADd5K@|+#_B(Ort?ya?Fu1u_=c% z@xV*Jb#yPcb)%!=DY(4D)mVX(u8413hZ6gUoQxOWaCO0@CVq@r{}lb5SE)cemBZ*c zj1H7Y#cP9m6S)CDU4}?sIRDPx6<9Njn=!kSOIh|Y%Q6K=5lEkT@ywL)_DL7|cnYq( zuBU&GD}UR)BEin!Ryw+q)p9z0=}K56b2_&aT2779$Hm7(3^HZEl_+OE;|`%+m0(G9 zyjb__CIl+NvXyAtHZeF4kg0*x-^>OE#Rh$a&&U!93!6+~CUFBv@%*XK`Ko;<-8YL4 zxzQ?lys__S7^+xzB;Ho2NI^$Ilgo?xnWH!hB;bPfqcpau3wW(IFdI!I8$yUUCZ#QK{+wg_6=3VaQNsXm2+*<$Fg6%$P~iT%kBDH<+ED2Y5etB<@ZRnD5U1 zHPq#HJ&7x)YjoYubEXE6{@IyWW${%*$fqSNOL_&3I{aR68yFoV>IWr<{ySv!@3|r-cJmhv7y(+K zR&`$M1jW@F&|v}J57W#r7|dE!do$xxb>P^L>7)D%U8F(IWaAyl@lHDzk&wb=&w(mb zpDbh_`FNA$UH-K~)2k&8Wzo#9est)$kC6f9Ev`?DIV%sZnwK+v@Xc1l%0`o@mn?w= zMl7X>H#j9gn;)C*)^W7kQN1`zGw(5_gwW7zgmM8mA6#a#pnmD_qluw$egA&Z7=|eB z_yzZ}IQ=HKTyyk?(KHKH_`-`ofcifG2>{G9TbDay&k^;&rX#Y1-mf<1y<9%TT}&** zy_65E0hnD0U0{~_oZyhK!sBr`3tU2W>cm=* z$0^6{Eq!-N=%_r|3x7_ptj6jg)bX@EEY-PNzb5ell`8r55!oJ8 z>)AF3O=DF`jizr>ZCciyQweAj%zNc39Xh(n#w$_cMIdn~kWeL}2xItr^vG-bYGh43 zSQ+0V{I~Jwwah?Y(H9xx z7vw{)H?oy8@ArBP6VAh_0I2Now1ZQZsI=^UtY^tZXwes@yq4Amj3q!*@SN-d(8KG% zvRfca;qna^5MR#ONYu%;`i3w>{wtj9`=$FLLU{i!k=B-&CX|Eki`-%9z^gJjFLI%i zqQfX*G>Co!ZV`qa53j_J-|6*XYFu<+za$rvcIEK4#mF$zUcmk~77VKa=9o}mu_xf^ z8J_-3ecAlP>V11mYF{Pnpel5)UTmtG&|C0h1ZvKY3tyO09a#hz`0viT?o_77o->p| z={&#zCf#4nR{AOXEsENZc3wcH4;nYLxD}9zB;GgPK68uy1AEFb_jb>VP0;+aC63_I z3M4w2@*dnayX`fjEqDL)KB_{!d%B1XaIgy*x}J2z)ipRkWUD8?3^P&4Rvot-TC|Ct zy~@|cVURf`_i}GcG8n&K$v@SNHgN_^Qc*cq0|DnXUyx@)PPQ6%zzr|5q0A9R;%Ign zp00L~>0I6S&-VHWj4QxIJUhWCzVqEN9wM}MdPD{&Ch(&b_DmGDo&OYWn@9coc>TED z@b|5LYrs?h728keDcQfGMx9TkQFkWSgK#zf8YYU!KZsc5YD<$nnC_(e^n~qk1b8GT zp~xY;WWs~=qC#^sQSpKhQIWm}$Bo)Xy(nO_$7`$ZL`cMuVKG9PReFOOCP$eEW<<1? z(+87RFa#WK9(*&aVv~bJdKqm542a{GZ`m#GpgfHDv$i>)ZauNa<-RCep^Zd|!^B>2s;gwoOY zg|Lv?Xz1#VU+d)|=jhlJNfERh6r;kn8^h=QBQLOC1UoMFk*-#y~Ba7#hnLPHG^JQz*P!WABljI;TEtyBt^)^CI| z=`n=`lfaqz#j5NWXh4GV|NhVMfPyp52T()9PF9~nBqebx{)A7#pZ7WN!w7_N>k10` zcC|sD==KbV1&<0KVGRS30$7HRB6KNsRnsxlx9xC9KYwM#VOKQ7@uKl&RSY@yJsqw z9Ic`qc+{pLN^-BrEX7=;y;>>}z8(yOd+~66khs08l)+~U;2pcK8?TVeb#!1=O=sN8 zw1fF8KO@TjeKF|=@0t++)}eaiK+dmcj-Ku=>>w0aG}cJlQnaW*)ra#M6Q96*tHj1+ z9ctHd6;ri*B4m8Fsv-S!bF}nDC-%C!!>i-NmCp$$7THgyaZVwThxxU+s5`$umod^A znGg5*9pgQxOBh@Ya`_l=b^m71tV2wx!|=p$;b{vd59WASQqgd&vO-8Lst{``CGg(T z9!g|OY!8wGwXSs>H9_Jv=!wJK^>Ofgh7mAGZ}Vx{)i{M;5Xku#|Nh%#H2BBTrec8> zuI=MmIjQgH=3VM6Q*oadVh{#ls2NTzJ<&Le!5BdxR3UV{QqD!&#WAI(%jv!!yJq3D zQfGh%qa_5Vw>Ow1{q=Zybh|nQ8j=Anx7epy@|uM;*Q3i&L0{l;Flu+7DztZ)ZE|b5 zVX6|$n22S~iWGM*UZ!4V?9UqP4SMlPIpZ4e7qH0qe%Wpf9NsF&T1|Z2#fBze`oC;xQO(w2% zD@qQL3{n5j>g&6(2*=nH1Q`)jurc@#at!WG02w{Y1rf9$w&d<`j&(3u3|{BwX&0A4 z6?bj+`&xLUv|KW4{G*4)$o<-WtQ9c0O}M@Udi$=2!;0Hi0)C(;_*MH|>|SCUlIJI} zm1CB)VL#|LZnEVt?Cyg>CG_DKXuS+e)}IG$Agb(51#v+%i%?v-WUVP~NgY?Iq}RSs ziZJ2dQqjN6`Yz_R--eW@TPWCU$0Nn-$~}+q|CUl1P8mHn+v!S!&9iFMf;O9Xw}b=m z8{S)hjHBZE1L#9Cg}v(EGB6j5>~UX(rjf)iIgOw23}vA6k=Km_hI}?i!~F|9>@{;) zg4b7yM8KrX5*JN_2N#t^w^N26k%AD}%Yq@Qts&sZR;Rcp*@50SEsd@V&t!=mDX~L? zD@F!cKGt_Rr1Ey~t(x#JcmK-0G54y+t#@?}2Z`<7<2-IMN_4(1-QL^tx!hO2|00C6 zf7~|`K@b+S(1<=XcfMXpyGBM3OW=-TN`}HJ6=hL2n(&xozaqz`M+QozDM)7I!>g6D z79y7u&@e-a#dsPdUiy6fq4Uq1*bQx-dBKtMvC(=zGHT7cg9w*9l$zB}(j2u3$C9)@ zZS|!DV+9Y2Ubvcg+5qzD<7I5Xm%`3ckw%Vjb4GLndY;hNU2u^KLD2l99e*-w&At%* zGg(oCv~#DANAo8UqJPXBI-4RLR<6bPmIWhS*w73l$9>op|HYhY3R$^L`B?B1eRO9cQ8Lxh*+y9^xtWUBB}S00c=-(6xX>SoQd5#mI0wULwEtj+bZOo^3XwY1Nh24_6(r0oZpr&141FJT0O* zA*DM1dk)o;&UpLDboCSkTx@OfGB4Ej><+}IuR2|}22TKlz^WZ&;>{}yt|H)WR7mso z7U=bJv2AN*-d^^675laXtX{dIq9Z?m?{xw!6^w-RRuGbv?ceRxnAL4J(bpREnqO?C z9sjrI?%}4}VEuhEUlRCZYCtFb4C>o`8ErJ5h?6Ms?%Ke;XsGP|=n2;atTI8uuG^Hx z=MBI%(GxMZKHd1>%G7h{TO<7!2Q>YV;BC)IsAE zn^%8C=Z8pQAfVxj`jxvYk6i&g&hS8ez9W~S_9#9L>p!PlIb?UAyR@sf6oMO3tQ_~-X~t)NHnJy=d*jtwZ)|X>QPh|w zdHWF?=;7(L3A`zp(U=9lcuJtC!?8ht@RUj(W#dr}9uW`D2iDiWVRPy^rrhyhJ3JvX z@yM=Sg$WXm3T<*t494;i7#gy^L*&%pV3Wv%-uZ#i5(DDB0AiS-$YEkl)ot!^G9FNA zVGSK;`3!?7sG~r}mks#%DbcF4>6yDvcPG{!ouOubpIvqZ1;K3J{&R;BNi4;@2LpWv zdvjmatE!WGbN@dp^N-Wo&d(8EC(Z#rz|!E8ld4ks**(*7-=ex@Rei=dRg!K4w6UAi z*1S!GOb`NGT)IF7pYkNxOraBk6lXXwxZm~_$rwP~yoRh44#qV&>{MT z-&33<7PBfjX(#X#gGF@Z{Y(z|>t}}|@wcA>4UWhJQ9K8O$h?HIaMaltwJvueUHd!t*eS=h< zrZ>mL^YD-a>uL3Z84s6t;%cG8-=&zln>YIcd%E&$3?ZCVN;s}e5)5US z8IMvy2F!^=CGz${aEvohQ4n2NFmq&q&;lVEPh{I7*74)nH)F?@l&Cew@-V7@`-!qt zdPDgLaS9{L?9lKmt^5Q6v9#nyuPE>P;_nt5Oi;w@wFn(!`E7bIxUON>Tib+N9_=e3u6 zGV2P)2@xAYAoXw{O9JKeOEXF22fg62~hVsvyEO_*1T-$6^|P6F7JcJ3U+Pc0SLCoq&V_3X%-~X%i1$!rR#i~S0Y%xrjZP91n8U* z(lsy_X=-ZPscF2xwkaP$(reN+M@3_tGTxFEeNgWs@PUwAH87Cd({s_`a-rWjy>6tB zGl%pZj%#p|m|c4^kL5=cAtvQM?d@BC&7*QHq^A@)N5isvy3>g2;eX=wy|HN(8Hh=F z+hk__efM{1S0^8l>Q|0KOc(#qXqeJ~dUlwc6o^=6z7!UN7f0xh&B6XfL-T?e60cCW z2S=MACV_fPWB&9n8GChoODKDc>j0|IYWdSfaQ&e;i2wm7R4o&=fz(un)STo?*x5o3 zueW-0^YB-!2~iM6bhf)@x+-)M66wK=vj&kwX|+PNE44h`?8WZ zn`m~Gl@>StQe|)1ZJOW7t?eRXCfcWLwQg$N@r}=Z9he+LW);t)v^TX)9D|+b1vKEO#g6WX8VKJIVJOsP?`;3%0{h3HzY~`jWPglwN|Jz_|0XR1KV5fP-DU;g*N$QY8fjLt?_WqMvhO-A(SydH#rIity z=>3SQc{7^;yPyxF%NIww97`LEQ^yYH`dQ_*7N{M_5(COgR)=lCpX~zV&|7fvp>uYs zMJ=YealL$#R8qPEE;lYepPkWU(09K}zwX^8Hs(BDA;}~&6F2Seeklcfv2!5J0RKay zrTp#XnCJ_LHX20Yy>p`ESpQH{>?~^G5YyC;h>v&8+L2|{hEl_uzsFVx)*t^CFZ4hg zC=9kC*%$OQ6JmOK$J9Vb+m_hP^nl-TVOpGiGYib8cSV&x&6#Af|o*s z0Krxny}2n|D3ofgL1(8w(dYIcn%K#M=N#D%Y%;56G(ur5__Y)(SAY!p8 zbE|H)$|x6YIe%?{PZ~~)nGnpx#8JkF<-BeJe#&hC$vwfc?I*jm#dZ$;+i%7u*2woD zw`kS0viX&4RJUUCx!o6Z=7-k?gk7WK1>;U5_|qWm^vCy1!H~=*aQ`&Q5wzRE%8GfT zb8TguvkCK)%TF*ORkGhGr*Y*wt~6V{X$N)n-j8f_qQq)hpR0iA)<%uwmQ>ai3Db47 zhQFWjpCtm8}2jlr++n ztidr9f`m!NYmFgwc^a1+K{>|27kdHbg9c4@$=jh%4+}lZ+&PX&Y=gV|HRe-(fA@e< z#tRT0=pB4FS1WRS%;*XrM^<1WNMow0XuJ-+JmRgmC4gWWz=bG0%>qcNF-j z_?l`oQ=|K5=KI{y8s)m^tx&i(n{_L*u{yngczDQKAh1Gcc=D!|-q6}IQpEdF%@E4b zBcO^yAW~^|(y+2QBM3z7q|~hNO}WdSL1F62YAy9rzk#!q!XH>A)-;!T1rV3 zC#j)8Y$p^S&HY+pf^>c)91M+_bV!HmQ6oZ7C?V8^3ETTD;D|sVLifuYiKzNv%_$<# zw<%?rKzdTiO~GzsT@_{5@Pb>!-HlP8e~oML;+}`2g8eh`4E6A1m^iW zAmY-NXEKC(GNxeZE5>8{_p-o0EvrWjRkZ>P;JWAmYb88Nf1p>*d_zUs!&b_~B#tyt zcI!)9Lb-@!q?3fm3NgK&W8wU|*=s27KJkuTcr#kMc9@cW-ScyukWiM&fHwVMt;tRBRh9bE z_J8Ns!NgvM6OS>@6t?Ywzrr&mr0DZy$p^+^P~L+aY)BvRc6^L%ut_A4_y$A7@YJnX z;}yK*0xMAvXmpx!fthe9G6e8n1292gdLi-k;(UNGK2^XSC^2JSt6E)G+292h=`{59X;Y+;;^(7qteDFV@_^hjJaheKQwis<<#+|2(!&kkpZa?R-eYeAJ?Ri~=QDJlh+sn>Ny?>$ipB6fFF<87>r(-f(Y3h> zosPO;pokdgD^dH7QlsdQuG%PyMD#sXp?Lh=#5l-cZ3AOg-*wJ8MI3}@Msr^n`iZaQ zmRQE(7s}h4dpYI{1CzrNF7oH+;AbQA6wmE5ZXEn>fid)GqZt*?{1JhSt;xw~;YNjM zvf$S9Pvg!M;rad~=3n-U)xd2WLiGny89{WZwL4B|yBSzmu>ZWVo~L6812BhZDp7y1 zGw^%7Z7O$j`vEcKL1?+Go`t(otj$nWvJ1X1zMilgzV1s30}2x3=ZV$h-_3?`P7VXC zZ~MUySnR0LXaY97ooWd(PY3yq1pLZ5t?=iHDR@Rbc7H$k@P88*^1rCbDU5Y$8p?UU zKbh_Hd(Svs)cp&*+OB1t`p3ZJf|tt2aGo#>5_sShH!o(Af>S!C`JJ4muoJEpriaJ| zJVUT=PYoYe;h>uGJ%?SV=}SiS3Q+n;I6@4j!-I6fe$wBw`1sVpfz;H&Ow{lnO=Hr! zu9VUyuEa$84}w0Tt>xp& zaPy&opTzQy+D92^rPL&tAPgu|S{$E*&J0CuR2JWJJRb`{CvHMzdGdc+06&A``{U8n zAVaJYXVa==oLoNKHvAA=plZ?s3&CpO=@^J2CU3JYd%xy&8s{`h66s7d+wR&Gz`B@= z(m_azO7Rt2YIdenf`H=yWTmPBR!G=dog|O79#gaXyBCy3D#tToqGk+N-Tm%(NTKcp zs60P7ai;chX$i2hRJoVKo!wqq)=%r3W)76r^nn%3^TQATP`K=l(dQ3@0%M9st-l1W zOmn{)e9veejxy~fZh1%m8ozUZ>%f>%la?NMrif3u6VOP6u9E)@Ew_?rlLapnzgIs)S4kgA z*iE|sfW;Y_hOt6)iq zA-1q=dSO;(_R-1(y%#UKjv?dSgQdxtj>9*?$>)VpvkMX-llO*uDiz>J@E*WOkRy`l z5fq1U1^K&nN>W~vDIG!9158||7!=q1oOwmlk)P7)JmxMhFGq`@3PDjYdUh$rw%}d` zX7TM31e(o-C+4oLJ61{Ul`mQq0QdQ$w2p*qnTfmvq9cG-;Q2eH5l5GR4&dM*&*=n! z<^)jEC)GwBw?JJ7cF8;K>1Klsqll-F{DFe|)Tx@la!1?`f>J#S2%dU2c)+>QbUwPcVH4CtR^@)ySAmg8!=GVy4txqs~KkT77&5#O%d|||bDLLZO&XQ#j z-Laqh_GOaaN|zwF#~&@FjyfP2UH&$51zlbMh=KM0$_|H1D+N38GCLMRD z_;m|0eL(emM8df!$#g<1{{-o6THrKksZMZxvn>OwZO9KbywN+2TS_ISFd~rsM)rQl z76%@sSU&6|Ip8m?jX}Y3+Li}8BCLoY{{F-e{yQIz;@@rI;SIKH_Jp3jwOQ3 z$$|gf5G{ws#BxwH$RT`=0^YmX*fgnq-Yc3sNH5N5x$$7l=Zt>=OlUHJH>D4Z>j9|a zhgFt#SF1=b*Os-E1WJQ1R(r23!P03YOeQuCZroRuA<%Kfwvbc-lKjJ)W{N0s|Kf0YqmnmuDFbD7HB6e1zVTv8(VE>o zqc6#sO+pX_5POekIBP12F2MHP<)w0-P>hDY{sVX~!fpRYM_OsF@_Kt8VkfYRPUG(2 zj!CHt;-_|3J3cOGB_}0apRC+ve_U$=jY*SFM=aCE$6hYn@Z>T~Uqi2X_$;`M4{Y(I zkBGQnq!Ezq#*g8@meziFxYKkT5Q>5r8aS&%wd*dhex_NWTY{pc+-flyvw|ij4^JD6 zIU+rhHDy6?YR)XVte1uWVXF0g@~{`*wzKgCh$I*uVBJf(Cp)BnL=k7*n?6q zKaAHG)lSN|7tgW^;Yj4EN%*{1{O_?cJXUzNxwS|?^<3>Gc*ZW5OVEbIi@+6xIQupg z0y+)38A&=T0{665q8S@>VCh3b`3BC>so#)K|}m6D?DlW zF;yy$CIr`g-M|HCW_Jp#$MfOiK@;?W>Ei04I9=X1Kw0~IhL!+v#rt2qpyNc)A|BuH zho!^mqJ`ycTE=)86FHG{$!~97v^uVUziWTCTw{3m-@n)@Y~kAKT1gmA{$OwYY)8O^ zeB`b08yd|Fy=u%@j5qDa`ZrpxsXMq;M7~b(MZJYRH%~<_GV3nwRJ<=wnsSALQrigP zaTusk#ktLbs3jb$CC8AM)zMIYDKJ~O*sj2+J#}JVfB8K!bm!cjntNA6>Tj5tb#d{5 zR{EVf8mmzR6NQ3e9BrTA`r7q1)j~w2BT(3p^H`$f3M<3gMI$ z6+meNHk5QaBeGO}1Zn*`IcP^o^5R6TNH3hw#ZAJ&|M7Fu6%A_-7<03-el)oe0jJcG z>2-`@h9iY-r-X#cXK9+*x9u)DZAqM6zY&H-QnxPt%f)E&n__z#xewB24geoG2a653 zQBw?@$}21Rl-fTGY(B<~>%eZQUp%|Vz-$X!qaLhl0L(Le7(Ya?iY8eO3RxH9t-K0jCK%aN?0De~-@ zd=_(9<<|~rO+s>ti^sN=t0c#jJT9r)ppCzn7bg(hFUMyT=5bUt1wF4b)nUJQVN3|Q z0v>se%m_>Jbx;JqwU-iGdv<5ydu8w5)wTD*Xpr9n;sAY>V;gCDH4|qbcU2VoSZAC@I@9@v(poT5}|)^SQM48{aja% zf69waIRC6`ozF^O*bGlL;R|y2(juYw_x_|^oSGRgx%x>yeYLgyT z{_4b%eVZ5j-XDNQ-F=+JEOLh~nU!7{=m_l!GYh zE@#7|qRKNPL)<;DTiM491S+CO3{|08OxMaQMz6|k=%f(D6!VW*Ud2(Aogxv^^gRi1 zC5r65L5{5%HCj`;2UTL2Z9zf7Gg@SFX)s}=$VHJa32h=CDwZp?PDaQRLXy`~oKe&3 zG5Z?dwYs&{vo{cqCesJZcXX=swc-GL1;=bp%&H7qfd&T!9fm^4qUE_GQJg6)p_T%F zJw5ggDR;QoeRlSZW-~YM84(CuU>oD9;Q2dODScCCHtoUioNou_hv}vHq`cPqVhq+! zf-~LsXl%IGoGJ2vTJ;F_Vq_(jK ztcpLeQaC1d6Vx(MSdRaDf}Mr^Bwm=#XG6dpARUI*S(tAGV&I7KH_#vjb;h>71Z z-%`o{A26azgh14! zpv=^@1Z3#B?o#bKXoO-LOP1!H`8h#h=jI9CtbARRysUy-bLf;;9HFoQb88P9y?IBV z8y=>K*tP{r=5;^7E%YKF9&!nkcHxeHaL?`$^Kb&ArJA09-ot&MOfK9AQ_kVWH#guy z5V_>z$sJVt6zjBv*NNZ!E*TrV4v0u4k}OtGCm{UBaa9a`zN&q~!#M3T0zCu$0Y}vmdTzRBK+~ z9P|?Zj`FFZJ$5zKJKXx{y8Gv)U+{UsSCq<&tMVJ)pcU(6Rrc@7egE1oHZY^?7Nu}t zy;-A(atZJVs5>mR*Oi-)cqj*a;N%zSulnn_aZm}nt(KiIWmy8trF}VMgf{&P92`~Z z!AU}THRd>lAS3!?l3)U~y1wFi*N;EH5qe1`gbvu(I4Lnw(9+XHGRdDlQYEQmbuw=6 zq*$#2Kf%q>g5bP{$(k+4zyC0eKK`jUwuN8GL|oghxxWT7*XIJ#?28@n2Y|evU--ep zoj<%B+)cf<0)pCSa$wJ06NN8TOxQcU4_bp5a%gb!n$!u+j<2N56(8prk>0GgD~*#I z!Oa@9YPQ15v*5u(nWYup#DuUl;d+I)K6f`v(Led^<@`&Qzneefj?%P&c2XEnfKP%{ z#{Xuea=(F7716OUim<1&{=_wkY4SDWrlBnq){69D>$70EgFD#lJlo@GYF*w!ooJ;N zSMx-^hqZAb^1w9F(R22cl)1--H+_r-1~e{tqt>h7bgep@xH?d1R4pNGCIs z#OcX=&D7@?x3%_HQLrOnrK@GuAM%;Hp~s5^%EV@{O;w$#>AV~T^B?DwBp{xu$B4A0 zhsXY-HT?B#@V(I;P_(1y{r-lpdOTf>j`Xt;@v4?+T>iVET>6g%p;5XtjJo9q^W{zV z&R8Mpf@gKB8A~j9hHWxQ39Q@4-ZSJ1$BOcz@f!cd$W;8#IcA)9susH)&u`5k@|Q)q zh_5hgN@U!W+sz*KkN>_Jek)}SsOfR(WI~-E!p&HBf3Ryo!0L=EGh_djig(-Lt_WC&3a`$utx;)`qDGM*MM)n}8pR55 z5&|dXu_u+1g>s}C2gPUz7;sUGUr@t-Hmbfc=hk&$cA%zVi?obqtE-hlBW6f=K}{co z(^rpBEXOeSZNwfVg>lN&_!}PiUS52NFnmuz`?GfbK*ZGc_gGEGX*(cCCY5WMUK2r9 zZP3%t1c>p~qCASRJ1N?Xc?#tIk@Qt0#R!+u$d)R={8yE zEF%W2nTW-h7vLnM;ApKGAkLDeVzM%;y0Z|;lB}A(<3Z+P_#^|W65*& z6V7DPWbo5Ul`*$c;>@xSyY25HVhrUcy#cBrumZ&|$p^){QfVfyx(0Kg;c6LXYbvR= z)5Xjx4%>2#o@eGIAzhhtF9uuL^Y8O1wlM zlS%D*m4_i9UP%?K`G7;hE5jcMW!8ZN`FhewhdEh^(JLIoWZeDfl_4jIvR!Y{$^VsqemgV(3&Kf;g-ToR$! zp({RtdV#HQVxB(CagL=pIdj7MHN>6R4_MD}8$dEvexJHTt{&2nL`cBJ3)#}fxY*cQ zQg%kXDolkw2N2wAJh~RKtc#N9J3OGz}PKieg>op{WsIwl>*dpBmv%phZ36Cjb>{w_N7^Wc}L2LD!LnhRdAXm#i| zp6{FTSOsnI(^c*hhK3DL$v!)p?6~&Y)P5CwPWzl*V?cM@%=Erw3+3s>FSg`)0tSd) z9swF+435IEhyigIvC-kEMd=n3*)mzdw;gARwJ6 z4aOWuE!LTLik2%pCB);9NuUv(DwNeRxLR(q2ZQS6j*rg$!+9+$D$K=QeOK<~0(6@V ziBldBF+qi#$3UDumzOl5N9`$A@ivFV5@6i&5v=wzs3u~8GVXcI*dKwthrYXfE&5!{ zL-6ZHo8SmbvS${a9=kqv>((-p#tzX3YP=u9U1%mJY)Ij-z`ysf@Utz`s#!Peiqb*lPvFj;R0wVei- zz`7U{1t}keXN5tW$#<(=M+U5zES-?}>!yqrl#8MI+;YWG0GhBI28}u7Zk8xL-Z)ZD z!Pc_HUn&{;urXB>$w9r?%zKr*j=$x}5t=3%@DE5FL9DV1C;yCGQlpZsKB3&?$?0Lk`9n28T|S1)ND`9o9+IJCO-GnVxe+`k+rIOvJ$Yo*YW*xl@~SNW6&(p zu>EjXQk{zc*%N$P33<$J3YfFp-28!(5Capd?(Txg6%`u7L%tQ!7a*8H+ehc%X2S?Z z;cS;ijGXs7wFWHC3+BlfB2rN~4IUJv9PvkUpJ)lD%d7x|u<_u(2 zgg!(n!8Z@Hs7^U-Y~xBl1n1HxIjWDeH8rEj1vxAof!mJX6*CPkP0_78dSHBUACW>Y z^v(Yo2(dVN1>gjxPM{-bLx5)+b6r*7=xc6qq%`SlKVFySk4(Sw-5a~ubl@_F11f;vWL0Y=Lx$jyZf5Tc2 z_s%nO=A6BMn?)=^t>Bt!u1x15r`EdYZlkHfIP-l)F~AbS2GT&!hFeq)y4aU_QEV_y zLyUJgHf7h*vtQpHrfSSP5B+2x^7A+rk|ia&;EFGVc7AE7@E@Lhykd;g`mGo|814}Y z_w4fIWf2bN6hAJBWWc-lS7}PYyso#Y|3FkJaITSpT5#d=kU!-Y@E@@=GV+5PRfp>x z59Pd{PayZ>PTD_k2r-WwuG@gc3ATnea&B+PXMdJUhC~gDU4|uv*>x&OP%$)OxMSKO z1o5w8?g5S!3}(|+>jI*mcf-X*RP2Wz?^5CIpN196GT?}My}GMX4T8b};`b}qUx5Rq z0G(aGb{D`+6V;>qHL^G@iU{`AHbv3AoQ){XG0#V36c`ga>%fNy9`ksi-m&ke zae&2uaPPh6dDZq)_pw@t5jt%F=7>6yOXm;)q2Djm@q%4MY_U4r526KUNHWNLH&veH z`y=quQVenoh)LdFqmkdU9@C!gfULTZUGl|u5kLF-z4zIv0h<@d2U#Uw6KuGLVlAbP zHN&-nWbp(fP!O>hRUx~@`~%_Wsan4)8TWGNydir;8T+mubY>K z{x@5|x#XDo4nSx?;L97_I5J$yE(i2S2Ra@99|`0>#BM0|n56&*9cjxhTlg#(Oo5@4QT8BOuQMza6ZppuD(CI> ztQ3Wf>_1((VUL003*61{Ywm$7%B0=@A;l{el0tVMb7`=QjWd?@nYU^p?88~> zwIchuD!Kcf2tN76W6mv;c(U5!q_)1k_l%JTsq5gYFv*!zKIe6yj_}hnU@$fKMr}%W z?c@osb$$Uf{9wr*bj^sKB|rJ!SIctl8}zSx(z|tb|j+rJO7R~G8f1IMn^m}^{q*1w;VKVh} zLjE?n+1-p{BsAxdA_Q~ad=UqUYCd)Qs}X1jm28-g?U*Ef$!H+je>S4B1e`xtYXjLZ zFL0*wv-+2c&$64~=OprGj5E-vF~2F{DcH|etpN)GhTaWu%nZ`mx^nW7tlX554zx$c zRG~w`5cn*py@_m&mBp+FNx@d}^4{)!J9#KJ-6`#Nu{d<5G?#=`DoPYFwZgx**8f#m zh-)U_LHt)Ezr*P5Tchnje6G3K527~%O#}12boL+-cO;TF~#=bNO z5aug^T`sgKzWv#J`QE3?zL;FIB%PLI^s(cT6lBG%i2MaLH_vwZL{paQ-T9NT37l5c zD`7#@(2nkQJd#ZNNfh;jd8E(hegex;&bhm@)f=EsS^M4|Y`B_>zz7TUbqFK*dR%+H z+w^E#Ox3+Z-|v^TwY8T)dy0}>=xjjdG=r_B9cB+m4C&gE5ht^gdTwjQ78po zXjr1Tnf@NA1AwOM9k&&&`_qp~6(P90A~zL@=>qQWW-5$e__Z3&fY)7bGG4#Q z~S$I<6qX;njn9q zq1#i_DSfQ{5r^8!nb|+_Kd1T=3a|YA{L#YM1@%SjlEt8L+Dy6d&EC5veVxAAZ0Mdn zFQVmoBV4Q)4P-Ak-_WqO#P@ngln)M9KKEq8yPnE~CJO^-Q@uefL+6Rruf>XwZeFUs zlh$guuoS@tE7wRA2wU@?g#Ve&MIBV zF6iRR(|^UQS%RG(N;w&@g(X3e_a%}I#jsgxME0=;SP6Tg+KpN)JMV8+d~dei0+UW< z%<}a{>dJ>94f$sA7{9Zv84x*YQf1niCmq$M*J10Ki zVx`EF-S(&Bw#W5+tY}iVDLo^>&2NWyGyWbIl`#!BQzP|-30?vav<_$iLIb+i+X32@ z+k_Uk{Kb)h-hzXnNnhv!SO>tFv1MxoI%%NndDZ##dBX5ac1uf))=n$yV3h~H5;qsb z6Ld>-K>PJfLYdssYJ3O_k-sbFe1v0__M=4FkDXFY1zBki64`~mY|r(G*m4X)4zc4u zycMB~<;IrQXhTfBtON0Lfy>kWenP<94~}=&-O*g|)eTIg6=!+B10+vxzTe}=%oa*W zJY0&FS`tcz)FNU__D4Yu%KKbD?O|6O0P4}l<|ljJPJoZ;G3R7)mqgMdaT6y&$nxHapa7?#Li7(!FTfov=Jqqrfktg{Nv4C zcHP-w_Sxkp8c3kQ=`Q1U$Cb?KbMkDDUrTQZGN|O>vCZ10o^GFWRgktlDlW}^Wo&P0 zU@Hh^*|*UNVStlI*=v%A#Nz9v$E#gpG5@?eyz=WXyF_JVP8i=G?NV639l4Aw^mhZ+2&l{IWl zPhtRb;NUy7pl~sL2z-Z{X^*+KvvUIY*Z+FVMzlJRx{Eu@Up6U!z20Bt(#NAWuTHgJ zz)^*VheW2L@0CyB|Hg?}Z_VI-KXo+9R-ElOwOWlO%4@%z8PIl7++2C6D*C>BqW41N zGV{*bky1+D6pnBvNT9fNaB+ZI(TPm;htGC9okV@(Cg4JW@+lyT?zO`rpXbSHG%+vH z)R;3#_FWQYRz>cd%xrf(6LBsuf3FAungC@b3}X!d@1_es>o_94M(dYIY+j2il%`o_ z%l@$Slf5HxQ$Ky#(#eHoUs_D05e@gWe>XNnUA)!cwTXf5h*{iGa2wO!5)eSn1}B&Py%mv}y$_nBJkTAsgyNj8ZJVQ=@^bRHDHk`4>f4 zpAAwm&3dO&h4=t~SpXzY+0`35-AP2-{>^1lMGUw3hoaY+#(4g?fX4cgo+<+on(GvT z&4wnWGpmlKHg6Vy635?c^LV8$ACIYu0WqA>sz|crhrAc%k_kUSN8UaW;i5+x@HN%0 z3R7AEHv_holP-?utbj@maQz&LvMcjhBQ!-^bws*FOIZo%*7>zrGS_lL!HfS!f7(;M zo2!8Z1(Vh+fvc(40hwYLck$!%WTJ zQi|pazDB9Ef~a{j5>;p{GfJWhH$p|?M(nt9P6-O6%-hF9=&{S7Xe9G>qsOH&n_r&e zjPnzVJ8cu1$9PwSVE5Vi{QKF#LOQ0VN1~`6?yKTrK`GceJXcA2KV9~c)3Oh+EgPB+s$a33>9ufXFmaAUp3ah&n}_?W4v4=|mv{xFg!W7FzYXxDpBl9M8xQOEc%%qIF(hD> zcvB&LaEpQjk7J{J@ALM4JKGiSotyY4bI53ydM~Xk4$lwlW)z6BJkLm#k(&KhxQoGD zw@P7aCGkMZ3!G&C6OH=Py>eE+V)wQ+F|*t(e`axciBE~+KZ92B@Fm~V%c@II_6;XpL(_$pf_?8fsX*cYseRj&dJ?Mb7XGm~orjkr8EAQuwA!D%qYeDz#WE zv!yz*`O5N>SANmYi8AuuD=ast$D9j7#idJ3PM*$zi7iS5Oa4WsxNSP;*P@v1A;?0g z6k@$2YCo*a=pDp48P<2Fqq$Mq8zTCN1s5BrhBJhOrhcHO7w%;klAseX^c}d@p|>m- zMXkJO{2Q~v%!m>$r;UqHxy^B)^!(3f?mzOvT!-{HsKd4IM%XR9rGCLk2JQClb2U~l z9R`qvSBMKbz5K*Nri(E5fy(bN>-!lfM_pmPLp|7F548PvD*jMm4?%@-As@*+4r;LuHz1yX2Q>JLI8EA)GH0R z$U{~7_(87M;X*y~20F0*Fk?{$rDegjIj4QfoUx@EhiEAKssv-N14#k@cB)0!)#lIY z_sfq1)-;szKF@L2j@Dg?%wnEFgOZCa?Nggs-!^Ixku~c~-3|PdnhY_CM}%m*hY9*P zGMj9%!86o3d(Ta(FCB&zlhT}BzPulh#(yV3`SN`pJjIll?GpQ7f6=j|iirBNOMyYef5R^~}C%u80l5{q> z&JP(pm@L?Q?&y$6Z`AF#+jw|;d@A8s11tiB6WIX@{C*)A{+x~t_j+4eZs62uJo z+X33e$BjE#q=z5=+wi=3`KgL58gcfjHUvJRo2PF~n}}<(WL?;TqG!D&sbe$Jq)Ha6`&*9lDENk^IlmS`J%C7mg=qA z(z~(YeU?qF$OXzBU@7*_`T#;fJis%8n@%vne9tuxF()@cwn4+#u~3C@h9N8}a9@^W`s$mqI&kj~o>1;GUMw^B%v37~*6#Qh458;Ux4#TVP{Eo;xiknui8K z(a3(}@lZ|t5t%{2l&yFBHSb;K5IciIHZOiY4MgqcI-1O5@onYA0sWb0uj5_LWQbJ2 zp~oF}$v!HCfo7n=r}DN;$jLo#7C+WZw8WL-ylYxNQpAJ@T^x-T<+J^AaId?q?|8(; z;q~x=F&iEM0j#s%(7>0fH>niS){mW9J)vVD?)K~t94lQdgHoY745FJQL_+c=oqKQY z2R$zaVQ3`Q1Q37mC8IPW#x+E%3J(hOuHWWC7Jd%>D}NhgZ=a#Vtbm1aw9}uO+J~QcidC^lmX9$XGO44yyUc;Y13M&dzDOPL*-;F!gocwyqy8S4% z{Z6m#7LLXX2VmE%nq1)dhqE1k8}nxw*j+x${F->p+ujk}*;Jx3wy(dG#z1Ol_Pt40TZF z9&iX!apk<`&<|qo^1$mP{*u+34V@M_ZFSol2VKR`(t8l;11n8xL$+?#KjTgJc<$Wj z2Ip^>AT6j^-0&Src+5hEYokctxeG0OJ!%NZS^^OVd+Mo0cq6i6*1i(Io@ zjaNpCmc8>g>dIe5^}I1liPpdA7iamN-3$f=w2t8RUXlCmiD>QAedN!b$y7D*BP=Oa zIUPF%vD_uXpRJUiXw7+}V+|p0mvgeq95$6HChyu!9g24zXWLXN{V;{9Y<4`fEP%!f zc)xhKvcM|}KlIlhUE%qo&6EtLL?G|gS520kpK%1}_$(m4_7Sh<5zr?R6BA84XfV>E z9I{g>w%oM~FzAtl+eQ_D zY$RU00i?Ket`V5OQs=0m{&9NmqV2bFcyYN=X0fn`K!vk6x^u%k;xfL$5T#6<>Y6d& zhZUg8RFD#Hzhf&XPDh%y1Z_#(vyOgSL!FLZm{`B)GGO+JG`Tnl3v?HOPK@_Jy_E{- zrxdr6z>|^Zb3+NFH&yQTiO>HNBmmEfRbLlOX9(oosyL@AeS`OKY3({gu?K8cJl3h? z;o<*Dk|IDv%WW1jO6+z~RUiJ#WRGqSa*CXaU1gxE-1ygv9rtQ26GC40dZ@FomY|hKG+z^KIX^Xgc~O$=Wobs2YFRsmls)&slo@ zsjrMw?#jNu=(~t976cN#+{pBm($Eo4@h!pC-^B*uo8=W|-y}ET(gw1lUyEd)?Jf%F zgL$(v7{lcj5Mu5iMJ<77PzS6k1!O5CfD#tn_Ani0O>#@9=*GJ~mCk zzaaEg?~D{$g#{dSh1PsPWEq?Oz)In$N?_#pcR?$BSKvzmRf-`JW))Hr+sjvb;3|n! zQ}Hj@T5H>@lx?W$_!NfQqOv2Y{IQY~M5a6FJvHfcy$p zLSo;=v}W7sm!s71MeK=usc7$@=%0#7$OEgPV3*0h0nnQdxY zVk=&exD<%FltkLHXLl+XIJ>t1)1w^B9oG!f&a)4ND-4gCmXE`=w8i8DY4S|jp$NB`B%%1H;E9T5WTr&u4FT zcu7P*Jb5e&?cTh_BAjgBJMDd4Hc`S37)`z~mH7{oX%$mj(T}(;x&I0cHCp42W#&AA zVjX-7Phdg7><2}FEgz>SgQ9u~y_AwN=aInQOgCqdiWs+3%XOPom4+|)B{j%oKkn(% zRq;Wjs$NIJ3Q3NN3Q=(($%xnf&6Z3ftY<+cZqlCf8h6o+rO*zvGvq$~gJn;HC@+q? zRo~`fkaLe-!t1o$SzL5-p2@*!!TTftLplLeZY(Rz7y#t)IfEx3K*2uykOL8;q)?#J z3E!-F@=dJEOe`i{R{vysn(QjzYZSfg7`jTMPd3HhT%UrjX!7Vw8y7{$^iCUY&BFGA z#`=tW|2$oO29=9%=xxzxe0)4OP3rCDI8`J8J#mq_vITxF)y*UrTxwsm%w_DPg(xW} zU$s}**R~*pMYe)|QGCB;-vAJERtVqvdBpcBUi25`^gW{+?xL29L)IfaM|cTiFj5|n z!}4^L%v;KD@~K+NoEzVrcr7AtH5{LEWCLE&D-8cSLSBbOfHqeu@UKWiJeD`>C-UR< zJg4VkPQFvl^DiTk(F|y7*))>XDS?oenGjyw@4oXsyA`C;&*fgGvtlddMT{D-2LmE#}NVQRqF%gL0R0QxzR|$ zAI`L~*ihUomsSzq=ZoP;F@#iwR)vVcOW{aB%&6E{7hWX4n_+ug7|2l0TD*6hz-&2Q zeqe8QtHeacOI2L~YBAYpBC8@kNp55-lj$JDLP=I}e&3b`!_isbZ~&7eU}gfhI?z{` z{~U*YRrbu~2Ye`z{3S{=D$wpqT*xK7S^gF#2M0mHrZBG#xjHlOeqCv^k~a^8Ya352 z6gowK0m&G{i~K3Pq0|`=9Y)gi^k}AR3yUU+N{8a{v6+cQZxll6h_l9%p-+Gq!z+BeT(?dy2%4PkT z%q|uo5;jVOh)cv$P>G9eDpYCoKl$G(UviZ8GYiyFGr~;_3YxJd1SqI2*3j$>@?Z64 zLw*f^-Zc+|Lrn1!8m?ml4Z^@se+MwW0RZ6hx8ARqw}4?dRp6N{h4ft4ziF6xcvQlO!hpFU0g2cscTO*2A{1 z>iSgZ>_P%>eY&qibyHmt1u{z7o_=*5!_>n-%wV?fI8pQlWYu2euTuvHz3QREvz#`e zXQ+##9py^=#9!H5-YfvhI4LT}pW;{`mx74bA#;OoTc6A6u}}OpdmoYFhsTC}pDqgm zn;uC~h>%GX>Y=)(Cb$3nHJH(bIi6M*&n$Y)=tG>K0B#X%CGt606Ur&RNp)}kcl)hK zsbMX4GE0awx>-N37h4HiZ4YnNHSzT(u5K+hK5K~W6^lUw>({LXX0;*7T_g$@{Y(4H zb=yvQ(V>m2JA-j)r!ja^H|f|Y_>l7+jraP7KZT4gXUhEv4YA~yg5>Zay58SgQWgdM zuvDiULA)ptk*AyQ@4GB*c*MT5Msj5CPh=Nguu*8-9t4rY<@zLD3jONg#B4NP#@BX8 zLl_Mu)~Fyfc8D3+YEV#9gwy}kMg7fERY;t28bTYx-()%3Q3Rmrmm}=tZUZITOT%`H zzS+90J_exn1$S~VRD7?&Y~uTJuJ`=ii66h=k)$$?Fdf0^yFoG$ww1=_){`@3S>|40QZRR+6l@?%%j$A_#su!r*ihij7mw#) z3_+r@)q6#0HX(j^HlqZ=$+79=ge!@K6kJY@qOp1+dRwMPVdtu@;vwwN1(xF7wqCLZ zMwEb27BGD}0Ii?hY!2!8m||Mj*HQk5&Ly~-n*Fujo>KBQ*7=6OmjwKWST+n87969N zP4)|*wff(@yoeVh6ZqeIN;*j`BZ66sgK7yLlN4$W_N&m+>zIK@?AerZ=Xo{K$XT5E zVEuA?ykK=PFQ&9QbB*~KdxG7yHl%Ork?bZs|AJMY6r(-@1%s6oScCK+@B{=>2|Wk* zFk7%Py_sJBW#tG<9LWqDo!n{s-1j010XjrPc;N3Cd(Z@PFoMm2sKyucRJ^Z_SPMV* zZk&1=qEkq5&rNY~5&wj~)pt2nVcYwFVt95o@G7=LgBMRkcL?YxO&MI`UMBqd+=F?8 z)vFmfv9V-^vs09+8-)uOlV{vY3b1vaF>B*qG8RP+IKLZVru8~5?Wzeia1cFguHY>@ zQ#iUi_R#++fjSPYfG=|)^a!Fs7mlKUOWf{sWtYKo=xu*<{x(76^sjE*=;^x;-=Y;v zmHPfUitiTq4Z_8*_G@%eQ5M1z8_D9JxzOODvoHmxQqa1Y!qrRZOZOxv{;VP~GaJMi z$A7LUl~A<)+2mN*&U1nw%kggTN4X>6?EUqIf_X&x-^^w(r^Dh~g$S417E+PL5c}jB zr`wu!y4J?lzj=<(S^175=EmA*W4=)3UFfg3rgV8gVh+&O#FQDkGnFgA2l&RAM2K~W zaw25_#e0IBdNr@#YouqGD@S_vC2&W zA6?2obnLsMb~F@{Bo`9wE}Y~vnbCz2^r_3l9nI=*gZb8!ShoO$-f=4g3(DQet+MsP3(>nV!W6y8H?K1zFa0^neplh%Lb` z0w5pmcZc;cq=G+NT7=#+R~!I`{UvzpgYm+sB5{pUyb-;9zAt+6`&{$b=!59QoYYO% zeIAn9_?ePe+NlbKz-A4V!FvZAhf7OK%fxIox5f7SJ5k%rRK1kvo`s4`8urK|p7-ZB zq<#RlrE{20*NkaqZ*uTBe6Sr$Sg>jBOWmtyE>U*F7m`0yufvpfk_jQOX4@msEwULk zaVup5w(u!HBiXD!gU5<*L=C0lxwgM*H8;HC*cmD|ZNr3(YCvNhsDN?Xmfqj7z8@bH zx%w>Q?EsCek@_Bv9fSgz&&E1&zWqf>YG$Cp2LZ46Z?Qc8>W%3rUK*B);z-mHaUbroKY!}~o$TzIw zPy~xnNF*~s8oUfpvHyf7(n!^QyA9jzks*LUn3+BXje)b$=O{q{Su0IA7E#Rml~t~K zBsLVOK_Lifyr$%{VJtj}6}lURF-=L{_#4Lfaikf13Z!Jgu5wL@98ED4R4Frl3v~=9}#(U&=4~y(IF~QtSI`#irfY(Mr^e^jv zU5)(_fm8d~pJvjP=I#2M@ObD3bReP$Ur|{;fDhXg9M!L|3x_a%@gj1y?m(lUmv}Ij zBMVB~h;<%R%6l)AjZunSxSlH4u4esb84z2w(BQ9RvA-)o?5Igp(*EW-$nZz1B+(@# zb`Vofhx#-28UaSOcJ2$5))KDXWUI8pOHd27T(3u&1Uy{4d%q0&vp_lw&U4Rla>5aI z6l^%8G2*kC4q+mt=HI3rZ;)iZ<4Sxc;XebE@$Y3Ag{;b{9BX~lF^izad(R&WyCpzr za>iYe1emS;;_8%?j3)}Mgh!(o<<8NmNQK=$y=4;5!8R`>ZqrXPfHEQIK-Vf3N8S?( zzd3*DXkw~%@z0+WciK=ek^f8n0PdJLGATDOD1!3-fK!|%p&!Tz-lTDE!6=}dd)D^- zDJk0+n<%B7Tj9q!IUXfwO%XuT0CTxN_v%L?Ff^4zRQ{TQ#_#CRX1#@e-Tt9uq~-kH zM27F3ad)OD=#e=BhauPj?!k-y#{?Gb`)`^}GTf#PF74Gaw`Ep^(AQ0)DerJ?%4}h(|ueloHRdv4~sPpF5Oq1&S0S;>6LYu0}FpxxEQM zClGHAYDNiXz=JYLFeWG zy7yYh%KhtRaG7>Ji-9TkZ*i?2nQS4iGe9tKnOy4y!{x#JYBLBGHh1OfMr74@?8aM} zS-2AdBSlrIT6<#4sQ|pOpDk-+V+kP_)+0!v{g&!YkTl##727Z1P_SRc-M<%_vGbf% z#zm3N-h=7_#nl<^po$aoN;sCAv88ZnEXiIwU z{i`|TM<;EFY5g$~b=$cUV7`{&$2RVr#cgsSgv!Ei38Y5n%?|b}ZGN*=X3RPjlO}H- zF@6MJgw9huThYn>dm>-kq(Ky61Ii!ptP*`^topTt;KB)ImdQ%ztGb_%(D5*{Eai!q( z4;_-b{=U`>pW`yJP|Vr*?a_;t0?pqIv4)yy<0gCYxB60*rZ#xZ>DL78ThPzYtBmAG1*eQ!>K?(C~X9M*xzo=%0p zud1&U?QYU!KI=AmO<-bO0#Pk*W8IM5?}>_CBs%)(8?kqOKHp;93*}kFqr#F=V8~yX zezs;CK-{W;vDliwG=Dm^lW6ZaD%RMipUjLGHjP3FtyRW=K=3ExCk~`j5al6O3(kzc zl0VL;cZtW!_Rc(6^HZX%Nguf;!E=V-WuJW*=46xzF@g77RQXXtz1?tVaAw=t4(0$x zALgvg_Eo@S0w6D|4-s5_H+uFZf>173>fgO!3Hmm+#+O!s)#P#PKdB}Q*6461|L-@0 zyd^d@k=SN4!TgNOjsAPo2E1=sKWL_0Uc9@iIXhvOLZq1X6Xab%x~pSQlWJxdU_hp) z9Xm(gC@ZlZcUN^RzuTJ|AFO}?{4YJmOHLXU<_um(SP~qtlRLIJy!j%l@tYufUbc+6 zuz^20rEH57g-gv57?S|>{kh2wNF&y7_xI~gI$xbx{4l`p##U7#=07UJ#>c0A9_;ke z$k1>RfaSs5;9_@-`hD;zh_!SL6}S9d`066{oCiBp&+nP585l!F6Y-#Flpiz!bmM6kwub!QEfb*sXd=YES)q8J?7v>b(OpH-&-*M(gRZ&B~ z1L;!tMmiE=HtuozGp&U9)4)r?Tm;Zv(lil)qcYFejzGVy_uhVx{2E!2;s3YB_Yr#D zzANgoND;oMH#y+i%PHT!5xAL<`Z1_qD%S^J){R8RK@0tgdn3;vb zjQ(#FhCdPl!?8gVi|%SY?c*k{1)mz+%LWa^QNFvaWS@Zfr)`hK07^I&_(WswLZQ` zz=g9aZg1UQ$$$Du^KES*G8`gtQ^{r^be=Dy^L6Sc9E768sN~c6OLfcNyWIXYt8uw) zUgOtsLA=@7UfXGafz>~;2=?4(SY)94W4%;ydA~mC<@9Dicp6xKK4FqJeK^!#lkT8k z$MN7uyu_q@O4rum16YG-;s-cH7eKW;0{hx;ySq8Bhu`G1F$BhkNQEj5=kFK|b_rca z!Eh;#TDA>DKLgSWS^FhOzPy{N^nX$CjDlD^)?M{xjhM5B;Z+O&(fKks@qy(itSkUf zib4JFIIR_SQ+BDxgffNs_vOiwufOQU1~jV29|ZUu0@Li8fnF<{*ET=;Or>%=DO+$< z4r07|AP(caG=Z5)a2^dBB`wdqL9H;~huJu3SyHXZt&>~il9$vf!d2a*6KNanqp3)KEr>%SrZBjgE`8eUcGXRljNr)allJ2Yob z7>S91Rnz3U!5;iJ`23*OMDZWe3B`pzn?BL~X*nbaj|JdGs=*`;%gVDX8pv+)x-?A7o|QX5j;sCBNNlRZR`&P|U$7+kCGf0f#($ zw7k0O7HC-$bC`AjGy@C<@IKS2WZnNJcFY9o z&89(EHDiy^QPXnf?TbtqfIjFZHz~ZiO=3w$UQv<>1l?;_v7m~z0;(s{=eTQ)Y=SOs0ym6L4mK~Lk;9_@DNr8P4x6Yr{6KGY#;0z zZL7iP4VvpORR`0`%*T8$o^y4PeF8RCY^DH%zq2J!b@%PVRBrtwY`4bq}kbMolks22!|j%4h(>zH^x5Q&jCTl3pP0E!v{ut z_g+#DF**adG>5SN?);fr~~Uxi}jUK>4d35Z^r4F4h}hH*UGEXg)$S z=?A`RZFP03!pWC>(Y|A98gD2FTodYkWQlALBORLd5ovsE%zW}~!xrdBwPC%wz(ipE z=N>rYDO3?7=)V6C6muZbCkjyhMS(}Bp=@%@ap(xq(snu!^;c{=(y=I~M*Yp^pNP2a zrXFB&wR|p)3rui8L%_xkSVd((G9jQT;FTNl?|_86``Yt_<2l?NW3+?>%ivd2xUCyU z%5i7HZ}7VZoS=G51^5~@HMPEJIMe?1$cbjwyS=x_ki-L~pjhgq_uyUU$A)50=(Rvm zc^p?E@_l4Uh1${3#_-FQ%*5Ql$8wHv7*lZGG&$n+ciZZR_0_ zS)sTRfmLt?3Ul(BocNy_YH@KaernO!QGV4m1Q4FL9cOw^Y)iQg7~~@N;D$IIX8`H& zJ)2V+*^HH^y4xhpj?B$5PV${ba@2p_yv{Okd(w^7-4I2K69HNpsXQ*=D?EMY`Hl4f zm+w#x8rUVNTp-wD@@986XdP1n<_Z z=ef-^DE?9;*t=C7bT5@Z7%wc{T_bGp_^Di=JD3&ma@+Yob?!B?#W{6^Fbkr`eLC)A}3rE3ob+wD>84 z45Fi@<}0ALzo-LL|M8&mIx(okt_3-}JPU=AC!+1d`1m+DK#SDPsJo3_hj>T@KX9K( zYqW;F;Hj;f+Zpy~rgr^xNg86ewBv%ARWHID;xa-Yq5KPMWxll#aH)S8 zC8$HmcQsV%Dw!T~&#KhC`|@t+H_9^aO3vSYf-s@WMTfbl%}q)V-)B zd61g07J#>`WmMkh#!tZVl=aF8xX3-}A|oUJbplPpYcQCIEq~9F+J2b%gTQ{iETlHh z5J$?msRspm$r7ucLqi1*WdQUQ6dfA$C!vG64#o$|Ced&53lmWXQ3X-9_9hWa8(KJD z6y>oQ<&F=e3mI0Lq+Cxa ziHWdS)TfbUk6wATg5!3_i$OaI>Tn7sIgY@*9QepUI4t286VCCI2*RV1v6=Y&C4{Q& z#c$iV4!p8N`6rvt2MMte;pBrY@%o)pmeMM2AJis}+ccJ%7k)%YAKX}o3bzWs@NQZ; znKU@Q16jGSJgS~rE7f1tEj$;N+NE*52#$Aw$A0veEj1}CrXeTHfv4wKWTcyA) z|KN+EA8gwIny)glhD3JnH_beTf+giqML(Z*!N zWIZGM&mj!X_OhK0is@i3Lc z`JUS^Tj`X|H(zl`;3bJsCMG7!*O%NfC`|?L+A5WbzEg&WkZfsAwpBd8dHl6oUmKH$ z1CMi?uYm+mVK_+}rc$Pe)vA+_zz;U@`eHdz*bxf7ahy1^d*R{4JvJCtH1O5o8%+@l z&nlj-Exz{B*)12t^k%S(!(=t7^z%Y<)?ac6R0foET;1UVMN?KM5r4)P$?*{!81Mo( zu0e;60|=`@WX|iVQUJiZ`a73U`H`rC)>CmZQ;eRFxki<200CbXEm@`>1*y&QQ@8}< zPkW8;+>E59h*Hut)cc!LWl09Y-78<(^wBZkAUDqR^$>`mw8W5_LL;P48=d)mGCqDg z72)ISnTJJq)#ZVTp-^2GZFAO2(8db@G)h>$?_m`t&BTMIzgMRt6OuB%?!K0#na5(^ z!DQ(Kpgg^-F)`YF0CqR4>Pr@|h>=f7)CNd-;O1P2Gj-lho zF}w_F2@rkV+{d2Dd!L`7&sdl!28s0yK|s3yOew0})}nh0|HronRr@Qoq6v0{6v(Cu z_`_I?H*oBs#Rs{<@{o!^br$BY*G>r=-Pf2AyemJ#D`i}`09!5Hve|+dv&rY@dx2BiXPFQ zz;ClbeB%s}+E+cciE4N*(yjNH9A{?o_j5|LFpU>+a+V;62oK&w2q)qf$jorw9ivMnF3u1J1A5H8RR88S#0txYS zhP8av&Y5~`^))$Jq8*@UVOt9H2?0n_c?_DlHclaYvt`ihERI&E!5__&H{Olv4Cpvn zE{V19w%_{ zyVoNA^5j|}Qi&XB_fjFg(Lf5WlFr@F_Nb>z;;hQh)Ug!x*eY<6el2}CT!ya(uVs5> zrHEMLhJ8B9TZ!>t>am&xZMbHS!FY!Pp$N@um&JITdUM7^s!cSYat;UC>Ux$O{*h}B z;Dmv9NB{(qxpwBVV{J}^!$!92)-=RV9Soe9#Lb76p|)>q4H$> zi0_4TfJw1C-Tv}-2@-*zC<01E^R+N~h#Z}#_@retzDOK{0CdP)cCq2F&qPz>acb^W zDMv&a2&P{Fho~XSIh8@zcafeKh^539o4&PHA-TxW#=A9QLjyBbum&-V=ehsAvgiqu zkRt~eMP=Nv|ENi>s_Ch+j5s)Jc0Xp~+fp!o1Y?`Lo}ep4X(CxVEgMon!D)A82%+Ynj8LR8weH8vB9kynb0|=VGI)2~ZWgq=kltO3y*( z>Mj%Bh`iO!cm2LU{(=c_E;3wdNO3z#E!>d%=}s0|SZi{ow?+6MPXP6pc|F`%=31b#IH<#`TqVMro`Lq zi}Uh&(aQ5KLQF`er@V|2Vkl1R zCu<#kk>^n83%c_|Iuln)v23+J7E@5D^wHY&bK&-YtJYRqcW1yJfT;<&{`(OW6l7)w zsb?dDg9S)Bq#w6d1`(BRla#NLxUUjP3?pfe*Z)8xorG-dfSNK3)bT*00Q#a2pj21_ zhD)JV!JP^D=edp=&}iAhBcUIB^J-hhK2c1VQiybziQlnFkwZ6fsMQy{T8F;SS4%}0 z29nz3W;I^+hD0hdZlG>`qv`z;9-%o<*V4y>jvggOD8f<1mP<@#3Myi@_IsCy9z&(uG1EMCfTW}BK z_Dhqa0W%IR047`i?hTwR#ffmwTFMW8`4edb#&<2=KmF%YZxq4pi_g(IOnKpNFx!nK9f^IeBp`CR@5bMMWf9B#gf@xG;&`8-;r z@lZhyL-(BQL*vi`a zY!~2g(0eKxlZ}?25xIwb8&@ort`j3brv!Gte=z~~8{iWILfS=aPPbT-J!1Ss6CHh$ zsVeR!>G_7nh@5$}^Ea$BEVdIiWdg~-{FHaB3=9o`S_J0N=%rGDO9mEZYJ1oR?GG#` z+e5o-oX*)1On`` z03k>6A*ezT?*jOa&#vwJW*>es;hV?dpgX zcnWwZ9Auc+SK#+L+XT_>_YcPbjw@{sf9HOjpPx5AO0yq+?sob5GBL?Z)HP45K?qg-^P>M9i2@1)nJN$}2ANGDZvWPsjwOQGm#vKfcFWhm1^#a8 z+unnguU8CC+a8VMq9!DHpG!51;7g-srbmX^Al0L{{R2+W3R|2o5&uC z>^-yMP-G`tWoKlD?Ab9gva>0al~rUbA}=dDdy~!ge%_zoud9E$t}f|#J|Btg^aeRPe9>*ho>ge@|i_nuQ$q%8eBB>DBGFo9GW<3UVD~z&!^<=ZEth6?nsc;$M z<0EuGoHhM0#J!YqH9z}3s>dD15^FEKb+v*O`R6pxuAL=M7ZX7)_eHLJe|zgfn2W@J z_F|jAb-VP|C@JIYpPQ0K91COk1$5mi?Ay1=BiV`N3e^={T+@@2abmoVc5 zlA`+4M+m)1q+3-o1^;yo;eFldX|U57k-%Bi*EmpSBa27N*Ax^KV0#QiPiLS+QV0|i z6Y~OT4Z1@e%xQgiRZbnN*(P^x8h5%A1^*sf#Z4;JcH++rxYe?!@EIcz^CU|4wz#wc zzs>a(aB#z@t8^I$Liu)JFY}#QVl&M#c6M28ibi^<^Q78nm{wSGv*imO`gs}|XT-$B zKqME{X9}Uh!DZXg+l4nUo(WY$(!$N=fjONFVE?R@0gT0?7aeT zI8wNoxi~^u^cL7y@+dX%Kl(eLSI?B69@HF&9{^0`!#_&YUrvqz*yuOhF3nEPwqm$odWZ)PLZK>=NnlnCdWt)zLN$6g#t9Gd;m@0H-l z>52@|Cs+)?dNN5B&A}&HEI7D&lSpiKLn1jkveOF2YRRMG*Prv~MC?HXdA!q%rqHj; z9FWF_UVYMP3{&BdXS3cgJ8D%?VOQPucmY8!2K_wkBch)drFeBAF{os61V>Sihr=si z|Fqzt;k9=eFT0&YRz1~b^D@WeOhwDPA{BEDkksrB{$>hh9F+DFk5o2Y1im#y;0ik9 zR#yx_5-`afy-fs5sQAUfFEGWdQ)byMfNu+JiRk{=xv+~vM7=Uma2m7s!fxMFpI8qm zFTy|beDX8;yeE{vMc9v3P6H*u5Z&p)V}$iZpzd3>H`YSf5Rsjd#m*<@gXo=cj5{$G zC=5;#F54N;X#hiMW6@kMBvCiay{3OyWv+cwWW`O!@;SNv$^f1QcOz3&#BDy;7pm7- z-ckf>H3pDGE^$UZl8b_u9ts}>{wCh}0BU^W&>XwSxY(bU)lM$yG#?BhqH#*G!HcnL zPU5JCucyC%>hf;$EMg8oz?8gs?y4h$k)BNJU z5~;R~3qlJ1BMIb+>>Rl+l=WO}L2{RAGZp)5VMK1f99Mvw@H-e%gJti(jg6;_`h~e1 zNhvz)-KJ z(FEBZPm0@5X1TqXkhZ&;id3RA{H1j2cOCi!9dcgcMR3VmE7v4Z=SDT+Yn1pGF>HH} zNWhFT_(sR~9zuD{IhhSUL~k}$1s(%L5GffScW!%;i4m-g$HG)Y%+~1%seN*eER)B! z%Kf`eF+UMIchhx4(llC9)p=3)&n0khdFUR8U^&lL_FfDG9<2s%3as8)JsiO` zMXaRkPj&S%ZBM=@3(~@8>|x@+=56>K+lNnq3Ww&ej-$?X%b21T`KI(!-z^i&pug4V zvWc9m>8iJE1>ZhCv-H!@z z+LP+IKC{OEh)~OSU!l>K3x!t|U3>rvo?mPJeV@;X1kFFKL}L|)=9j+Etq4=Gv2tqf zkZFo>Zf)RN*efW^cJ-JvtxkYc6*?(n6J;*5yy1YYxmiT~9;{%s&nEBswL zt%T=>*a9u(KF@LydaQYWf5k2dTvt@f;VmTDzH}Wey7E2UlG2en`x44&Z=EC*+ zq(!B7?ftIC+t>+;1o0*JDdPw|667CTClXTa#`zRDlo+k;&v8`z32zbrT6E&-k}x{S z%V|bjPA;4LMPhdU+o^;{7@Rtpv_>?Nq;U(2FcMUnO&Zx93f@IbjupPzOU8M3jo_w3 znydLTr(OyDmlxZAWI$oJOak21$f z_Sa(RiH02uAomBZ0$s2|wz(hGMlH`rPlDy4WH>37K|m=pC7OTnia+L#uYpDhfG_9_ z2DEh&PH<4OKij)^f}e;Jo|xTd=%}*xox3sVC90N>E8U%RD}1Z{Sc&t7znns$@x%6qA^4eBB4Y}GOYNfd~;RHr0eR*Nu)C0T5&{*|6T82 zU-PWUR{BGh?@$a>lwh#6`vmOEYj)3)c_a5=s|UxDQTEVO6zNw_Ggf6w{nE_6Y)dkZ z`zNR#>cy+2`MCZLn7)V^#9d(Af801YFaR;JJM_+9^lEIi^Y!70jKX5$`LE`0{%o5G zB52d(u7ZMMu9pAJhI(1smpW=5%MELw>%1KMd1w|5ERDEijDwd6qme~YqW zzkh9|6KmETCqG#=Y|(ydIQA@K3BN=-n1$DX4|S8!!mcA;ZenKPRP^kKGwR}XBy358 z?_`?b;mhPIx|ZF&rs;|~vCDD7*SpR~v!h}oc`N=w-!M2n;`-yEUF9DXXF=Z=Oox5_ z{p<~neD9O|{=$XDeLqnp4aXOy(vVHviZG&^W_#xHgB5c&FHRKCpcq@-ATCN>OF4h& zyuPW%XW^7+EJ%>9`GY6|(QUMgW$N3qlV=-BisTvdg!!4xt!@B@Ews?nN$VSyANE zvif(74~&1sNwWPeGu(z^Mw09tOK3Uy_L}%5pZUZ;`hY&?Mo;mkd)jKtM)!ZJ-cKFX7ktGl7^hTazb9Zu8feEpp0D!oV#bIs zB|H0ma#OA8(%c+`*IfXsgT@Ml^pz540>t&Gqg&G5=Wo;lD?O+F!>>%X(0 zM+h3?j^hH1BZvMHuR1+vyb;2enmS^ieNAZo*P$Yr_a)iIl=bV?IwUhB*PQ_|$^Zt- zy`{cy@vPH<=xF%i=NG z{!9HUw}Wf+d(wVqdWx0fP7n?LqZYpt(2d2YLJv~|$Z6(5Pa_MPbK=LV%PsE++V{4N z?nb-(O09+!MV)!3j}0^UHL#xVb8BhvcDV}QOvI<&^6HII0i!IdR>Tw?Fk z$JM(fq(0nUrKV2CX~F!VFo!!8gTIJh90oE4G-LqTp>Vb?0q_j*Za_vKtTQV~VCqLV z(@GtR@aMfbAI7NSR~oeiqp}oOGIuV}Wt;$o6%ZI(jC{=_XA!Hk>XhrFzp(ZH;Bm-H zf$Ql!R{K5#5!6GswiKeMq?v<^BHOxmr{{4yL1uN8J?-9`vp1*gfOfu?bG^mx{+daP;Z<2 zWXm?ytljk%6lN z5GSw>H$I^Qv*8(T26d$B!WSC3*!iNp+%E*8PZp=dhh}XFsA@#x@`ph4`Kv;l5b@-@ zbBp_qFE`OQLo=;=Y0o#Qqw_J4uc9LaUQw=Wh6|SCujK`?{js9KkZ+4W@!A%p$iFYi zna{Il8&MpZ^nP<<1D1Y7h(XAVZ zl9$#MHVkE-Yh==oj^io>#P~muFnkNgn&){~VGN6X9a!MsO|*~v=Z+Q7yucjNS%q=yZ?lVpW}<$@~Oq53orm;oSb%`(?6&Hz0VgIASIi{>pVlNjME=y zp=b`ZtfFj-j8p`pp63tvdmukhddDpsY>c}@0t4E+-W`B`qM+*QXl+ze%!&pF;6O_9 zxgwhx?90C3lndq?qa}2Unl{}Sg{aGX?8cJ@ycf@nPp0Rqu4cYa?V>yc;HI@Wn_t-y z43OM9yzM_&jJIOH_nFO>wSb6Ap6ACtjUoZflz7e#I~&_WlElhRng`*kDLZgI<dltim-TMPfUJzS`G6w+9QWY zQeYh>fcw$tDdg0lmX)Q3eI2J}es=}ms7y}1^?<|uv_KDgwCeJwW`=5k#Ki;i=U|V; zL${(FFK)y5+UrXsH*9XG-sSw?RgYQ680xnk?LG#StmY3%p z|Fq@4TLhMDijtdcTL^8)$YlH z$#NvHGxn!^dP$_bnxmae@3CT)H}I-A8Gcy0pbSWFNPAB|xqq4YyauFwdw}V|OSgTz zX1gDMU_p1y>pE|Q$Wew#_k7*?q26l}##2y$(~M4lBv~zv;bcgSS>}A_+b74-S8VKl zdhWRnr&M^T>?23LQA-DpXc75WZLSQPg4~7jK_&?Zc~S&n-q5u|63s9|QhDXDnkJR} z??i!ILzks39;1J7%@%MP$T*4EBnKH0Z66uX0KqFQ(k+vuCY^Gzcwcu0HGSIiSJ0CQ z^Y0f3>b?|seeK2`9NjC#LDKgnw{QPc1X_|%(1v(h^J6*A_k+WGGHL_5Ec3ANgAwxs zoWu!PI&Xyw@4dMNfpT0&t42mf@{U6FSUxj>|9oaWpP$W4`}(9BlcOND5Gz5E3fF@u z`5FQ*A!3NBmr8#x(75UNBK7_Kt21N&0fZGORr9eag8X ztvaLN`VtfyyN^WSg0Zp*s%}N>w8x(uvvF|?A|EKrHdaaja|HkY(Cz1tUNvHlw$q$b7|6jl}jVO+0DKusb-CMd6ov2Oo8w<~>^J|0Y z*_qm2p!zk+w%KJB|E(Y$xR;fgOPmUXFDU0wYi5F*dD5r9<+MB(ZE=h5PE z(t7Em(Y#h9lspG5vLZMIQNwkn)}@RU+G*x|$@k7V(&MU?)YZxLT-2D4`X(9SyR_k?aP=3KO{w+8d}@ksDW=$$siFt+DD5JS(W*Yc4LLraKu@qA z7z^*q92$U3z(?@)@lx;_dqTU3pXl%FeBqZwua`LZhY>ww)oEd*WMM=0*ATi6UV^zO z@?MO@2vx>H1M|K&pPWp-P?mi5YYzP;z{b`nDc?_3x!zb3^A6zFFh%c%&3ar6DarDOxV)zTy=;d}*D08DvZwpf0u%}y?jYyxNUO}2F{xh4;HJ;2EqE7z(u}z@#44=t^0OeP;KI}f2@a*Gp2zV z)O|MhOE84@m15B^rylGeWsd?ab#97M-7o6w4mVLzyunCohOsaHGbQeSub%nIJ3%GG z#P-!gPEz@(J%NGnV)j=*Z|5RD?B>rczi8U}%qp?){d!aLjLkD!K|E5z-sTxAd1Z;^ z7m?hzLbNU9CCUp?knRH`x~h-s3gQFkT|sz9aa-Fd(>LLio#W-)dcI-=SQ`8fM-AuB z8vmv{p*gsB$Z!Ak>og2K`AA#vn;DC_C`a#$P2ZJfOweWVBdqzQ2F%g@*scYL0A-5T z9K!iEixcKf(k*RHDuQUf7FhjOz#s3#;4M zS^w{st?e2g_Kh1i;Q0OX$S$i;@Mp#9_9+&RgTgB;qnK9NpZC)f1IB(FhreY>6ozWN zSRF490=T#(rO&o@~9%S;|V%#=`l*QZ*Q?5I6bum#LTeGsFHMg5l^T}9z zQ`~H3lmZ$Cik8aUI4pOc_H2(hoJ=)f;G{%%L3idZXj(?AEaa%8p)uW6B40)}t4r%@ zl)YN^^~k)@;FF-5NLmvNLw*qFv6S(N7HKp5@8E{uvB=wp!h|{_JuVDt2*QYZF5xGM zW&?Dq{<@u-iQRuUS#E0FnkOLO3L6QwjUguXdDCrvOf;@f6e>Kf(V^BxF`$vXd&r3K6>yhJprTto5ULnRl6u@q?t<(%rabPE))icfAwKzx>Li!uS(> zY-Z4)xcX+~`!aH%neGDQ^UO_<7(qP;BxRP&KqtxuVG_lw!Rt2;j@dYCzF z-E;3~%l!d%l0!5*0>4Crqj~S};%e}YMybfTQWvda?XaDmaMJKC?pFmr8%$A(9aYQQ z&NGiss%^qCzEWTPgd6A^nzC<5ng#^Yh#nxmTNUZsiCsoW!#VHUe#;UQb2f5 z1B;>|lY5x_C7iHOtfqg=?gsHMH)Q?930^!&9My%+AZtq3yljgnyL};rLvY;E7=`62 zl&G__Vc$R@xeH0>6>SLc5ae$kHF#>o{f=4c%%2QUqzbdvhSM0Sk*bnwd~5n^US2RC zH|OT9yMD*=dO4_xI%f+Q_5vY0n*3!?Umv}wBc+!vYq!KQ{tsEoJEE7Kg~-qSPaNAA z$M1dZ3veP;oeeWFcWKA@-?#YqDezbz>RJ7L^6|q5dR%PlAJ8lAd4RsP~+6F9X!Kin zru!j0Ir!WAmLMGZVHV!>TU;&v0h3gdd`|YyF0lww;)1Mj9n5Pfcj1LS+MdbA_jp2k zd8Xu=x;i*`ToD`j%i;-JM+H4KQ9Ra9>))`KLU&~H?_$KP?(_4t^@p+^S9i%#zj12B z34@9ggwL>8{$9R(x#09BF4Ej!CbQ;m3zg4?&p-T+*=}dCccY`tkH?-&sIuh@-^}O5 zyEl|ei4fPwp~<|QD3g*htF}7(;h^>ta;BaEhc`YxZW@qe(4MoC-xmKDzmJN?^HZA6 z8dlPO0Bphda<$vVtaNu0?D0^E6k}bo$6-5nH^_oh z0avcPs_D=10Y+AmyHYJ3xMnz?QY-Z}s5;CNW{VdEIP#xA&arU@64rcnS2sWs;XfDN zme~f=T|6^0>VO3w7?w*pfVIIAP?z1r6qDuKCZ3qEp%f`(sxRvm@cMm!%{cAd!hdaN zAWwq|t{p6+dY9Zk;^;3~N!p{h#1`0@3Ivz)?-Fe@!Pni<%D)t5I=)6Ps=9C(XrSuW zSrFDx~;f!uR`Kw%A#f>zXxW!~S8G)7*PA<_vf)q;&0B zT<)b3(tU^Rl^6jZ%C2`Nt~`6S6^D#yX9Hvo!gwC;EJq%R28t_8#%3woGDu14X)yIDtyN~r-R^r0gBj&OYmEG0jRi?YVl6ol`Sw&{Ph(sGU_P767_``(<} zN`q>Z1#wSV!62aBiHk(QfLGmuwuL^p=tWOY&&m0|rIZjU#AtZ~)EpyFzwdM&-BESB zEARIg{(#45{@%edq7Priz4&XVBr98lhV%ZoyW=nNNe@zC!*UEn1@7Jh#oQz$Mo>n& zq1k`6U#Y2=h^@IUTVL!M?G>M{ zM~Cqd;m&-LZmzL^ZoTuCzJ%F92C^)u#A09^PjJj>r1M)!W(IQ7b+#?Ilat|&kl*nR zz&`E{Kia9VD?YR3kF^)clq@Cuc&#u-uHEJp=Y&%liIqkC@XjjQ*b5>kD!2FO{Q-(r z0=+qgo01V%#2q8`a=pb$a{9JBF#p4^gWEQ;LnnA#ju{hja7kWWUV!>Mzb0D_Lct&> zhH#wIprg~f@my8YN1Fjz!VoeytbbRd!CFWc_cdUIade`+WA}P)e-89_?K&|teEKJe zO^@n6yUnU+bSaK1CcCOH)m>|Ek3wTx{{qc_1%a#H6*#@5oy|<-pH)lWj3nYZHCKQ8k@hP}*eB5# zs|8BS&;!763T(GNe|(l#6>o|Vk=4HGN%Pigyu^0|<|?@GCcnmYa#DeygD>KES@z0^ zppF8Yw`89GL>x@5oGM?%3^eVr3KYh0vU?YNdGY<6DG~MnoLt)J`_V?1W4b;~e?+7h zaM87%LXQqg0_X59XzV*R273~zZB1_ox#|`q9mIYM|WRKP;s#QZ& zGI&w!hX(rMZeU>rf#wJOGP5exh=P@5pfAdeCzvyQ)KAjR?IJ*wS!K% zZiDS^`TfM}8GB5j_H^9aUzyE>v zZ$}3mCeay9vroAhye?u>r-jK)d)ggK@uV;e0E@X%-o0+9|V-OK=b@xtdGJcoqcZivB znUyz}$>5=K*H*h?lg--RBcSYF5_@@Pp1wKD&J^E?{2UT97$w}SkH4cGV?}ZokyS=m zzdoo86#H@7yN9U*WNw@4 z2M#vvg|%z%U>zitB`L-6l@JxYzxpNGyJ8K%zbE1J&P_C{2O2NA;=O)&4wG@-ZxmA@ zklbEZQH3g|0ej9ml|(&W+OL=ERp!Dl5p141PbvC#EFR9b>|}rP3ClKHl`pY)rXX8$ z=_{STbR2&*Lv(aMTPR>}QOzPCu*afOsw5pN`5D=+5x-^RP9V1beOvQ@`7zVwp#$_(0W_2b349wxZjo;X7)5(nT_{g=k4NmJ2==-+6`9 zqDE>{b|Me*1d-%My#dXZ^4B@lV4p@Cge5&OhmlnASyJTF0v0Db-zE_SN#uGGgp~Eg z%E{V3k9XIVv2}9|2&pvenO4o3UnhPkp2?^XtV%AoPB?bB`ZiY4>N5O!6_Yelo|mj#IRl%URCq1dpJ>xNz+}i>AN7B1v`fi?8m>{^3^Nq<@-EeEeR~R z(IN+e2o?2W&kRN23|^Llrti7BEK&QPv%z>wv+1et7YvsIXcJdg2m9t%!qD?GmKfn1 z%#kvsVw8bKFaqOiWM?QT+0Ug0a+Z$VH}om?Iy^X|sg+5+++17;U4gaE?_UpAB8rLb zJ($7S=*z)Pl%`ZHJT7LM^)~%W@xO|S z-Eh%eoBe;X!j8`lI;g(=(HSosdF=6vnMAC0-n&rOt+HQY_yCLTR^3!^{`!yHs6|f8 zgS3HW-)H^W8H(WmmPwzkRlOMjSA1#J9+m>X-3YJ}SP7YyIQW(h@OLH3NFU zn&HN<49{AzNu7Y0bG>6uT)q8Lbr!ExpYBEJ|6pEA{I~-3(YfmytN!II7>piCQnA<( zuk1xMgQh%<-HX^?A~6k2S}+hOgqj4osj`PzWQ1$HKE>VJ0P%KyGYVdY#CBOyzF*PQ zM1au%NlY?623s?*{Tb?EBs?N%9&Vcu zV0ztA;^E?g1ejTft+5;sB#ItZ;L0ICz)Pz>S{;8S?X0_{<>lq|>O6EJgSe|zcN~aJlfnA&GOVaaef}{~bK}(@9fRf0dj4l~O{;W%wSa4462I zvR)YHq%T-?1X--F;_|9XxkUCF3Vbr8Jxa*VW{&R)C#L@gdW2ACKj?jdJg*0`F8&pE z6-!?h9_Wf~VWm*kJ_nq@h8=JMixRAFkaIWYiGdDhS}8KFq z7y8KX*FiSD4|qN=H=P4t!lm&4sW5Qr9_V!U^_kS#C;s^!YL0y)F%4b}9bUPYeAF4x z(FXbF#pJk=UgmDGjs|-jD;*VBHxKS7xV&5H9L#NSTk?D67YnGuAydl5wK<{|k3OjQkTx0^x2g3*9 zfBCLtx4*cjHXnbLMI>N~zJ2~!&xR!|2BDsS&%(;vrYOK|F&;)BGn{F}~7&d**ELc@vnrzESFm4nb!k z=R0pS)_5t|4+B+SZ?CW;rBnM?-so5N_2moG*rxp7lo!_{*XAH-9qyBFVuzD6m!Bb- zJn8|j=tL2d1Ls={0y>M@%#gy~`lS!-JoNewkvd6bh`g%QfqH&aZI zz8;9~{`=O?r{{v?xs`_-a15K&8uLBQNkIrS%$iX8H#eeI__|7lHfYVNz{}mu1gBn; z)0lux`q`Y=a}8o^#P>%mlWd#UMOdt|@SGBCdTzr{rS{cr=;!?dF+qSzj~n3i&NgDtfV0pTgzy*r<3QOLUv!`5)YqDQGBt+&G;pQsTo z@ObeV*K#GQ>tZ*y&_^oIqsLLe4N@QKgT6=x`ZOZ4MpF3iW3eGAy4@Iq&2@#Q@zUKI zAzAf)@T%<2Uak^PynNpeheCG;@DX^9nc4BNpAnE}sI5mrm-% zQ&>8GF{BeA!uRGL3;usc6gXHqcJx-T{cyBl`=V&9plnGxQf<#SsxcGTIQO$!|(+B$nkp} znZpq%;GtaTcN;g+Drm5HVtlTFzDR{xxy6la9~(N$sOGM3+%q6#1%{BpE-?B#$6YQA zM**`6%I^y&QwSU7MzgJ&58_F>d@{V)AF-@m7+!9Cgrl8kd;>NXfJfv_gFc2_?=7)4 z+-)1_c+bG*Nz{t5L-iJ1HR-bczOWm7J8A(s25=fss^y&DvVOeFtMFLydRs?&*glq^ zTV|XcQ*?~W{c1Bsg~$>^(k#UjL?l1`Ln_b05N3*j8u5;koBtMiS%tvyjoFz~Tm~w^Ygj$|1W&*qT<6YK6 zDGisfjx-zXdd`5pb zSu}rpbfYLM=CG`=r8J^^9$$Y(Ez?g|BUhRA?o(O6p~AAQ2C=6&4p^}G!gAxyN4@Yx zqWVITgm+}akXTLk_-tC9f2R-y@w=z!`iqtlP|V2y8UnK0S{?^3sY>lOZkNs8a4@VL@@(22)`ngUk$e+5B1D-`?`;is>dN@QEzWmrztZ{ z+H?etmKiz&<_cuuHMto0!*vF6AwPc~A|fKjPsG0AnV2*Irl(h*am)=}%(|$1*!Ugv zCnb*>2UVl$y#~6Zq8f+qiIcb2_d+P4?5-TR+z{g-t8!GhJ(QCFX&n+tE-^tvP>nKTGBN(u1W0Q28~KO<(+Yj z*H@Q#6YRLhKZ>?%2FVy&X5dEyHH7Z)j=YYCKoGL7nuy~xawod!#`?jLsV>n#xOk%Tu*Py$8mdhXhypIG}&g$ zA+Ngd9~*zxdiK=Z0rPn^$gKy`J)!bGdPJC<{UjFOqY_8i@o!4rVxZ6N2K(LETK*)e zU+*zl0Ug=+RdnCn-2C_-RD;7KeAAk{^%^5t@l@;^>Q*-+e_OqW_|yyvL|!D4L+Wnv zwX$yjWqLQoazeH3YmL`CdBQOMMTU7^qr_VglRf$Et5BqdkQe60L=MnCU-2=71}z@gVSTU9s~xE^pAl|8qK!(zL+JPpM?*l4Ni94*=Bd6xS zhVv!Qc8C{d)Nw%dx9}LyQPq7A>StJ4-_T;cv-D~>a+(TXduxBMH2J!g&2U5gdsD6` zoAS6$D*%fcAohqEvgN_XUjvKUl5h+Np!K)WxvHTA6vL;dkapk#c|$vHG^)l%JpKx! z+$XBu#Q43q57%zoFesN@t)f%p#Y1EDXq2*g7y5ykz@*kq{kq|lq6A~r$RqDxDb~Uu zo`CnSZJToujS~2QhhJaB3j$=b0kCi28i(jv?8B6{c$?l(njTFp`%S9C>RXXL?uW?K(k)FxO*??8t$G|ggH$M zyKO*Y!&Hw=a{A}6GU=~?hyv)=42fDh10*+u7r{|@`@k&6ercblYE(Dc;u?7H^&Yys zC3k1w_c`#16ky}Q&?9pt+q)x7!l2J+l%gvT`_r95CD_Di|1M1dvez{$l-hLI6=RCc zQOaNiz441+mu1@0GDE{kURKb#35;aS0B3azfPX*;^2;^mt+83;$zH@LRHrg_{ug$7 z?FW-RD(#M98ysVz=wZb7>fqOXz*lsr_Isy=K7BY23%2)A_M8p3>5JyNJekyw=l7&Z zR~i#`>7rq#dSGE7A41`%=3p?FdXcon=IbY;AxM{Hk=&mkK*_Zvse#luB7ZZCA~J9s z1Swpvk8r#d?pve}+gAZ3}@%)z(li z9H~sF{0%LhgjUWFiX*k;wX$r2Q(87Dzh%vfF0-`@|4W(Y%& zv&pejh;%(Rt;f)%%0WG1%9K|sG>osjEh5E+?1Avc=0galB9IHB;(d6qJtLQ>zB87| z<#~08OQY}T9(Jn?`HPHJB;j$?PWP`iQqShF=kOf@Wa+tz`)~VdL++xSW4on}9zi)N zx51Ub#>0XU;i5bS4@s%G>49)f5$=$nX~JaXbT5rLmm9t5?h0gRytywsUT}{>Pk9u( zh0^X=Sh`CytT(VVRgI^o{#vtVuQJq)__klh*1G$l9nyFHuv| z{d4%h#mm6iphj2VhJ#-^xNIqsk`?n7nKq{k9or*&*q8k$+UksN%>BoWSy`FlIhDV@ zaqWHZeB_P2^aJ0~kE{HA0pl!!iCreEfe!nMK84NVX0IX)%{)ipl_afB1!4IbJj^3f zhu+UU+_Z^@GwEO0q~ZoM$dD1&mRNkm?Bfx|opG@s`v{vc-1QnxwCJ}K_(c2cdH^JE zbCq-8Zk6INe)L+0Ep5u>&DHdmqv%GiKZhH(k8D{FY8R786LeW9S^id> zY-F`+G5EuA5W^%oUm5u;`{n+=DBd22q9Q`R!;?}&O^wAs$Jc{@#aovad&wzIna!hI z(1n2$+{9ICY>DONd;@cicr6fHn+iI`krMr`So$%L;-D9BtEZYNeD~PNc^{V3%J_N& z1OyxlzJsJsuq1=0&D7T^CDXcoC$Hwjf(cdRtauXTG_YgkXj)?>s^Ym(Bg+I*KQITw z6%2wiF!Q-G4%n5V*j_WzmONgWxk| z9}vEfp<9sUUVBX3Lf=_I=^Lftbq6bi;C$q|*!Q-V#H)t49%jk?J3WLTxs~q3o1VdC z9v@#8olTatwjTcT#Ji49^G58qilI79vhMG9A3tzW$7$SpY{*tw=fO^%aL2(ZoT$~L zM!-A6EE3S2HZYbujT8r$^z?Fl&%DB!8DtvsY#`QGD38t_dcSo{?p95by}q^&y>DZ9 z%zmUTsgQZ#d49Y*A{(h(;po#kRVe!U@#EY%t#{HV>hbM)s9C`~oM|E#1p|C))FZlh zydJa~CG|+~dxtLYj47=0s09-t8(mj~kt3kI zgS6vV6F1oL6-bMfTC>cU2mSv3GQ$|fnPLj0eR)!HLs#;I1*OYE#g^B!%1rU+_w5G%t!B823gJmDHnJ>Ff2k5z$#TT&!Q(Q&=ZS^Jss%h&`eQgON1R|_*+#I zAaxdJ%YT(u-@R#b-mPpHRX$>Mk;cAQNOB&9Y*RR(1<hocqrjec`%F9{ZgA()RZ~ z?K{ax#awd2c7&} z_Z1_I_*92hI_MM37nm^+Xc1mKH5={lC#@Qr-a*Tin|95;i21w3L&`Y z;2XH*YpZWkRn>STF^yc|ASwyl?-=wt_5RQHalxfZl{+-FA4Mup=s{75sti%YAdKmt zK<5a!BzsUU+S)N*?OGvRzEBE8)hr`&Ru4mbUN(9eXedxJuwvgD-!GU$resb=>a!g8p_aZ=H zyxro)mI>WW48ahLX4lhvWYj;Eq_P>nH~=}jfQY`i@QfdWc2NX82Mh6XEijlv9&P2riV2u>NSLnKbipOg zzNk^5`hV`$OSl2wlHXg$UXiY<{rk%^#mMbLV&{SDKZYoyCtQr)QmEfrzgF6k!pn_6 z_5D{U{QqkK9HDr~FW&ZccW1Exexfd=c%iBEIUzlDqa&!$>i>fL9|ee}i}Y4y1j2uXc8 z$VoMf4QoFfCo5@q&XhlcFodh!B4mn&<4|6w(sh}U_uBNv0yh?ae35b>45F|%khMf_Y-|8jbqsETJc6~CioUvKFK-HE z_mijRU$xB}M)Q#ATe=#A;1%H));@K6^RTR}ZkLBOpN&ngGk@sfu#6QUrb8^jj*&<3 z_R}gSYiI%q`+x-=f;}2>h^G${X#=in*NOe8UK8JKKi(1@Gj)g6K77Lo;0}nE$oZ(B zVPP5SrNGl?VLtngr{E8Uj)UBvUqy{91nG&I4O3wcEu&Mgu)y_8Os5N>r{S&iG% z<$}=S_g;bSnvd#Du8Jj6H7gYxzaRI@qSRwZ5DBCjX`%H?&dB;NCN+l5oa_(iQ*Y(nC$Z#U_nZ?Z^-FxzMr(~=$yHna zWC_O~lL+(*U{ z5f1z=;b#zJmb_2rr1dtgPm|bH;GKJW+waor%(CcU(w%5Lcz9)23*N9i$R2ifJnu+o zbR_R4Vt({9zgx|w{PD`mr8@IthLexTQaCeV{Lyw|2UTn!h)}ON{<&h`VF}s8T+U$O zI+5}%lbzyIh?f_WH%KSVgXa&9>o)M6o34G7IS-V}`tyAE%l&_>c?rE#e_ns>?NPLO z?CN2467`Kys)|<5)m`BW>Jv7cb-8b#Y+ki?CSv|))<`dNx4OH4{IP~34*#UPgf0HP z%6GMf$6zNeGVxdg;_CTO9*!aPRI9turPtQfuD0~+JW#s<3Za6bXDRIDn}i>&njc5n zz@M%-l#%dh1Vso@0lXZPl$0yZQalZ*T|!&1KE$!q$8XlDMEJ5SJO$bptyma8hB@I7 z@Y5s}l}pYeT3(Ein@7#WhEoxJLYT{|RSV*Pn8}`P)WCxQ0d^^sn$EzbV$k4cQ1k6v z%-{rZnNGL3-bE#0QrA`qVBS$NHj>zD{q#m}wH2>A)Iqq-&!1{HL zGH2%VZ@8xRn);+ zPnIE#4y%I$t3XmPq4BWDt=L+C2Fd8wjCL^csQUbZtO+Jvp^&I5fZ?>@1;J!N^9Q0YdIV_GM)dCSPv z_OTw$teD16qVasLr%@Z=|0AXop_L2pJN_4b?MAid`ok>3hg~mLGe0QX8N3SVovY)! z*pR4G^N9#o1y%xbpJ0GXdf19qwL$))L?NlB-a!6nqDi>#38NCB}MWs!2mZ`UNh(mJ~)u3>aUT> z?k-k7wByUTW0yU+K7S@RITrD>p}6*e5kFrk-4{-Y2d*n#?JoygPo?X$C%3`0GE_Gg zYY<4#z6yttKftj94U0)_UYVMTT#`}()C#GF#f11CE(SaWD1hbG0hyA1r<#|+B;$Lq zHX7Z3{nhUv)cotFN@)#f@r=B77 z_!U2e^W!6%}{dOg0-EUyIji4&y9~XmP<{_ELtyt(l~-%pKEj?>K1RP z!KE}@s7W(T7Ww~Z`tES5`?&vO%NDX%_Rh@S*?VLsMMl|VBu>f9p1HF*R;VO9B-z>7 zLN?jT=J!6&?|JU)>bmYfbjk7kem?K_YdR1!GV1^AkR0kOzEMJ%YvS`ssWDxnh=TRq zm2{k_|L#1xR0|#-zUBhpr^MZ6CUS7iKA3#Kji@AzQ`4S4W{r6pBdYy(Q+RQ)cG@tPhI$V=95keGc~Xc zHBI6cRS~mJ>^l=vB=7kD8;(5EO-%SH;if&6em&-~K)Su1C-#fdJ;LCflz%;TF7g%^ zbASYIf{BK7avY9WP*srkzhQf4tDbHe_ijL!yGp!!_vV9_ZCu?l%jFG=lK<-xZWu~I z2Z)10aj`*g%2$<;kW`w%>L!DABRbfP|LORrcxo*Teq-50BLY^xfwbS1O8os_lds?8 zzT13KeR+H}+4#?&ujB8P>`wXTf2c2wbAxvpHeP1pQ>km-Oj%=!@;bh={EsjHdcLx9 z0rj5P09nu&4;>Ljg6LanH6+7uFFzsSWc?0{%^6_h}O}^<_?TnCBj8mGY1GMCTeCoq0LH+D-&2Uty zAL8LaU*?}e{Y{i;0M$KWYKU5Nlsl((Q1!F^#mYc}Hiv_kQ|P1~fWjf*D?uVd_t2jp ztI7S6o}~1&Hk~#*!nmFz%04YLhShK_l1HMu4pm$%nxXd&kPx)Zj~>!LR~EkP{;nL` zY7SUiaE*J2P;`D6gCV9@Hr|!;QP2m8NX21Q%$2$kS=|%gfH|E@++n$YUionP`9ar= ztAo5YtP<+jl2SNqnZ+B_dvC&DI_y&vbcE~Fri&h=_RMa0=%&b?(QJ9-!U@{naNHA1r6<`Ocg*!%z z(er`c9WG;m6HQ=kP5?`Lli%B)?=JoHj>>6CQ;geyphpIq{&&QK#IC}3#>M@R@@NIN zR->#V&^mnqqU86Uzpx*hBJvvnD=|KuqU*hj;2y>{kKo#ZGOUz1cd9`|F1Z1Hg^%Rt z$p;unoC-R#0q$)Lr?8`n=XQIK5cuDmJDF{=BdW`S6tiO z=<;2*PvaO!QCxu1ZovSIE*^JaveJutK6`8{owfg?On;wDpn{CZ61P>dPXZGGyh@55 z0a-494~hjyX;L=xI1yY%Y_YtZ@kzPB=eK<(!hcw4O>s`e1Hu6s?_@w^*=XAYGzf}KE zr=ptinbzI|cb8>QAEO5^{0CFJfwFAID_T5ZREkKN(Y49yT3795&TMM7yl6BRX{MFUn3sBukS+Vss*~K+YMjw+bEL1%WR{C##5E7*OMw6|zGkU(gVF zy!m$bzM}KYzwZjcI`t~&eR{4{N*N+nO$3M(jDlNBChuq4TSD)6S5j5G+#S$7;`+@%GEeanp{>bFi!L_VqWl&l##JY>&s68?co@_=@lPt zEiWD26m}Y9arw}#q|5V8X}3&=?PbaJ&Ad0HYP)n8Q_9I>>(*6Sbnnbg_y&;cLb=Z* z0Z9jd%0JK@v<3x$bY&v>U;j*yUQrNsxRKqo%S-neMOfHkH5%=cML8arSDg5dwBFT* z>?5ch;fd|(;+9ZOivjG;)_)-kX2!%T&a1^LvkC^Ht09NrhNYI3_|MO1g1X<^c}Xf= zW62K!SOt8xb&%oe21!*$vlOIbgN;4o5zmId2vFwd!RYX~_!ZK`A< zq$u(d@227jQdM8Mm7|FSl~Oer{c0Ek8DsWP$8ut7q^>z!^|s;G{`&Q5jwNz1 z4pMag2=Df$x?n=b{*mY;M&C!oSi?? zmc#b@u4HMlKQ;Mi*%G6V*z*o`r6Ihi;M(#*!<7JNnLPA|#Th+xK%_iUg_Mk?5E6ap zTk3o-`bVE-j^%}qxt*j`O%rv{OpEMM;%T&36D?7z96ODAe)jAZa39>@dEPjt;!1?+ zq`h@=6#Wx{@aSWd`;R+0g~`Fy=I=b7)V={Z&8@n{#52-A2e0_(p6qK1(j@UEke#VD zAX^;Xr*bYEuu^k0XeG3&*52mPHnG&z*0utL3g8C$Lr$f*=zGyNa2?gh;=M;;L1Ssu z*G{h`NEQ9Y)^w#2Prl5OGt!?j)5JT73-ycjCJQCOXQ!dx^{d(R5>IHhPHI~&wnmNh zQB_ixH$O0O^qcXjzuCX4h;ChCxjiQx{L6kc=NeCgq3cw2Jvc{HP(1BdXoLX1sf^!t zq4c`-uXN@4{hZV>%H!<-T0x5E3qdRK{z^tq&W*YP*Q(M8)j!xfN5Y;u07_XvE*zM6 zk>c)`{~ozE|93EWcREen+FsKq)*&8=i*FD$Z(u(&pMR(EzuL3YZCb166{^}VfX{$< zxQ77h6#UjcbQ^xB72Bwik6Blo$mx7f;oJ6VTrZ)>lhPp3{6gi!HTkEfPA?Pycx!|e z8xF+Nfz-4#2^c>ink+mhmbng9|0L|UyYPnDAs$Z});SNkQxReri>=Dnq%BbU3Etp> z2aRHAm>m_Sfiz{$J6j5CzqC8zy@Rs$*Tn0s#| ziz!8hCkWo0);IAL6BYgRY89@K^!140+&y!fWy1Bap4fdp=U^U`J!wuPGIfSC8{K&Y z4c}wnzB4I6+pxj=Q4cy1ujVNPMj2fsvu$ILrlHKC!nQ{2eGIyXBsaMj$;dMg?}lty zuCOgNeV)(DltYlcWKtPex+G(@**zyGU)X;IUuSC4tciMPJi z2wgpU!|nRNgDf2Je+x9n_984zmeQCq&w+y^~eN~C0H{>EtqDT&S?WmMJB}&v=1=S*u zC@BUjKadyC|4e**!?3EB7{5c?lv5sIZ)1BW0Gm{I@oM}yKFydpMJC|ozja_6VFB0n z{e{+)fpNvSl z6%tr-p!Erk+U}zi=LeHZ=v?4YR3zWMf>f>djB6X@Hk_7fWUTdTY3EVu*Sv74+(E$< z2sv|&PyhaB4{b!N*SIo~ZvKk*M4}O83a?n~+GiM>UwPG2VO)yg9~vX~v9)ij7T!UT znIx@Ui};piRA2EHDMXs}ROG?4vGJ>qv7YvXJU(^ydFt6|SAVhb$#U_J=Ok0DnQZ=Z zU}Dau{!hYH8pcMfY(54OePCArLUDF>PB{O4wXkcI6Wkk&Mw3Q`aUQz*{+{#C)@eO0N zvp?q9ydd0e_pS_%bGzP9oB)8P8vAv0rVs?6Xvq}9i*E}q;mmuE z_1`=FEryq~hxW4#s-EULAlZ$Sb_vfb>=}%_%7alV(9(ML5{D2TAz8YJkZt{!^79UN z4Vjdth=NnMZ0~Ldg^+&qf>6bKpw56F7ivhMj4m@hU41geTvaFkrdxSS1Tnk1maIF6 z5YmaJHK#|{GM!RZ0625BbyMhMsV&9)>bc#HcZQ7vOWvW}^YTpCQ?_85E4JE02 zo3aXP4w~kI9VQ?rih}DYi~=0$_)C99SSH<5dxjLkdlr3hOJupfA66qUq9cr=uWged zYpx#{pIG%Og-R^v?zsG{UWl+QrcCyFxN@44vTlcXVik%hmiCk~JXWn5!IJP81M^%d zLGZRv!JGGvGr#VpC?O-o$m4JLKRo~+?G^lK0T0=oEYPE=#mnw@!Q+W&KAMf>wB$7H z{Skd|vRo=x%w`-zOR${A?eLC7m07fbUaJ&N)>(LdD7f_cy1O+4I#PfLW=5x*z=Z%K zLdmh*MFBBct_!Q*Ncf!rf!XkN3pJ`6E1iV@p3K&}_C~xLXY{ytc#tgQAG}Y_l`~VS zbYS_pYGh;tg8+ji)7R&S^%pT{oVsjkh z(yBFM%C!o}G;{u1NA;73%0{H7kjLKD zPo5S^&6;BdHSunyKbZM*{iZ`vy@HJX{z|rKbHqMNxkcdyMmk|yRD?(ZLLT?)r;7oM z_*2ntj`>t8i7bV6R!@eA$s0Zt9YPIj`H=L~pQF&SxAd;BoaxV6bZr3{>Z~K4;-8#+{C!bx13%eoErUfjspdp+5-hQ3*)%e`R z!PxY(N~WJ4!-Z`0qxvIS$@T>eg1_U9BkJf?kq90n{<&9uFUd=XR+<7TBh$k#QvdqS zYUKT|cIr`&R}(RzVuK!}1CWYSC|j%gI3i_KiZFBUQ=MOYJqh_Gx>6YOjcYV_ zgcq7e=9*7!!*DLMY)@CG8sm0wb7MRy>97b8$^i;O4FS6;en$u-j=WXUG-RP+AzZb=wE0Ab6k z=GuZ3LKvA-jZBJ_qvDFJY14`tL{a^zGpKl7{+6rb-~cNkbM3&p9KAeT70K-@rP~lw z_M@vSm(D4veTls1+y3!a)X=wuTalCxyDK!l+bBC&F3;DWBxxswVB5+^oIrHA+m6g> zh3hoBb2wY>8ORk-Nu={2Ir_2~CsU-KQ<;*_l^KIw71?va(nq6aa%rrJ%8)^*!TRsbWj=yBQUf7{0sPmYx=%DW$-`#D4;Lb`25dbVz>Is5*G{n zND>-Ce(Xgp?JdV)?Z5Ic!%0Zur+Malx!6g^RM9Umn#vpR79o4R-pMp4|99KgZ%cCG z0QS#AuwVWe%)>HuVqO1XgN};0;}WMhs~(+nGHe_gt*?3L#7%M(nE%#@sz;!yM@aIq z{q2>5L~lC4h|M1w#`< zcqfi&{$aKj$g}GO{=8{V{B9mEweki%;z7QuNda2<1=XdH%xp6%upcj_h~$m%PsBK? zDzF*(@5Z0^ib>bIcj8Kp@2 zoWM*ILkS zsLI#@x+Y-SlH&7#UVyq}fuX_dwZsUG{c{6(Wrt7Z=exTr`)%ts31O*qSxElR{Lc>e zMDieX9*_tK*wKLz!daa!F@1GL&UIv{qB+QZJI-In3g8f2R}D&kLtNKg4q}ErS}bht zYy4Opl1Yl9B^YA480~=mJ*0hjL!q`n_sqTHUdRWAKyFGp;Ro%IVJY+UkA|zPtUI%7 zcURZEJoD&Ms0^(JUi)IMo!7mm*G#Q64VrS6$$PJZbQ!?oOYnVaP>>t;2T9xDuuoGR zLPWeHui;3CZL-!0@@6h~XL$ELdpMTK?F;a@@jMKMs`&r=0quEg&;CyffGDL2r7`MJ zBNX7W*P%oZh3PN$H%qAhoM^y{*1Lm;AWr!FFXH8jF2u^Sm&XXlVGhQ*s#tQXa;18+ zV`1Za;3IF|w&wJHp-r62eSg)nA0XsRp;Jv*ZQP*{0&wToadSW(0ub)|XM#N0k?bIf zJ(Z;s=|;yEugYQ8ytt=g@qptOF!#cr2o#6qzoQ7EX?i zkBU*KN!sTVgdc|d_qTNi zBIKleG-eMy@D&TLIY;tQjFG7qkg*~1S3i`0B4<&=QRJ(Rktlib3#$OpD$yhIA3^>3 z#m}r{_qoF#we@%*l@QK=cD_IP)g)DHXw2JCtaVKtA{&0oKGt{|Q0S5%Z&KeIR4OJH zmp7vx7>59J9P|`if%LQqw9-Q0mx2(Yyp-S4hHH1f{x+pFt@n=>eP+&mvw&sFW_MQ9 z?YUH(@W||aOP<^}n3SQdS(R<~KR$^02vQ)|s(K*8?d(|hM95{1G#q>LXh|EAFJpvL zlqo*Ds&~eaOiMqC=^l9PGA-E=C$)DjE3>(JRr3t;s^mlVIDJF1ZuL~%x*nxE%ugtw z%ExdwlEzCML)WS7`mOFCMGvDi3vxgIO7o0~W&KqFt||D2e3wq>Vg^92AJ>C$%$}p? z3sTXEmAiC~9G<6Okg8nAW8y7r3Noy}6HZ)55Cmm!XZK_B zv?V&)7d?}PeQpCpBg@3anf2-fkS8vkHy;2h942`JjZu&Wn&J4+c`^rq!OKyNbC)4@ z`IAjXyOL{+h~+Z^L5`%)>pzQ$+*D1}z7Op&SFq>$@lwuybUDd)9=TDjaR2$gv~NrS z{y_trKcAos>1)4e|8A&jmh#>tp}{%3M<39y%jehq&06-#*6(Sl{`g~zsc7$EUk>|W zi@u)f#}9^;+O4Jd36#xUe>I&zoz^AnNZQYaUjS7P{2|YsfPf`Y<07Wmh%`B#4SVsA z(HP?%A~)-&y$$hHwZs>$mfosNeXZm1_nAW%Z9oD|PpCD-tkupwrAKXq>i@mN|c?M?ss z`|&$-{*JM@MajbhbgDe8%rbsOYwU)W)lN(qK~{@)p&S1tgx<$+#BTH&p~1=}!!qV- z%~R@9nof$R|GoKs>&tSSZL{U`!8?N(uv|WcxK?ip?YDnN_%EzCXCTwC{RCi1z`_p7e|4C9ZO>OUNie6 z{884CLOF`kcldAl@!E|S)4wt$ea4=P%x&tI<6)&xV~#fv6zmVK8R33Z741-UrAN5R zxDiRlb@vX8(=l{n7zBjX51mhR*D3@n*6Q<}4}1f{eps|EQG;FAg7QMwuQ&L`TY96R zbPGXzr$a;tNg+G_`3kw{cf`D8oEUP#7zZtk{M_H&jo!{d9KvhsD!8E)UmZb>xUC<3 zhb&$_N=u|e_th)=>1`Hw<(@-==6elB*Q5HflXFTx3vzSMBUHd-giwKJd>LMki=C^> z9eAj?A>eR%2&_dnGUdDieZM{sK}UN{gLIWLj9Pbl`^%Fk5u+%x_pM_>hlRaTqFSE z@t`8;j5E>?hlBqZD$i6il>-B%$9sFax)Q9hDE?C|C@4uGXnx`&y{}|xAo3&gnsozd zlU8pMCD`$W1i>j`-bY_3wVYy{4R8@IF`dTtTTKd$np0Wcq!y9xzk`?MGcSTFS*Sw$ zLa^(ulx3M5H&GuxBwW!A_aCOZPD5n=>S{ay-=NLo(Vqo08KOpDqJEn#Sk^Vb*+Asm zwX1MNKL2c@Crnen{tlf$wa&R@T@*=>%37OqYPsZ8fA2mM-9xy?AWLr@ts1`{{=;dO z^Z9;-E-pz)r3t>G3_gL_e_GT^L>}g?G>X6Nekfel`)#De<~;w;Ob~B-sGt*eU(=T0 z=Li;)RIjN^TMEY#@{3-ww~YEF@cU2dtF}Wg{n6(5fM^RO zJ}$!DsQ}K(V*?_M>^6>g{UID9kMc3iYhI(7sLI0rlcwQMXURP6h~>!E_myoWvSQMq zI5#WWW1~735gPT^KGs36m+K-jG$8B*M|icaUi(wXoawnR`TddO7bg|}L8ttkwzO$; ztYjK-yU@E{*kXZ51-^5&>j;l<>L{F|p(vS0^cs&AUUUhd@ZM??2d{s1osH^V)@7Bd z)vJ<7IA2QNv1$!A_hhoOM!km94Z^$_{&G`(}ljvl5_}Ea@i&CqZ-rH~$ zR99DfHFdy|i<7WV_F6@&N|W}MOUQ3;ts9MND!j3l*AFApgh`H_gw)jw&Is~3A9W6y zLsz4?DBGdvz}KkP>H+s0S}|@PS-j0zjb9Vr1eKRfi_gW{B1W~EX$||S0s)iXEPJOl zYkgfiI?@5%l&YZ6Qte0!hzgh&T1NvcE$J+j(i{viEWC<&w6n5Ywg)=quSVbB)q3_b zTc)*N!Ij;Hh3$t30o*%dXiHIvh6`->Xv`AK;$2)8E-FQOgIN=T@55S>PKQ!#W9q$> zn=i{hPja&U-Kt}emP8fdBAzzx@9#sO44Rt?=>G}p2bh~~I}IX@FxFUAZx??37b6@V z$`CA}eo4K2Tv=>Z)SH0yon|dUwlR*l1>GA)}BXYBqAcHV;q!J$E3l_%E=BnmlTYs7KN zF~_L-y)X+?K|z&G7pC&9S-{Ttn@Y6U}l5LWeOQUk`NO^B*uiax1lSz%HJ7A(JMdUD<<>J+ru01t!eTwKSe|x@DmxvPRB8tS8`OfKJh!|sO=KfgY8M|3{m$xStgV^jP)H$+$Og$F zV6yNiqhE(%wuERM35=E6`1F(HIT=ddR#wxQ!}$msB6HMm+0r1&uLi`n0CC>t0Hq0f zv%@8Z{E>Ls>oIctmI}mm(zlEYe}qI}Xc5Mje!Yf2f6!x6 zwzB?YNs~)}gOG(-=r`S1rOh+YzM*T!IO~x*d)TL}X*7M0{qu2{YGpY<{a37?6AWLF z_OB2g1tze_z^?62bZJHIv58T3(?fyQmAz4yYM}HP*G*n51VO7+N+>IDYf3+jUI6#N zgujLl!O@nsFpZAK;aP;M;+>X2zsu$?nybf~DZkXilJ(yOhg{@cBmI%_e7p{4j%&xd z-cHr%mTO)Z{08T|dId7s4V7Oh=Yjew3oe=^6Ym-!ZNvDq#42jz7ZD~Y{`?gaDLq}0 zJW*44Wp5TF`+>0`oyZ=l+3HT_iU&^|NWxgE`c1t?$5f(jd}q^0wW;YXKi}n6y22?6 zVk)HlM!4Sr$j5Vdb2=Hki5LsvfkB7kfkMVOJHO-wst+N##wWP_z&LobUWe4EYJ=DG z%~#UiD(Lpigx@tJMYdQ=TVB)%Ki#U!p}%eWe0;WLYpN7u=*30;x7^#xv@D8~toL%x zW&M{DD+J;%T#h4&=gNg5MAi@ttz6i1KQfr@ z9ttfi3J{k5po3PUAAxacPGiv5_P8*rdr0V>)!Jl5FURc0+l#+;F~Y1f|GtVcgHoqB z^H<>*E4@d6Qdtx<%z`c24TfoyoW`R^E5JER`)%u-tYGu#)q9q3%r6XHH2Y0fc2Q!C z$>^j^3xX<0j1J|(YDf)6=|kXiwETy`jEGicr!@@c2>l_Y;hsDHP-WxwQ&~%e0~PmA zR{52Oq>dUPEtlPk|IG)2!xbKoEfCbXjFoq*r*W_B?T)N@S)`el;#d6WR3+ElQxM=z zvND8xV@}7hPYF;B1Q0gla{hs&9G>*Voe8G5Vkbvxx?|R&E3394k^4`@dXx|dygN?G zIo_(FUu9Pi+sW^V6zKH`EJ|X=5W8nZ69ToaPkj0|VAF;py(FYXBo|UH&}<5t?|u&n zAkD{fjNOIWcQ|dkQ*Oqwn(2No9MZ@kv`MmbQ7k)F-Pk$XX;IiL|I`ffF)XIEH;1Ww zX2W;7PXrh26M~8y0=SHS-Q*lG{#6Mykovr`nVm`7)EaihXV(}n;^vp;46TxJPr)wu zY4M}^jAV)FJv+N#u_?E0Lh%rxs)$CEl=yb>ddP)X~>79P6W zZTE6&4de1pg3I?hm+d;);P~Hu22}@hHkX(l;oc?BPUXKw>1Q{N$l<~h3Q!hRV?u;+?M$4Z+B2zzGE186%^s9a??*j+m zHR+K4F)T#UXJd3d_V%y&Ksv3%G2ElO?@T_+X!-kw-1R4-(zH6TRimR-^`kJFIdmKn zsjD!k9)l|o`gYJTO@sH&afp(t%M-qgz=kVG(AWYR6UwZNyzVi1e?Q(RHX9^Pw3=|k z*pm%?Jls{B?#42%wz^g0IznE@6DPd#Kjinv&Yr;w6wRSr%h=!X+keKy-*&`ny|@d@ zJo_U~+QnQW5*id11!SQ`c_Tc?_;1}ObK(uv3+!#aXz=I=eVZ;@E4RIMWc?H!!wc?W z@Ek9hQ}XdI>*eqJAFkaMvfKGZ@%wkEwpL*fM>yBgqafc_4Vqz@xcn3By1;~`4nQje z;rz&wd0mJ+2lyjsA&eT{-99Y=)NQWkikexW&kD?=tIY5tY9)vaBup@-gcVbvB3A21Az7v^Am`}VzH+4J? zXM~A_l@`-0)^(!Ar?Ggo`!XR8CyEkc7JWV={JjmJti>gwF$n(%K2RIzw#VBO@yg_k zEC6|#l;XAZLyHe5oxXeQdNWM&YtYhlsI*+WrH;q(@Sc)qEy5I}g zE_+(@zCC3wYsMyZm%DIh;U2*^3!; zYZ6b)3)F~DWN$rId6#6C-x3VR=j|DfZ?;#b;}8>O;H95%-r^zK{8G|KzHXKOe3zz{ zs*H;?%UjvuH`kY#6yl!VHHo_pY^y?`3kA2DJhbnDdx){UM4*0u|6QZL!a*a2^m9@7 z%Qz=iI*)49&|va=@pf`$wa2}P;Y~6R#|SB+mmjN@dyzwk!=(RSd2UM{&k#0(M>FDI z$jNDjV@>D7F^ssoA|NG?Ws*Ccbj*>1bBo*kKU;2+rhs2;C%<|jb>HGHJ~;w|VbE!iyZ73|_LpRqo(L4;X{~&bKk5~Nj^+7%#{h|?E6%;rU_%?d0>r z<-vAwZYzw$NId={Sy@wLr~F>f_dwbt`s@)i2FmmW+9`@;R#HAGpVNOp=+HpWAmR^v zDl^^#HqAlx<-rO2^&;KN;l0AxFS`?cnJR)pm!2oU-?I46{)4X zHqa!hz#aF9?NXArzi;ko*>G229J2rW7j%1nBVJxu*GEh8hHFXTr-TwkJSSTJ5P|EH zB0+*_nI?>z=<-y(SnuM?-jFQ`)BfTa^OmQd{Dg?mlgA;GEC6VKeT85<$9Oqt9I6Ur!3yIeY8U2T;ZZ@Cq_oiEWX}Y<& zmG;BwJnhh%2DJn^qZvM=#^D`bzqlVBL^rZxkXWUtypBg;$SMl|)n~(`LGf2G5(=pE zAZh3Z?}rUui>P=WyD^2ge?_V2zxj)1YMs-bf2)YesY1A%vf)lL>Jp!frIk4>Kgf%c zHl*F+LpLhfDzqxS>-&#u5WX-5P7m#^QKJXlNgQB~MVClS{I=iGBMFtWBWtcE7cJ`D zY;%wfmu+^isBt|oOLN#`oL|G7%t~{RilZP1i*zy6g4EOin94wO_bh*C*!0mk)M`Sk zUp~YzzH(vl52t*S3JMQHgGV9BMuhx)6%FSS*pAs_`3)VaTt;{-_VWi<&(^*HS>hqs zxKVCNkQ@CIWCYJZJcjNNp$$ea7kUtW%f^O<;O^9QuP#6{|AKLkoNOPIxX4 zTTK?Qi{cqO6OUrAervEp!$Sb!Mg4-uo14PfAxds`a+{L<5K!U!oyu%?vS4TpiGjrg zZN{KN5yr!QxySlWQ~n9nsaaqjYj@eFFtvZz-tz5RH7lG;d#uwx8fpE!2Q0IQeHVN# zXYkB^0SyaBPOPCU6figr{1SQg?_ai~Lmb`g2lt$fgUpTMmwVkxli(d!^+tB8)wva2df%5QI{(ZGwZ8GNI#Y7cd&PMssPQl?% zh@EqN5Kfp6^Re~(>jTY6n)puV*Nc)M7lBeidaY-}B#hFK-B}3oulWh-J!EZXIKCVZ6&*=86zg3mpO_aM|LGwYnOz*p9(wHD8w}{BHN+ zF%0NjDz7-MCJGjDcq{0TAV#CneIlo+S!GN5lLMp?xvICiM~Ei5?5!f?RO+)B1!{cJ zA0Ilb2w9Ad&V%fxerS4{u7PaEM7AIT`NU4fR28|d&A$_lBF3Ry5>>8_Nnc~6B4{I} z^$!~&RT(-BwS3oy9iU4B-Dcn2&GU027^JM=E1v~V1dtee2IqJI=p&9>G*U%f4B~$j z+1H<&-0eNhh`P=iSwgh*eDBE>o&pAvEK_`ELy-K|^36sPT6DE1Ttl$s7ZSCg$zb$b z5fEhE66U>E(iEk$y*LZOr#D)-t3oHk?OjckHF$VSRq8jQXrHyqBXn})FQB!7_e4_& z>|X#m7{wV!Wmug@b-x%+88`jRlpT$Xc$P%&cDb{(m3sAAbDO-!B;8YV40VCE?Oo-y z+yhv;iJk>Z41}pd)c~4hs9RS`qB81E4U!u(k@|&KA0`wX&ZY4qX#bP9p5DNj7f80^bt6xE- zwF{*{V6Y$MnKeC#&;finl|7K*YZ?WG8eavtNN^Pz|M25L@2^>L1mlQP;|@9{JC zN}%3~8{fOHxyr8QL}o}oI5qLq8jJfO5%2WV;iIj0m&TsY4R{6!MA_;)Yd-K(T}$pw zkqqvtBBNZUFu6u&vw`Ro?~D}=Sg^DlEwZR~GK46oy$BaD4L}l=#i9|dxWsR{=o*@3 zI+j*e6|LUzmZZY)!g_S%6)afguZsPF5gUNG2LQyoLj6S~Wlz?5(tBg_b*$<)x-Hnc zW;9b}FEY52Mmk`f%LF?sWE}+v*Prm%O@j%zCF||mXH(9_IQg(KC@}OOm57lY5Iu&K z;c~<_@TF76yv%0qU4z62vLVb{XYwK2Lf?vp%-GWSX-E0LxP0kCccwv%OOF8&BLYB@ zr$0^2JbyU+{!!|{?b_GX#qv*_H1wN7^+U(4Vb=K7O(4^P zNRbaqs~b=x0w(|N<@tb#{p*tHliqhO-@UUO(Et9GebxQOH*>9YHP z3XA{`n(smv1fT${r_x{}=AgyyUSGgF*C$<>l8Z=nJp8bF`E~a%ravF=F1Z1X8%9Fj z|7ij4@81|o1H(Lg$9lNv0f|EWm+7gvM75Thvn0R2R&#V&Kj3*N`~$>upg9-g z<~0W^03cskpKU&4{_~@oXZ3>?)JwX-Ru6HX7_XKSgX}qPyqVM(e!jv1g#Uw<(Q4`w>_pCx=m0pYx?fv{`osfrEo%ZtCcqdS zn$JOYj98_~A0?3kpBcD2|@D4W#~Fb41hwx45OAA!?LH>E{cRbgllKNtpA1%(p(*sR|>chO5E{u&<8v4Z-eGufxFT zfLpS~xv!IE7})70*3t?!u4PmIo>Q+8ll&dYR@riS3aUidkuO{8 zcs(nFEfOu=hkJ#0YYzncvLMw4^Uqa)cK$J_?s5sR7-V01m6+04%l6Z-HE!G~7;0;4 zQzb_LV_#gSx)Y6snn=)zpQ;hg6?bxdT;c6~z(^cNfoE_s1pbIMp4uM|H!_PR@){eM zBNb$Q3XFK=Dtp&VTAR(Ij zr+q6Z%9>zWgc&OjLZrIKcwLXo^UZ%zpyc#~gbsXeCjFd==DP9PkdMhiBK;rhSG^Z6 zpskA@Mi$T#9-+Z0yC>=lp6!qi3AU_x+7CYQSZu6{NCF&cHFY2^Rka^8PVEg*$-O@_ zv%}aKgHZ{jhI=mWc(iS4eVP)?8uslw{4)ct^L#Y_1OIq1ReREspmSVcJo*e6wBnb| zJOAC2WGL#BR|fuPgv?83QX?Ugt*>C2qBQA;)1m)jl`74_3QOQKgABqkx3I9V^DS86 zq5SZ_oE+OWEAlAS8$$PVyrY&X5}FFHEVcY?A_Srdab}@Hr^>9naN54fH;N+i zdNNtH3{Bc_OwVbFl)*FlKT>{1U&;*b(I;flZ|++vC9-19VK`IyyT$pq9;=Zb-%B+8 z)@#3&YjrED#fu?A>)psd*w=xBIfT)5Z@iU3>A*rFb zUL^!mib>=9Y>GSxx?#o^nE#DKUWp{*!%Jw4c-AWsc847U(vUZ&aZMh1h3B}+jTYnr%o z9zT*F7#7C>&%Z>fy>Ba75(|7uDC(q0kzDzC$Z~oLT;Cr{D8?lui&$>-^2IP-9ly4? zn#Dl${E%~`L15?73BIlTQkQF^t=iYug&$@@lX{mX>Q$`pf=Q4khpJ)$p5)B@g0Ycc z?@PbT7DeS44l7wE=KtU7s~x-nq^}@^(U+|m;UHEFB$qh7rFFd4Tlb$E%ZfEvL(5!K z7=uQ$Js0auqM^0wC({zozZ0E-TrHj7!YJG@?AyXyw}y3?XTz36nwNe5XKs@c!*mIC zLYO=`qt@5?vXST4l*-KSB>!(+UER+O6HyXtm}-;9_8YB=g^3LgwX}s*blyA2x8UL; zKrCq+C*D|L(P&Fn7x;#<_D&1wN_j=OzouOghQ-mSDYb6sg8cvy^_Pu@@%8tT+u^R$ zLry6~$7uWpOy9_~>~@fo$^r0aksEGK)6ikSZ9jAOXZ9XmxGimKlfb8?c8a~?!lBP& zJpz=1A>Z|TK}IhGWI6<}H7{YIPeOQ*gW#YIY-8_Z*kdCuWtxgU9$B`KJQrH`?N`P* zik(+35XrWWf#|a)_%w^(BamsIr^`~F{(`g~Ftwv8u3-r?A>s0H^-?A3pNyj|{oTb5 z$L?9exG5M2Y{KITb!-G)3}!4R{#{ctS-EP8cbw#3a~%gX&mGR{eTm6_GgsOqU!7~q zP=BdAOJ^qJbIXOuoqq|eD)7#Aj7pW#lnJQyYNgya?OrxN;bM{XyQGR-A@%|HrL`ya z$35M!1)O^Rx#xjlAT^Q$@v+gmq%zQe;P+K)xM#Eqf$}0ME!_E`?&(*&n5HzjO=SMP zrZlM;aGG>_Rxcv*J$n_vDWG+;yZmH&dim;tO zR*E=<%VS`ipyna8`@zk)dMYdS>xn6^o{XzaHfELzTvLy4jWDXQUChc5F5YUIcO-=n zCwJEMtmI@-kNH;Skn@jAevA9SjewI8?rbSu#Xm7R4S0sNQxE@|Dks-@wW)+0@U7_A zrA?n`?t0&T1?jCRWr3uuqN3h_$iXhO@Wkh4ywl_XH8UOE>~Y&xb|ZGTFmAwmNo~cV z94tir$EmII?R92FR_=9^3jTRfy{SsJS`M!X4Xz zi6SS9tx?Lrc8+tZRztPkAFQZWzR$0ShiIiS00kp(5FdyTNMahyg0F@&m?w()V`N5C zC+DBe(`|b#PLCMrn}xW4V=p5$*oWad1T7Z4wuzayb)_}DmNN|nt)i+PzTA$X2u`p6 z{xK$pYO&WW(?9*-35^=E#-H>4#Uk?+Iz6y^)lwL|F+squdd%NqV+-w_1%ByMRk9z^ zY)Ak8jR2E-xtEwJLcEC=jJee%ePV$(^AsQVCS2qlY`yV}5hnBd?Q}~>;nB2kXdFf7 zEKa@nW#hp_z0mREv6_jWAtH>p%so>?jVDs|=0c>FnH`=f_bVqmn(L*vQ=2Na|K~(B zNJ&dv5d3HPmC9+pq4bZ>(D@v|u7{iB?r_R;Fr!0A#2_Zq<#wmVv&$zwoN*lAj8?Su zPOJjD_mlZeR@yUeJJMxkcEcszTjOd>M@<-#bOnF)t%ySp$l7~utpMPMPR<32Cc(N0 zhDAgKcGUh_2bt^rnejpH0;d{jS3k${9cq)*o}~1kYG5wlX@-0t(;Ag5Sg@}S6s}af z-j4KP{@^6DQc~4y{n{Ns`l73MxZ&Y&CaucY;~^(81%<0|?=|<(r)8XVfJ7o<+(%$va!8>^Q@di|pXt zDHvbS+_8h?EF=QRc`a#lKk_i7?yZVcTW##zAf0_6*^w3ho$Zi80br9J!ZFCjyId2- z=4O+uA$?GkN8TONL8IMSrHiBX=e4r(DgDD%79=r3jDmy(d!B~k_4h$;JVlI`FEVvD zOQ_zdAefxh^W%#6>5&G(PoBN+k8}!at>SNeHJ$M&Od~|Oth79p*r-TG8EZN0vGa`k zD=5q077}`YtnwN53s4(mMzR-&f8-3mNx*}P?-98WvMYOoRSwn1!*+Ape!dFwd}+~D z)cec5QgQx@<<|985M^jmG`RRTpnsFrK4Xq@fD|>oKG}8l*w)u(cQQohb#7PSL$@xP z5fEX+HD77*sfb7?P*1PF%ApsmKzC5XrUu%#6``1_aMJI5D#E}S3l}k@jNR$b@$0*nXFKWVs_>$r1ig6ver4g0c!%!=>46Yc|Dru+R3KI=w+i~u}YT&)rakLYdJDIXxr`3!N)NzCIq z6^^5k>ifrAHv+bXeHLVJ<&Usuv_~wxc`Ml|oW%tMD$vBp>7nyj`6P&z{Qv-08aFpD z8L#{ia``<=)Y0|S-=RN_u}H5%BTJffyqLJ&;vVkT{rV3WJro@@CIm#eIQPk*8n!_3 zg|Hgi?~XaboM*vDS$^)9)8Z`x=5;5pf8x~FQyJ;xp#8FmZ0f%}z7c~VQcGWdb&!)Q z`;&Y=&Z%l`JonjpA9cYSahyBPw!Ipq*eA!{@S4OwD2n5%qKQ>Q-fv=2wCJP@@Wr;V)Y@LCT zeR7D1;EVQZULUM(qcgz$+-SpBfIwD_p7^B}S8%hRRqnt>0EBG=Sd2v&xcK-ULueX& zkPn*8dG6p0cE8co)=o}dc1RSofJV}WJf!ERq2&+S;<6z=6xPE1|Bt4t0E&9;`b&3% z(j7~ONQZQHcPJ9lqJ&6ygM^fHE2X4dN*bh51VlOvN>q^WJNwRjGk5Mdcf9M${`Yy# z`K4>?8_oHS$4?ZV&3G>V25aZeRFU1utq-*(4?ZC^9LK8(Kl?ZPIma6T-5?E~;zb_qI|n?An?`dR}pQGljTs(sR6u%uk*qj*F$-`Qh#I<$=76g2;_9nZu|r zdk`oC8GNX+5y2na{p&|CPeag0isyWRv$a8{Vy(P)E>T|CV5`C%KTL^C(BSeUjp>y= zi_%FFQaGl*OTRpG+^(}dW1uwQqkYK` zlp2ZpeKo<1b@Nk$jX0CyQ3a|NYlH1`Ku`&L774uimBFEb~f`Gm*!s(Qb=e1^s3{-2Uy>~bocK~DT>E`+z90o&N88J%b2lpzRl z%5@U0w0Ca-AA#)BD?qB3TOOE2+j75aUW?LQ2)b^8Z1dZlg_g3io6`lqg`!K`{az7x zoL$a!{rNH;cz9Jn@~@DhVX>C~BE7KiDQJ+uMSulpRc2MOWKWpL>G*s{`HX`8uAz$- z&Ok%!T59(0VArI`-4h`G0TJ5E=C9Z(gd%X@j%R9&xV*JmM*5vrOfy~mxc?ez_T1UV zlEB1G=rndP-YFG`iZa1R#NqdTSfVCE&=%m@Px!c?7nD8X^OSa7k0}aK^X;TwuR0<4 zT@Z*LhCQxGK*^(T&&^x#UB>u68V}L?;%coh1f#lh(r13}I_HxMUjQh*V5J7dD2L2T zk7bb6tHPx8ZN6r+ijKX_7wL-okNa#X@f;t4bSTO`Pe~uCkVyxW0JJ@*G7%^B!14F* zZCc%PJ(l5sFyyE^AXm>qpp9X_V=CngQwUln`nzLzk$My>vA|t;2^WBk&mfi43;c(W z4EhDKzF_0raaH;*GhVY&z|ornA zA@~O}gm;}>_s?0>%x!O8I7h4fqR{poWSsH@{<1swaaSP|b`aw<#|nfpO@lB5>?rip zlYf}GxORa$dH`lp5N8N=h~kroY;Tu$bs84_4LkZmvu)ZRes5fp*pS#ZK4D1H*oXVR zxb4Wuhy-NiL6OxmL@xjyX6*OL41vVk)U(t=K z3*N_%TN3R_$Vi(S<>4ucx6HKTv?F!hw`B}f8KWzPHu8XU+=a0hVRFCQ-EK`q9sX&ri zhn#PtYM`O81<2!)3@z7Dr{4pvZ?__3gT`Jnb4VJe5S}_R|3|`EoXuw;0$zU+Z3S2p zRzYO3+~(CVpe@qvrJ0$!`y;sQ(xYC6jgYi>gY<714(Zwyi3cH#;c3lna~H{Ze>%!A zygGf$#W4@_DS_Yd$~-@sW!1htce1z`<&3oaCc(-r;Ch0hr)F6zBJt&7)9l<@O9LK( zWyPx1{rpeQKb!tr2O#X2E>-}AgfH+hEFJd+q$f)B)e{f$X3byXzMgm&_GA)wRG{fp zOR0o(>Q@tAVonw>cFPAibY=l$JAm5=H0?EncOjK!*tFhS5=^oX9YNVbLSlu(uYrLn z;U3oA`{F}TUj!DkNeMi(iRP_uFAe>7J)uxMa{Cz{#%q!^nJg=YrA$%1$BfP+zP2wm z(Ge~g(+O0(oVo?(wXc)t#OtAqVNc69lU`~(xceycrDuoDxdXEZ$Onv?Hl~g#zt?DA;DYf_&F(^wO6ZlL@iVqr+k4Q#BP}J>ts%z z-EVx8G}F-X!DG6>EWu<#Mv;X(GOMS*0kDDVsSrpHfLc%$UDr?^l>KTy$kkzZ-Hz$t z{9`Pl5eu>OIL_~z^;@l+m(TRZ+!uIsR&Hz;n@Snfk1zcj<_5U&YlVgaIuT>2DdjCR zWt^mFmp3~f@-T6xVR2NTP*gWoKtpUI2b4_{_!J;7>y-hw9K#f@no?QwbbFWB?T|Z- zgc5tmJ9$DXIHJ`=FM6A}7WxSSy=#tUW>W8WLa^4kSOi0->Qd+U^IBr5vz75HT$Hy=5~ zPi+w+Tway6z5)^`?0NW%tD-Wwv19QjSccYyK*}kX_M0KRh}$B|h{Wz7`NU z1^P#&(W!t5;o&Y|n86t0ycDg8GcB#?l_vkOIYJq~&fem|!rhXS=BnyMGAfn89aNc4 z?&cePbMv!a43f;+!a|fb!t?EqRsf(*!XjOqVBh3tcOD*x83tpuBJZuasp6H}b1GjZPpa75TcSk-P!naX1Wr&0%Tg=F=}36DP_M!q|z&;AO%q}cxMM~kqZtxHUY7_1!_6uGJ~9pIYRe6-?u2;+^S2Cx;YJt(EZF1 zzd1K-4^d4y`MBq6Z*4y0-*gvZF^zUIUljMtHj|~RKgJ+tjd(ojm-85`g^s<}h1zHcYMkk%P=nFw zHRKx4OSieoy_ec3oWvq23T+TrIVJesO~=|$H&K4$Myu&9)MoiwQ*LT6`$cN zXpNnkoaCfPcJ<4Z$(Y6BANJ>}IQbQ@$=M-?kbaheKzz;%~+YyO{I$Lkupr69@)jB3pct#Eati1fkR+|{EK z5@re&PT5m0K6t25`5KI>u0vmK=qvXA6OH! z>-(5@B0H(*|ETyUWT-h{W!rW{<~qvvvG+JWe*Vq>*^FX+uFtof*Rqi5Edi_I_IOT? zgF1-Dz?WwL_FSiB*+~w=8n@az(Sc~!hdz#CzU19b!W?&JIG!#7Qc#}YuACWp%e81+@;+$Uf~|dW3|?`LA69sowzkXdo5OD7s3z zH5mZ-LHr$OQ*;D!7&GBLspN>3z*k<&VghCV43UJ^`|LmWGio-#s0w~t&$5Y6RlOL? zZ&8pwbpEzLVn8!dHw4pwdkUti$JmqJ#j0TMs!Iz)vLdm-4X!Bh32z4hxC|@m! zW#oC+3s^H;bb%l6H6*mmA@xiuzNjCG2SKVQDxGK;II+M_3J3K3iaW9=|e|C z+S?K;Mh)_FW`u^af^njZJdXHS3&i&Uy#5D*VC3%=s*}VGC9}S=Qd?@Bbo#8|1j-`(lrkt z#t=%lC>r;3q))_*&?#_~DyJyqXt%{BiqqKky;c ztoD<&tc?yx-t+1V{=eYd1SYG=YZ|(pRXJzH*Ysd(UUTp2yeV^T6ER?7)^!#*e!X)RyD#gdymwb*uxc9e@!-Dgm_~uRuLOYQUJa!heyeYIHpR>9KE-x32bzLz0M=*LS@T#)ao5%`Qw-1M-md40k`XQTcG%^){;D!Sn-1~%-*AD)?xvS% zq&c1<(c0*thEF39r&4C1wbUZ zhm{cwEKzs=GQR567~efXI5$W%sr*oAZ(30Ph>nnQp$s`_*RavA+6)ta(F5Tz&}~XD z6VQn1^Z-gtF3*3$?5~$CznhOcE1vuEO%^%H^#R+)p!RgkmnAaKV5tw}?FAB#q#PF+ zvLkK(Mtr#9{uti$6Vw|(C@RbSXYQJ#dxQ2i;ca*Nmv-{=jkb-CKi~Opsju^wV$0Wj zqGt4k2iVPS&n*^&iP|1I(ir}dKD$-*x7R4QC{9DX_lBCU<8Z39TB><0iPZ(MCC;B^ z91`W<2d{}4n*Dzy|G2KO|8wwsT-(^Tyu2Jroqm)i3P4Aa6(~d6lO)ZM!6P@UJF_X; zpC?2WVesusa;bJ!S?wJIr4_dAbmi8!E7g7&Z{w6zTNO2P3k$Dc*rxink8(l(J5CMNmteOW zNf{P1H7D6<=}R`-$MR<$b;U#^sSZD!HmG_y;_6TD44z>~C|QKmW=-qKzDOLf8(qO+ zTV6^Vv~NI^Y{YN~9&Qu>xv`>;0H0(SBtjA8cq*yoO%)Df3bx0JMBbI5O(zSfMW;^H zb}w8nG;OjPBX%+&UIL3f3+Qv;Vqz_D*=WCUZ?=Z=TY^U5+;0#mN_sx8=BEN`ppQ0%+jw@gUSV=*$q;O6cZRT&Z0o+GXF$g3osZLPQ)z6pPRt5ein zk%GgmT`MfI5y8fv1O;96yL-Z1;%&1OTN(x+ID)I^MdzOwa^w<2v){iURa1)azA!iE<-ySx--oH4D3;{Vdl?uq(BprZerj`%CP9=QXh z6EJT!c-%E)4JKUR~2IU+73#=cALEAvD4no@w8MorD z^dge;a}Et6zpo{zaR>a;uoQyHM`vB6YfdA(xIoLsn-0$d>6lCVVs?vpbyid3nmhrF z_6ZW-b1sSFf2WyKtXgMYlD`wG)GZ8xkk!LauhlxHK;92DW0zYj7t%%sL} zA!M|;#K1v_ODE5-dA!&_(Ob(#gGcS|VI{>YPToQG7Q5}2LKT^nqP+-iC%*d{c!pAy zWQ`2GJ(fdhTe846LykRjH?l=+9%_{J~((?rz!y6=Q-V?B`C z__$UB_)1q-*H)Vpn3Z6VQA&tCr7%0!Hy_D}QLTvBP!6B!A?HixysCHzyk;|?BaSM* zz#0e(3X;6eJi?1y8Nv1%t_jo4j2jbQTv871aa@Yf`j+-Bh2r@Uv;%Q-bHkDWo55dj zteP}q3a)#fLBz>FNXgCz4U<`&sg5LVTL3LBZ5B$P=a@1v5>ny z+l1}9#QfHJ%tiXXV{?lV(Ys<3-hgh)1IytSj|9iB?5rZ0n)++0lbe`QSVI{xrS~We z$Ka#11BQXutX}&K?lMF)eQ2zY~dE|RXW7RBiB_XP`LF1>dUNW|2*ftm1 zPT$N^?K#NmGPAT?f^jZ`Pt$drFVg8eEm$&|lFlXFY`pW$P)9dF#w=I&Y7;peBO z8586x8#%fkvUZX6^VkdUeW}Oa;pw$_k5$QGsMI zP+E8_HnOC@=Cpcg*toS*o+^=>C>vMDB3C)C7JAih5%B4;x=>vUp|rj4e>ZN1#A=aA zNJvF%WcTKT#&1klNGq^Y;sfO33dug~bJ}zC&{^rx_PH``Gh*=KVci`e>`2|sh(xi> z>Cz0df*95KVpm|$c$CYYO;9OPBZQZIdOjxNkG0Q^FIba+blqrKYuG!%HdI?wfTzdr3!}@dUIn z*0Wy#o<>#a!A%-^rA506mtyGIJ0`^vQeAfv?8tT>A(wF?M177IFcnb%MF@a`9OR2`8|bq#7j z2hOR*jS2zwMOmm30nC6(z*RSLyS)-Az|M$^see4vR-AY9z}V7uA%a8o<6qs)dkPnw zCe$Vz;!^Efa-IY9IEYdMD_pMoR!zvLcjv;xA}nc4iP7)Uzr3;y9g^lc>11~+L}#vg zQup7x22sN5>|A2(=lzuE+H=}?m?NF|nCMxrqO}U?Y?Roz)BH%2%6qTgq!6|9`WaMu zWdtA*48z<=B>3^ZgG?#$dIdsfV2CLIqO12t^R2}d?RU~Q^UEgw)A^^%=%eR|X?-`x zIjw4ubfO*qz|9imma{cCDJkt`ms=Ty`0UL8N?>WH)W!%~;R9JxUe(p(}NHNy+3=;zPMA6CmejO<2%6(^!)I6J}{> zl*2$}u>}QAf?2a|HHcvD8-~^k#Om#UE25ZZLE8#Hj%PTJTFq@^SB}bv7#jsw@Rw?5`nykFW5Ht8oU>+W;my#&Sapq6O{0MwVmNrW>771&3~sb zFE(2VJqrhsvI*Wvf8Yz4f{)M;gz%HTzC54Z{?Mf7^BeC<@MN43y5d3VpqndF0otHT zoxpiX!(DUN68*T}Y`MB)#0?qUjXdA0W~IMY!i6~P=|QEsP&yM2=rmT-bGEyrxA+?w zhDXOqtPG_d4>S)RUv|AL#Ie*1W$TcjL^Lhs%FF)cdKadTyv?y76wMtK*njh(je=o# z7EYe($7yw9-;faktdEh+5P!$T&A~tAWO2jrEAlkXc4~AK6)pt(L*mJFQc@DiWbpmd zGkc2%{8Ab15p`b2_Va2z60VU$zw&AHPPnM;*ht z_{Q^=EhojCP8*hIrR9F1vr;Vn)3;k|1?WV!zNW?jWiIELj|D=qnrw~D1C~I@qngSH z89|(gc5r#aYa4jeFy$GkFZ7Qxj3!x41`Iv*Plg+>#&sn+Bz=nG`eQTSy@hzg;YvlV z-)IQcAjjffK=7mQnU+*ryxsx6idM{hB%c(qCU%DFSK21=mj5Y+aYby;t&?4z&pZb$ z^Bn0oeqEB8)u9@#u$iHv)=>hdz3CG0ibN#8&R}GDoF6MRw?*a@%?oXPiYJMu@EuRW?}tP$7S{!aY{I1&p7MRVA@Kb)=F|S#?%iiNSidQ z#6(}GmZ+rgOTuMr;fO27(*;XuyU%BrJ5hYO$`$H}pZWsk1~h~bagw^zqB{4UMZ~a} zzflQ9auE?FpTv;=g$2W7*~OUK)L4jmKtWl=VP*u*mnC`Vv;`>|Ox3*SuSKBL;Pq>` z;l?!Ff!cyBOYs1&j-YN*Lb(6z!JP!}P3hj-+Hd{# zMWDn5@{b*0yyXzsg&*%aTz`tXyqlA z7e-&((I^u4T752j7cL}m*ID+U2OK^`&Jhw1>^liGBP%C)aW=^N`fong!6s}8Esu0f z-K@_c7I+pdybl2}C~*z^?QP+QhE?Ww0vCusrYhdX9rad z@N;*{>_8HX04QD>E}#SwMZK*hNe&LIXT3*CV~a85U#qAwQu2$*#WT$|8Hrp>s(nO? z%TU;WzNl2d>ozMc&i5MJ72D=BaSZXwe6ErFCu~^j-ftEzoo=_)*2!Enh0gbGGE52U z?z#9ez|@7c?qAgVD9R0JE5Ifb^|qIx$V|Oe0zLVD56+&N#V?VAM(!BFT^}SpIfs0EI5?|I%5;7Hnrp3l zn>V{YC(fUAU;YhWeURCt=Udf2x(&menComgum@Q?oN#t+W0q#e={EB{01*NFNO}Ei zvbRv7u8U1~g$4QJ_4AsO?-o%$PQK_Py4uw0Iy$ppRbwBQQMztDO~IkWAN&(v=SSJO z;?Oa3&cdRspwI{GFRi%e_kh>h`sy$5tv9Xt2CsWBioTzpH)ah&K5FnT`z>+N8%vZa zJTn{2mn;(d?&P2T>k=_UeO_gwj`ml@Wzkr|hiJ!~sGe-lzQY}ZoGF9&cvu`#=?-{W zo_9nPpz9jUa0FYq>iXoHO18AI+ZcWteXnTGN!lJ$`c9-1xvZHf_2saUgXm1G@mkk^ zQ-Gg~qlO)jD?q4G%OJ{72OK;~ULnKtgHjbB70_+KHaw1U;(M*i@beP|E5GXZk4(L| zvHDA1vZ7wytaOGdrVuBem%U-bi1#zTxn7Ns0z=!!GZLRGtOHTIrE|C*Rzd9>Z}}ar z+AA;zl-Q@Qx~n6*tGNv2(GS;=bmcf$w+u^FFM0s&P&xr&M3V8eO=QYafPTPiv?-oZjkD78X-Z zs{)6^iBh9J8~!n~Rl+ro557!o9WW;lQw)JfTR=x%{%L@-3M|F5O?TCNrzoG8iQKRn z7(Zb6C?TL!mir}&)w*2#EMkn422D981P-`6A>OgK&R^b>Yp~FC&8u{>08$dwLIMNw z1^m^r+PA=0!~{YkltvxQ@r9czpsNTUz)eVmxlW=7d48AwfY8IN}TQoFC z5%>1W19;1Ta>CYq3L%XbMNdFPdIg6n3prB*>+A3rR5{74-uba!Ii05X3gnNIUdk;+ z7AE4v-2Jg0VczwGybs4y$I!#uvf%Ys<-)o10x3PkvY*Zsm6fgV?SwO^{T6vV0LQ4) z2z(llLUP>>b2gBCzV$P;QJI;U@GXOx_B#+oC~pZsHPbFz3ibtq*g38ogMH6j2(TU9 zvy=w%69f2UgvM;sm)DHMuZb!Wv$CYq=tKUy;V*4~(`Wh@iv6^6ML0%{y08C!i)9Sj zYZ_)OleHc=PVFanSC>iNia;<)4rO|79nYxY{N}$?CzCve3BaQ1u7@l%RZ|v5`muU>Fa)`vx1;8mTH-@{HRB;i3#vRVl%=g8AZh9K2=iQ03 zIH4?hjnqy>KOHesHhKwPN2t?+7>uZlU(%qDg{(5T`hLo5iOAUmSv)!*qxZpT5GiW+rsCM92u>qPsA)eR&&odY-vidL`R-#=X{z`X~^6CQRX zu~jmCaOA=K{ojXQ?7-P{WGNlpO`P3#r1O*iuyU_T@G6yUDEZ>KXf{G%_-i}OLf?aP z{i>a1&FN0XGA;jAyawC6hs>X>qfSpxVLyK3`8m(C8(>zj?SEhCcnIe{R5!ws{jUJF z#ty6sQKev{sr)V8FHM~ z-KU$Rw2h<>PJWGE?zcjW?9w&zHNAqDMfvXjL64$h5j>hN69qb}^@`-I%Vr{7j#Ax{ z{_$+m1aB?c{ez{69%kxl{j_5LXYZRn1uAM{DB4%%-M>Ek8WpK3w8NfL7G4&(HqcAB zp`%S#j+c@|GmH3W$>IBI<%%AE4(ao|MU4&$Gr!iG8y~5VQ)4Z*ek%oNqE{7@X$xTB|${7%B zLR{u1+}Uk#!jb3vhJIei*|EDRU>yL;e6U7SSrfc9Z>TIOF`&gAB75dHHa?C5JRxNb zQl?!!U%YrB2Mys6L7c9oEonZYXWE+eTtS}F-*SNNBOg)w-jHkoYn7~WQ+SSfj^WPM z7HY?VKeZk8xd7;D+v;uspG5EQgEJx+XfM(HWBfz1b|`hxaKGq_do8boDQqXcVSe>^ zB%cETfppE_Yel_5SF~P8K4UVf=1x|NpBZv|Y1MYnJT3tBxc$Ixr=HVxiB zKU^&okbwyXFgPgceG8A%e*$OdsU~FbgZ^a$CpG*&Y*3Wc!u}WVQG;`?&=1lvvYlHy`}K!M?r44z@~A7=0m zh7ugmh?(KvAzHO>k}jXmY$!tpRV-1A(i0_*VKDqQi8g5QEyK`CO<7)l9!(MN?s_-K zkB)vhyUF`3Kw>Fq^<+t&-Rg7&;f)|pq7Hx@{7To#stSAWXAaciVKhf^UkJMYUkmVl zp_V;OO1v{hHNE6Wj{4VT<7p1k1gR%=A5nFOg**wen^B2`x8P$1l0#a&p?-cXk*oekOQSUE+K3VcYhPZisyM^LrSo!fnemWr_TpR3sYs%q^+4iBnis zYJt)A1SSO323IkWO^kpK|1Air@uTwEm`qUQ`S{(Y*+NO=($HvYs-7PsRGx5+q6U z;+5>2bgIo;{i0@kVK1! zSwZx?-1&$X0jEw7TuBmLM5{F+npG4@4@@oZVl7nOOu!qc35^ymXVeMp%MTkYDv5r{ zx%!PkyhZBl;sDX5q@SceZep4QRaruM>Czj6Fq%(k2(9D{_CT<#!i&l z&3%8Exki4Q~>u0%e*_#k>H#S0ADumv2hI$GQ#nc~pTY zAfg1;?}!7LzVp3VA!@uM6sdD#=f8NmFPGX;UmhasmeyjL9fhS=l`#{P)XAxzK8iLR zc2n+QSit}LV{eNInr6U|09s~&Z7a;kJ`_;ey6jm8jw;9Sqp!0=@iD5S%ugL$u&qqc z5fFJ$2De0Krt36XF*I_+dfBlSK`=riM#u(hO+~3|o^lOaa!L$7138}v19eqW{LLd# zzSb{^JLsedV3V93>QTtUT2Yx*51AE1(8DMD_glk1Sj#u%aC1-L71OcT2eAc7>bnFz zAC4za3R-!T8iW+z;0R_z_8Q-sv68S(mNDbIQC4y89dDr7ue!WeVGXCWgx}uu#DsRY zYNrFW%%Kn$=^<>g`*T%4(NkgF1Mv`$S!+>j|3&mQZ_RK}?duQR#>ON#y#dBNhdH%9 z%Uav@Np3%L)|*EHA$N928&d~KX1IP9ksR3LJ++J}{{!C3xy?;*>`wonY(3ns*<1OKCaijj8R;1_|u0VFv zC!n3-=R7|@4~d}}85!^xr>CdCc#+ZrkqaP$go70TC1?}F=D*%=+`7=DKyTRF+!T%R zXXS3HOUb8F*7#A;SRcT8SUi{rxVxAw$UuFWV=j_d^Y%ZV6Iz2mP(U z9>PifpB}eJCa{?mKOq|OSG-r+eIj(uj&d|RwWUnB8xQ+iep<1XROg_xs_uZFG#kk7~xL#uyi(}46B3YElJVOR22=&Dl~hHMT`CABKil4 z%(rjf&SWJNB4i^aq>XWS?*7<(o9wM2JjApr*r0mg3aS0h{VBHjfMcK**BFuS0D-(I}+(iB#tIk@k$>ZqmQm4 zj!regH5%V3O*sj9ol>f^M_jH$Nn7X`4zakQKrnDjv7i!lKz@Q+D>cvKjn??cLmymf zS;kO5zP7bAHs$wrq?G5#WnC+j!mj_E!A@KFgcO%{fPB>iXPN+^YLi>p0rVkkw|@x& z;gxhCt_c(g!xy4m0F@RzR>~K3Jpn!fh6EcLo3g5(Zo3;1hTjlIff@W{>kV6Drt7q{ zahjABbv|Q}bPg$*d#ZS7m6-3+D=EdsG>z_K&Zc~9AS12`m!T&PLkOjA|Ry-%_9s?ynAmmt7 z1m~=*tU%h+DRjnwH?Zo^eC&yviwiU6-E5z`z$n88zuD2Hl>`GKY8TraPKA9#YLw!| zQD!->h9x=Ysn&7onw7GyMn&{dqIJ-1Wb?@OO-?DzzMuk1w&QLvLZQqP(~lP6?(*5r zGK0Lqd`*>#3jeJM^qVuYHhGGT;iSntnEO~i%CiaOUcG-CbMHJaouX<|@o6lt&r!{z z(5l`q@Fro}9N_;6=oJKWdc&{;OL&yw9dFu{KLkN+)ubee{^!biqUQ8<=zXkjYsAi~ z4BXWtqm3`ry25-y@7eP7C&UP6Li?g|bEb|=5!D$jhOF*Dq}?LVA-Z-ef=*|hszP12 zLde|sS~)bA?7BsucUv2(FZ1QKB$eOG&0O$s5wxZt|IxFn2c{mGxm(*PaiwAI9OkP( zEud^wFmTJLcu1+-Aq3O_s>T}?D5v$V1mcGmfLr}OTS0KW&7{()GIDhBJLfK%uHl%Zt!W}InBR+&R0$C1xn_bQ+jhfpA4z0|>Ai-Xq){&$F^r9GvhqbmX2#h@`9Ze>?Y{ellYp z+5A4&e?2CDCjSJ#{7lWUjlqA6e-)Kr0OhKXjW`No_D~pDXS-(L+Y7!I39tY_QrEW( zEdlQLuVB~g&7sl2^?_nlXd>%|_yW=BrU5u%K0@Ly%rkSdvl2CZ7QUs~lqnkPpCsqd zj$;rNQ&ALhLsjkDySFip_jE^9H7YVQFY(#t+T1^h1fLzD__l2e)RPE#8QFq%tBnpy z0`h%y4+MkD$r($dgeYadHjpNd#k2d-xw<(;+6|6Mdw;wX)tPJcn4k2MYbA>IE-%CX z!XI_E{N*~kKpF*sf^7$7oB%(=3#3pUN#A=ePwsQO6893n^LD*-KJR=x^(ck_-Xd-0 z&VosW5@lufw!IN$zmtkSE6}bg3bCzJSM4M< zTi9zobm@Q2o#h*@XK@bmCfKPn>3-S~tz*URFwn_4N=JyaX8pX%!FV7U+;d94=TpZT zXv5uNnK{RU9kNPO76E?Of741N46;FQ2K-SH0Z8%+gxJGr#=c5E|czo~#pS9;=YyAHB z2dbduh)Mp?j%~L&N}Bx|(F2b>RZV8*UQ%qtLv>xLa^0_`B?gAx(S!dHd^MVVi!9g_ zxWeQ+PPE5N{+ILRAB22Evc2KTBxuZ?Aq)zDDl9KwRYn?2Io$y-i|l4{O5WGgJpKMv zc_sI-h^>lEnw?bA6*oF&GzRUvZ@%0GRsK|wygV4@MZKbcHvEiAtOPDM``VP2w#UNz z{w^$|;KQghkj6uMs``ENV48-*Uxzo?<%zj5?_J9eOp zP;ExVg;gs4r;(;FHhGwf?%Z!wH35tkusTxJ&4LRLYMNQMZ*R`xtj#GqRo@on!Jz!1 z{Q=kPJ*7rMsL!b1Y?llPVN>t?AfZ>eP*q)dCNS8e!2czh&%-VV0@xN1CMZXx(`|b- zMQP4DK1&-(z$A57Ci?T!HM%Qol{68azn-GeuZ+bb>jo=|RsQJZ3j?k^2XM~A@j{=3|j4+Z6WMIe|} z%s!iuqrvB>4B&WjLZmi5s8`7dN2(o|=QyG;!|uMO+Ax=6ghvg*No&a3zkuP^6*&V-!(&OS_mkQN2O3(zvq zfK5z)20dS3^(E~JPwui`ITKjE`6p4tDb#&tmM)Ul@#0F{nVTu0Vt&Of|)3>c-)gwGUj*!V5P*S_Jd| zIpp!?LQd7+C#b3e&>MlUmzA+V!pARvb4N*hrNF?P=iVxnsqXsbrJwdbK@qNX7*aI* z)aM%v{fyB0r=XzF#5e;0J}^aSZB$~htg2Tl3f3GIK0M)Vve6}MbuoEpj2n_~E9h8s z{nrdSBf=+P$VE|=iMIXly#MaF0l+>+AkKTOGZ38pHiNT^b{pZ|8u=I zt)1R}qeJ#hhHoMi=ejQKS66kv_u2Sg92zxAv z;`8vJMf9OcH)Vs*yseoN+O!4G$m5Gk-5>mf64aR+S#!M0S4et2~SRd6$Z`XKh(3}wOa7LF`gg7ftY(&b5B`3}13@OC&$eo5b`gZ~K$INFaI;3~$>u~G+BXtlivx*daw5SC zwTP3;2(xm1_q@{-Zl3jBzivhBEL-CnV;p2ys$Ce3%yLQpvJC6Zn>JoNIe`AP!Jr_3 zoq-dwgtQcuOMJ2Ex_OL3qludf)sFg^IrfEFzOX%IskB3XSdziNsQa6} z;fBb+-nZHnthReO1oRcX`0ozn2bK|`Y$5z!W|znwu^F{v0*(;zZA_6!mKVlVWwZH} z^j+zjm%i`v(X|YCFR#Zoqds2WTtypiKQxJ6L>Ly2eJoc++Jr6Fqx3KUY{RK)QxWJ1 zKsnSDG{MJ0z~a6<6rD&m&yY#dC*J!JEo*AaKfQKZZRU($36>VB1Ur*%%9OBTQAbiG z2LiKN`}UH5+(UH?hMuy3cAf`1T;0u?WQE&LgN`>2tR_Z|)lq7oAi z9UrIU60=oZ`Or_^yncpQZ32a|mX=?0xzkSc7npso?Z||cQD7!QqUok!#N1Z)y zQVCY-0L{U`S6Q&^K+9}56!^faWWVTvn9Qjd5~fuUD8fAU3$WkRCn+0yZY~A2Yf54B z=~v}PaBkVcga+b1u%(FvdRFNcqQptyCV$3kVv2dYi#NK|Klzqr*fA}(R)7lKC`ZY< z)}a-j_r?pOMPxyrjT&X@5|{6{LiPSTuA<&gAm9>EOdd}(aN;+*%#?xvi7aqnlv$v3 zGe(uXy?-{MzBclfa+gy?&ixItJsIM#DJqIp2QCggY)_;7bEt>8KlQ?zDZAZJJG z&n@Z}=0L_{2V_v~QgLHmL&(uxU%s+zBG1!Ncs+h0n**>|emrq8MwhNJr z3M{3H3olB^jxhwJQ?6Q{f6H;D%od;-Pn}JrYrA$He8uZT@?&d9+zVsPqtn={Ybf&; zRmy_=yrvuab8-WLKTM@pnNN}RTc`hi^@KRxXdT-vJ0xD^6EGY@5l8SXu>dumE2DGX z4u9K<2%v+RnUsHRdsWYR^9|Gj`Uv*_1z$een={fv>NLTfiv2&dyC5weVW_??(MpQO zW-mFL+3FM)ht-Qqr<)+^$Vx4A_xH?e-MU{rcI|f+ByEMt2zZ_)d9~7i3nC5^BE&=7 zkU&#g5-Z0>U%T}k=E_>u%NJaVo#V;quk()u{eO%oW9-za=kQhbq^oc39gRu8Be|}2GIM}26$)ITn zpI|T?@;LiFJTS3+v|s|FOqe^?VM5gWCjjJ}9lSJjWTK?EFh&0~dDYHVHTZUj8*g>; zT(Ge|+4%rgL&(X1*cVHm*D36Zz$d6B(=NbKrv1dNJ#fmP-Z3cKUI@3IAo!krOHuo?IU@PPZGBNS~Oeb)z5qVU`l)KN30IXi|RV`G?q7Y5NqdhpS|zjoR35j|||h5xCMY?o?C){gL2(2oAD zl*IR$GS{v_R;Uq>z^`M(R#C-CJOq` z=9kd9bq-f6e-MrKTrhkw{~g83gHj=$wmet;+Ph!8UeGKExyqbd-cOfy+X)hB1S0yFH6)!Z4D2Vx z+LN&Tv#7=}H2F!+7g++#um*_sD`s5#?y*EUS)itWuzGXp7PLd)z=qs^fZc&eV`^kX zNQc5`X!C-68P}FkVLhKmKEKR>Q@_h=cBHGv$d~0vx9V9^Beo#k$PawCErhj7m3}>)_XAhnwR0BMcvj1`7rb9p`4g-Y-&woY&nLSyU*Q+@3ugj**NCgUY=9tc- zdx61trZx6H(O11OS2RPVF!J!5QQsc_##lD{8YR~kjPJ|o^obXIv{G4MgB$p7LoAsN zZO$bjYKu|QG@;HOQ6=f# zVX&fnDQUK?7Q&QCUuP390X1{xMnNZG8Y*#)de!)7))F){E_jh5lT(9wOKuz=vSqG#w0 z5xf@BF2?^y(|ZSEy}$qC_6i}J?7hjR$liM;BP-*Stx(x}WsB^+vXYf8JIacX?3H9k z*6(_~f8US4I_EfY-}m!%J+JF=JqF3Ck2YGY4|g(0qkYq#+!=`>W}?D^{R;=-7HHUD zXZ;77ey+7>gr5pRMmljU2rY~XN2Mpoa_S9-c)`7O zC1WNI+CAInWoK*TAUser`-npw##;11m%j+sTvdx$&St;TH&FNVr|NUGHFS9zVAaU? zu%Qy(l3w095Rm|iQUxD&41VB?)~n~7H%~1s%kV5H)tDkTbTCPp!Zmulx(PHzS{ZsW zn%=`K`UO_NFo6JeZg=num~#IB+;}#oNO2c7-mpMguCB~;Qwx&HX@c2k8?kkT)Dg4x zmp%{NHfIbGLM63`lMcoDE80d~G>*K@pf#5zDKb?#Eum~8V=T7B&#dUg8lPm`cO&z~ zTwA}^@kl=fTOWv5e~K%91efa$oN6s??X-3ck#QQIG#s~|rc2Di<$T^1d-TgAVOqsw zX-&7I{$=}#Ym8G5r)jFIRsbnjtJb2qU5u*?e%JhtmeJC_q|N!}O5JQ8=hbL3FO%HqVR z+BvKplofTqrzmlxaH(-Ejk_hFQ6qr?gpBpwC4>sn??nfd3zbY9Dh?ZClQ17pCZ}_F zs=~fZoe2FCF=35fdGU%AJbraZm`L7MV;e>PpFydNfb*K%0QWyr%B_&T-; zq;6qq^BNw!@z{X|o;g=r1yiu|B@8bj9j|3-$a+hE_2XZ4M%xFa=Ex(g67_%!E&E+6 ziAiC_<9Y*}+zgq7t~-l(&dV`cOoeekv*pl_C)W=WxhNUax~EIM#;)lfr@(|wNJ|Oi zJ>cs-oKJ*+i5v37V?MbUIP=R#b7|eb?8yG+4c;# zAbMRH=F#x;a(3Qb?v4HlmN2g3W=7TI_*miiR0rUNw*UFg7oG}$dkst#m=fSa8Of4* z4&9BN_Z$?6AFzi7of12H`nm%RpG%zo+0j#BfdP+VZ()dWWNHm|J>}6#(?N}p%m4Zef^Y8cshwK9MzUV#^1zK za`%4J=iGe3{ad1{t4BE|x!F!Q{By%^_-kd3zRDx!{afl+;W8IX;I%CdVX&l9>n`MoMZ?3@L_A8OKdu}7sEHp&b zsIFx37qbd4NPhElNsxspSQc`OXb9yl#ooRK;?=9w1Z6d&Y*_NYrk81lO-fM1Yflcsb__O9m|q7bO!9*F6o_XluO?F!d!K9vZn> zLMJ_LHPn$fuZE%$V4~!3KCyzw^us?X_@ zLPfC=b(E>qYSL_%oL0yz?e_ixG-`W$d&Dxs?wk)?rdlCX-uGlDz4Rm^Tjv?uf#`>j z$G^@N9c)FB_>bKQaF+1_(PaK-W$LW$ zkh&gyQub3yCSF%zocVyI^bcJSbIYHw5J{2z4#&{-{{2ADG=Z*k518~X5vM+Yne|d7 zDDk0JwFbvPAVy%XyHY)QH^36(M5d_g@Rh`MK9cgJDUEdhDwJ+nVl2Kq$<$>G{y5B2kyn4A*fkk$GR3c*z1|~rxq5`eA zGz5Ka&=n;+mrgga=3*2cHgY@Ob#ySW*ev9uX2&+0&M2lL#rpnG4-ciE81Q+$pvM-! zof7IF&A(m5^rpDO@1(?IAi`kwo5?21YuOmi3Uvv}a$+~r{)LWzAxnoeq#CCfTQqOx zM@K!3fu;`2UQ$1xL2ix3{e@PP!oi{05WX2+g>akfIDslt_UirbJ;t2E_ysT<10=eE z5DnqB6?z$s@rJk^S3BZ&U8qa>)*Nly0|^O8cVW2<`#}i z%#!1_f*3afDP6rYZ>5_u^FB(kT_;WO7ekb4yr&6H9Pzk`bS&1Dq$s~ghb&v)5?Mpk zC4`*Nfu}lWG<9_E!QupQ0>%RB%N(QY)a&_~NlV87H-n5USY)m$+Ml>l;Xk~vl^iQI$6 zPgc>*`uMq93KfI%NydHR@e7X5ayX238j?*a(ddLY{SBe$ger~_aVxUxqdy$6(g#ONZzqU2ao&%O#wXq5^Jex9sqHnjo+W zK5D~xvKJ7${S*3paD4{$Y+|;Zx3OU&&+7L_!{3cfei~$l`Zxa^RmZd_v#TMx^T-e+ zaAN&ZxhAk1@P&IBqMM%qc(ANA!qQc1(~l?vVQd6M0X!FS;Si{y*3VCr;xE3kbWHLr z&COkekJxuH5ZeNt1A4#Hu8tqUw-k3d!Ul-09L_)lO?9Y_jXU)VFiUm9M6= zBUonN>Cm)Dn<`^rDDmLmc$vq6sjALs_{q~bayjw1q>PMNIONdN0H)WRjP3>GVqkz~ zOFegHAOZ;lden`Mr#&MzP5g$23?#Wtg^aVNVQ)9h{^^aJ_Lf95%KGIx&MTxCNjeF7<_P~cnFjeqZ2YjPNB4^C`AGvaugni*3(xRIS_obF@Z*xC;2i3tBssnTa zf@Q_XiS=U*n7jb|c`nr*es z<(~A`%bP{kp7SFA3g2Rc+0(A$S~T6%-gxq(1w^)%yh-@)@Ia914NLvw-*aLjB4i|u zL~^*TP*axWsB{l)pl5?8+oH}^6}LM-sQ?;DWRVB!AANoOF>*YtU=xygtm)9cv)NU- z!iOBvb)H?7c6YBW2^J;MyM<&60qL4BhiO7W6UyRSo@RCW}Lbb zQYxIvVo46Dqn5$ds(VAK&h@8nb9Jbf!HO4ky3aR1VfB321;2mqZKt=W_kAO2&bRUb|Wo}B=y78|FwukSwuAM@PQ z$xvdO*Cp4=T5;m&zU@$gVdtkV+d`}!_MGg2ul3qaH#K#U!lEsO>`Ei%IMKL3$O?mp zt(qg~9xxd~@G;P9BZw$1HZd+Ynxc|R}O@chQ17p45fUW(dcnzx37&j+3QpDvF?Ub0hX88H!H1*@c?%kq#% zD;2D&f5j^TXf+%BH$b5TUc$gQ2@`tR1(EHD*aV1;uot8TdKFAoZZZwn{>M({KnYf{ z^;%t9y98mqMZLoqqIO=t`3{~s#K;>SHc)m&$@ZJvalN!qdl8i^d7DX(lK(y~7Rsu* zjd3@F2#KAo!&nXKrJRKKq+1ayo==yOhOR6wqmIV+1_0}Jfga~FTVK|s4S`H=M4y_% z3&t1QYF@(hKE|0=!;>gF!z3UqvT}7A|B`2;o}`C`hC0_U7S-9VB#L!*Z^oW?n8dkH zRGLcr1_m0OZ%xnzK^uB@^WJH0vdcdF)&Sxx-5NZ|v!00F6L5O8T&q@UQ&5vWGWavd z-+?s`yPErv63+wvqaQw0iIlPPSSN>zkx^-zVHeGlEdjN)e&iy%(elvixX z9Pc-n8wWn@nOlDYpkrIgCL%EUgbAWh;6kqx6rwVtIcEMC!Z$Vi%g zXXAOtdDa%+^UpnGfoF74TMrg4lcfyiEtfwiBt~hWKey98AczoqK4blE{9^=tUmzD1 z*`~1c2I4C?-En2uU@Msi1Q(>r0LvCsV7GMBbNh`%xG)kGrvSA#M(}75cIva;&&4Y@ zuD%Dy2e>9ockh}fNV7ep`s{kE`OPkx^(v$O0XZkD#0=X*-XwcP_8|>{XmwwCoH8s1 zPJMkdS3%6G8Rad7@t7bF!GvL?ZvtKvAQ8DuU*M-M0L=l+D46HH6!i7(W?kVBf#j5ynB)TxECWnJ0dfYT zx^6M2$xZkd-~_v`j^_wu!fhUh67*8>o?&_ShXgz5@UCrc3J<40o zougVOqAF%8YeLUVBJ7Y zSAm{#w+XFg2?Gn5)i?j#{8>C{GEQJx(h&$jTn###ciE?DUAnFNH4B|7 z`w+D)wD5?41=t3Nru=*R4&r8p>^y-u2a*~p=ssbJ=lGf}Ux5{i7hpvR>PjCZlL%&D zC|Rlf%-~V@3dl$&zoz-`-p!J>U10T@7j7P^AJJYk6KMJ@p2gf27(QQs#a}iOZM+^F zidUgR680KL^2z-%n3H4aW#|rDNN)hT=D*)dK_lYy=}x0-RlKp#G^d-T#4crUSXf8L zsgH+WamUEvEz%cQQX+M~CmmEZ=Neu?!r~}A8}Qpen#2igprRh0?yvM?2jAD*jk@d{ z{^N4y_B%)aWALYUsO?>f3c5>GZ9}W<_vq23nG?QlG z*fCNVySiH8wbrW1eZwm!YU;tfvrk+x^?Wh_U*hOOM>t?l(1w_ z5W64tc*$H>ozc*b-(C(YqCsii$gF*F^r4tjXk1_O4o8RrK>~?@YE!?RHW$90ash0g z#YyFpXe!4wr+&Yl$(P>J8!~}=q!)C};jrN)n-#q5WI;j4!Y6W`#c*!;_fC&vc5+%M z&>HKL*YsJ80pBN%t{ah_|I|%Y>%?_h8MT$F6^d8-U}Q%mDG29b?Pv%jlT-k4k{O%b zAG8n_=0a(1ZbnRdAh!o>N{qE$ms)mQi9kUaWKG+v5jseXJXE}ay3FdeRO=|ci*GZr z$9d5(E_Q5D6QIUr5*cce=NEP4wpowev#&DwXz}+_Pxu!oI3%_?e?XTDI33gnI(#fg z#pmssJ}xyR0)afIw&#Ocx5{)C6AGDKHAkidwNC>gV_a#T(rk@>j(3j3F_lJnPy=)} zXvqOUq250@ zWD*fE^kp{g{2k-Kl{YJDdKSP?0>!&zCmB4h zwenr3g(Nb| zX+Q*skdcvZ!isR|zz-^jM_zyuu1N!P6?qhtwa%p}#ZV0TG0;l;o*Le1x}c`tW8;mP zZ1#WHGQ2nb%5?*tdzg!x!O?|JnE&HW9mK40q5mn# zq|CqfFkv)r53Lm=-94E-Xpx8qE7jgup&--Vbd@SZP}Hc2DxILG6ktp^ZIHK+mXXl{ zye|^lM;xR8h?@dN4hlvYp!0*a1-PyDj~~maW}*J>%c0h}XKhAO^0neCTE*jr%i~0tPoyJl#(m*}+np6NQ(Ps*&0o z?^`eT9sFJte0tUO<^HF(l$-&EVwBb;zwxZApiD*J)&_Sy8cR}!<7B=3DN-6OYx&5B z%#8|1!<#G7EE*^F0DXG82@C(KXy1HkUDkM1mxn0-0&&QOr4N)ouoyQV6v|sXn$Y$K z+>OA+x3me(3Y0aVc|+E{0Q`V${UU#}dplG7%Jz4byXwE}Vuh3w$%}-?Kx%SEjr6uq zAd%?{xycl3iTq%%i7+8OX$fdnL=`brIT12X1uEx{@PBOI7w}?bsdH|Y-g+@=D8rJi zT=62aj}y$;jI9j3sIxw*A~4G5gg6`Y2+A2fm40{Hcm~DK&uBUC_JL8dYbSx&4}d68Yatd`a40}7$NyUF2V|A?)B7V?lt2`K!9>L2E6SN?k?6&J zF|&Fn%gf1t1L86fw(BO($+}9!A)qMD0+!Ru@D?FJ@c|_&T7WFWSNJ@T+Zei1cC#GSkjszk-LE2;OZyblhAiS`(Y3D z0k%buRMaUiZA~$6ySuvAH`RJIt*v(l=F!0Myi>nfhP%Db(H>q=G-ts2;T#MR-oUK) z_ou(*5!wZ?X#g5_n62kDP8iR^!_~0)N5(2fqGC@RJDQY8T3nh053N6Y0@18h-Mq@y|!8 zUO2aX!-L^+F394TJ)=S&XXz%N2k8mfqn z#M!S03zF8;07!^PgmapOuOr;LrJ{QU zd$r`d>^Pzw_oKg;<6K2v=8*k8KWDZu)X}MdYZ*qy#g6Ms7u;`a+~hF502NLK!sDP7 z52iWA<9_pT(bckO?AGe+)^hP0tt!@9gUv@==PI+2( zw-4$y>nCQSKthz44N_X(%2Z(S&NDm&G(y=LZxNm^YFeL38~b>K_vB5tU>3nej^9tYa_ksmFtN z1_`^K)J53GB6aAO%07;7oc zdeg5_yQHc;7Qz+GYT13S!j>JKoL>G#K$&O}iFf$aS8>BU#EuKvk_nYEE6U^}BNWn4 z)(y8(;v!qv#Hu^pIvZ?s=lD1xFydA{eYXwS9feyk0wx#N%bphnq-SK%;ooNR-c?cjMO9{M?Pfr#>e-nO+1R}%Zur{DY|*(>}EFQ+2jJ^?8Mhn_>PP4WhdkAQYdvOBW71;cB= zsV;iq3El#uWC)eR7b@j&&m}?7g)A|F zp8(G5_g^1kcXHJYd`aYf={xTsEF5)X+xew0hA3}_iE0C1({1G@^g}q(zA)cjA6NU6 zNlv%wv_jJdyX)nm?vk&YX`Y8~&PKecpJP{Bp`bMJhzf2^+MSjP>~F=Jd`KW2H`iVv z4LkW;E>O-FtFJ~ z3ussqH}DOKa4=H&%x8<#DLyOX$Fwb9Cil1X{ca%po_0A;?k(@mf_`f4Djqxf%3CXo z8C)Fom>cQ)@0_xFYr%RJ%ETWCme~Q{9hcP6N7xEN>@kP!s6pTj{Cqnw<1>E>ITbd4toG6L9^Yefk5mk?7MS&==%>Ti;;gCSDu7V6<2!L_gTkHb( z6!Hanp(!2yfE5Q)cXi$O3wG`Rezk>|!s`0;TKD57o(>{DI^p4mqSbquhG~cjOhQk0B0YdHSYLT^$}{d8~ip0FZG8oDDDYuh>wEs2)vaE zP(bO>3248!mzAQfu;i39?(Zh|hhgcz%eE5X1+6f|Lo76^q-EQyeStQ*VfyB^ft|IWP$lGAfaj zh^=OvQx&*HJQj$GTE;}Zuk)CiG@gpuA!FBLbm90)cW3Q=#fiiZ;UAjl#}{sX=abpx zPR3KFzsd|NI%%?cshrSW#yH8od!>f<{AbPDhZ={5nuSgBa4M(5Z&<#JA>3x}oNK4; z{<3OoKBK#I=I%0@J_U^?AG%6nm~U-qEVAAfDZjz^l4*J`tG=d2ocz(r^CX)5_=<5) zYg|69o#G)2Q?53EA0f!~a>T{&5a>Ir1IVll)-{YQX(?%`f6jN%!iF52dr3K;Ocs7{ zzrF0r{$9J$gU#k=P*LtzE9K66u|l4|6UHciZKqAAlDxzzx*T>L?Fo!nwX?G`Husw9 zxSZ?YHEY`Y<9~e)p`_iZ{wr3X9ssfe?9|#-6=1TYh3g#AeaF$lYX8N1I*w6YE%|p8 zCaYmafnJUmLfcbs25pg;FxX>2cma=Dlg^F5V>2Aw+)`kki}-RTCX(QtIY)Vfew+WC zFs1m%u@&FtHR}i`HRcDtceM*P>N`np1FXT>kK#}U(TK6C8S+6?f#7^=YikOg!1FBM ztd;I|HTqzspmx?ne}&|?gSPPueAk+y3|wIb5!bd_rHx`fsB?zDbxBksSYfzWETa zM2MI(22;aZ*nID9I;H4WpxL-R$&WJ#_~z$6Tx?ijH1bAp#s6x3}8@AYmH|B0dTZ*9A<%bja-!*84KE3m#vyT9k*`TXUJ@zU7s zez*Bfuf(Qdj$g@|xQ=aOygV7G!uguFZRZlz<-B(p=Ck9v-|>t1Z$EhdSTkE%;u&^c zety2Og-;PU6h~#bbyI$vm-o3Lg{!WdwR2x4Yo}}CLx)!_`F1$1sZ_SyjZAw6anTku z7gjZ^A9V!P?TRQ2`3&<|sV@CQ+hk;9;6}cSkc41T5>x8(D1h}Mvr-Jw>cKSxQmnkJ zk$nkU@)A1KU&|veX#SkjSxl-02`JlSM9*9}y~_jw%PY{WL6eL?aV@S(-9P}OcVD^RN&2yl_ULBI7a!Tv2pvh zB7Hg&)rCtW|5=R*N2ClewX~vl>Fbm$=g#!bY*Kop=TKpwVi|o?qNA%ccwSmoCb9qN zmY9n(%3Duh;J`b%1|aLV7O($y|C?W_xA|?MQG563P3SjG3=FAp&&VhKZjAxZyCXzh zq{~B;t9=7cb#=!;n&5?GktQccxUPkxN05neXw*tACK56&^J(<4NK!2b*uIDjRm4#* zpzjjTck~=_>YfTZ*LUOugZ5jtdLn*YDF?4)a2)*0TO?Dqj{7?r9~xx;8dOlIU$N{r zjJd1W>$POpoSjA_*R(X3^7Q+s_*A9F8V9;~-5j2jfsfWh@k+)G)2gNKYR#~p0f-y1Pn}#ih3zn6+?T!K_7de?PDU5%E#ccSs(kXO3YT7!~sR9*ohle__8vLDI#02i53dB{8m zCnwdtm#1)vzKM9V7V=$xumGMa5pg&i{dK+p(Gk%-!Hd-3@tY zx%Vd5;XbiBYL8);f<#}>l7tp9!D{#MlW_uaa?P8XSIats_h-;%WKhoBiaJZ3^Z(%t z8##UsOZ6_(6iet31-FS7tUCjygkAf6!zJ@9U6rJhyZa&E318W_c9YkPC<;_PZC zs&d6kO+Gt4#*)U_t&yV2oHe4bEAB9GYYY}U&?9}X>D2{DcM8~Ji1HUK&=%|YCN|L? z_j6XA3Q2wmX$Zz)9~;{x5-130F|v6}LQbws`$UH#x+nMvdTp{$g6o7MV+cQsI;M6+ zvg=*Oi>US=?h~6qDkNmQ<{$q1%yB%B{Mmavg(wKE>YJ))rBWL2301MrV6ZJdT`lsecr*YoqYkeK8G}j2RoQifyTI1G%4kP0SDZ@ z^v%p-Jj?6Mzds;Rl~1uxdTQ+Oq}SNy=cM2q4O7c7J$;0OCk2yUN||3XT~qe=*$u@_ z!b-lx8n=3U`L)u1q=kh#h0LnpGX;>j#Pi*GHo}QoSZ@N8O}TgEuXHth1HvZSDCvQNpQ_&@l>*Lb;)-Z17?(-}YKHFrF!;$@Nq^!Oq*$frrSu?PX|~xf{v8=LmL!43&)?m%r2Pvm=iP z&hv%dG0TL})3)OCST}_3~R|yBAz%5Y~iU=Ha>h zX_0Z~v6e#ihLsM5r&d3&(%3KBwz2o2vb~n?4&L9Mrg@U?F}L1-Fu+;h{C@uL)En8n z8}B5Kp|z8Sbed-NK5!UygO#z<+4QDd6{_c|z1r=SVSVulS>3Dryz+tWe8J8iQIFcg zyBAoxe_NR7l=Bt0;9@oPJdB_8c%+W?v?*1uSg#DZsNjuzT2OVq1umo^aB9G?!F%r! zEj#OHY}dX4N`LE|$jTxNCy{4tiMXV+wEm#%2~MuBwR8hGXpz&4tG7z#$epbcXi}AA zg4`4)HgO*364K%%XxRsKQnYJex_*?gaq8v*psn%QLSC@Z6Bbnp%?ZI{}GLgOpkUa=iW=^OKuBi&o zG|VI8lDZkb(X_IScuqW65LV<6cGSUhWxZowrTAZDRwGV#ge2ZY;Nef3Y@E^p-B)YtO91$W z)A%jn00FeY#m#;5KLC+IcC0N09CvM*SAh4mI$@M~h(;=^gsO8+o#s-b_!jG{Wa-aL zjM-$RGp{zE@_CHM<(u9YU7_k9^hH-Ckp7mhQTqBny^Wc_V$gpD(_cJ-3jCqH9y(M+ z{sT?CPo}U0#XZ>$nfafFuXw1Ohl_KkSg!9r^UYWEkZnt%D&97XwLGu}D zEWlc(6wJ`ot9Su7H*zEw<=XmW;Sq(ibIN~xzz>@y`3~>V>{M-@WUL9#y0(ws(P$(T z4K;sPvY`pndk`P@7VE4nmcAxU6sUBC?Zz{JGQ!_ngMIcfw8%gXEBzO}G%Ni@oh^xW zfR&&B^-7H63lfLKEU;@ftvu?tM5{pk^-c7}jT<3FW3M04iU>=FVv&TRm9Zu5Uj}T- zdLLbuIUU#$=@^b&d8$1-pRiP?cpUpHKd6OhtjhoPN1GiEGP)nCaC}rr#c>lzi9eP) z;tl-&jnHF(6vun(H^gVZ`o+vV6IG^QCS{8*l(V*i+;L0jMtwlU+!SUaI zE991zH#~_@CiqcE|E2b2gl0s&G-+vl?D*dh*6TorJ`dJI!5l-u1j99E_P9xj7hh`G zv+&a}ABlU}E>GT9R1967xcLLm$+f8p#@=Z<2LtPmBPdWaD33iTt}~>YwsF+r-kVIfj(vafE%W;s_0?1#UP{{& zW+mn+tiPVC;y6m`g?l)q9(dRfcUuvb6krO7ccEmvFYK57&*y$l7L$?+Mb;XiO(&iN z3e4Q-B4raX{Qba$7B8NB(vz+=z)tX)YNp@gF-JnS8BP|RLp2emnUq(sW9~Tr@dq*1 z>s$Ej14kdmK$c+cPrd?F@(QACV<$)JSh1(;pJr?@ji#H|R(hdTI~}&X8i(#pYPShJ zCm<^*?LTSY>A)Vz|I$5MgY64sEkd{13eOHl@z@4ix<=ja#TI9wblVs7j-IJkCPeHl z55*g-c4{(eA3baeRdl9(_-tA?tRPXzxS#Xq7u%O9Z`97WJSCHGZR5-KFNeyv8={R* zuC9NU9j8xSO1d;1U+W7?N+i3I$l*+T9gyJOC&cCCfxE~mVZt~xMGK!KNGsv<4o1zb zH2i{pKFP z_2oA2+fdayZ!Cxjy-&rKRc-u*!uGycyfFt<<@Qwe+tAyhiF7;pY zSGf9N2G4dM;)IGbC0B`q5{FJ5J8Dj&z5n$-W9%qt^MOXcZYcl6lXcUQhiutI z!Eo`%#5`7MUYV)uH;9UN11S#KmJ|&1^?SzVfUsT^^wwpr;hkWVnW<@u@3GVTsqovl zWc2S<(legXSmDAEF8aMw8NLmvUtoOl0Xxy_gS3uTNWy~G$CS@!-onvAj(Yx0W#+B% zU@=gtz-=*k>Pj-dvT_HkJf+}%h3Bux@j$JzU|8ZyK}9a#Hf3XXam&b`_4o&x1-K?A zw6|*>#+VA<;0RFQQm=KR0WPx{I!6&w{urh#cYBC>o3szO{*`-HoTS?^4IX&lB=QIJv_HTA0p?&yI18|8 zwgu{GxQQ-7+|bYvfIc7v&`{^+;)3hq7tlb#HWy%YScU%tlmUJOe8C?OwLrD-J58+; zC4rp!>X_e*DQe&({2xHaFs}c<@BaT)1$91$kB{eSBpeNneoZ4$)$k-EHdW{Tj&z%7 z4!b7QS=V}-ulv#%WBKywHc5ZD8Q&R@2>(DmLl8IfhtH}!CVv-m{0;g_N4myiIJ}6o z1Z0fc2}x9U9>>t#MI?x##Chj*{2OA}+J!8_vu%T1U%T_~=Zcsf@=)R7eyo=4(_*h} zAd$&=QJ>g=x+B;_p~49twHI)55YPokK3z~4q>*H49sy(@5}`iNv28&5FvMgqqVd1r zH_rmkW}bLCW5>40Q+rA%b{Oy&JNt2xb8quk^}vP_k+{7EZNo312EwABzTFuvESMc` z-+L+Et`#QS;;X`zO-wiox z(O+qtF-+%jW-dzhBhp!HsfubYn{6wTeL(o5yPL@<&z38dVW-K_q&)r;8^vJb9Zhfo z)CV{V@kVvG-2oF@5YFsOmg(~YGK!k(dNFCnL!~u;mGnJg5=(){UfJ#B_2V9HXLUn1 z;xe0{O-YPY{Lq)Q=N~c0+AJhQCHr6KmekKwi{D=ML1GDjFq{P79G|%)Fdh)KeVRQ1 z+cyoJ2M?Nob_5%i{_JDvYH?&UO0QU_c9!| z=;&z9ogG>=sb^Ku{9l6_ad5`v7Trf185HBz#ftw66MiP|s6n)x5{pO6tLWK$(|vR2 zZtyR z@42N%CYSX-%9zCS5arp*z}Vm4HD7BMXZx!Ap7MyL$8B+V7A9|b{?CgGka>j9^{6X| zmdYD29WWhnzK3nBq{hjv@kWO`*22KRvkMafk+zDU1yWebA9OQ9cQwxtCHO)o;eZp* z`1b>K^t*+5pN5*6h|uG`6E7()%+ecTqVdGjE zPEJncuR6|iuH5E>rh*0-@#@YC|Fk|i8oi_KVXkXnQo5r#?G?hU__sw~D zGVWMwvf*PzO}?XcJVTq0Bt7;vIBGV|*UHf8|{ZlqOaQC;#JH z9gd(WKDKR!6g9VMI8T%xRMj5n>mR}z4`JdVKR%E2eN&S+Ebb!}&>F4R12gmi??4vj zP&>J}uHo20-cgCD`+=Yq`==HjA_ud|QV02v0o5)ss_p#qUeQF;Kaxi=j$fu1;&}Bx zG8ly`m}{v$u&}5qJw&7gaZzSKP=-td7Aq2JGIb`scP%X~zEFg}Kik=yuKo$`M=t>w z-B?@GHMlcPp1x!%d?IVin;x1bX@rkerCw1W_HRk=ikByj&BVns`Y|eNlGzdlX_G=b z5iWZIZecRjk_!7?NU0W9War>OAUeKhxV-D9+ z0QyHCFsCkH?FH*+%(#`kt8^~*%Cxr);f|*w*te;FYgAdSk4OA&7&?*EyI-LS4ljC zO>=oz3Rdx3fboRkQwf2<1bQQmVWV!6TWA$Cfxlb5pQ|;58_G|es0g%;rt9^y|5t!F z_l30oRNzLXUeIQHMl8n8=*%CERgp=esN1pVtpX**gm95VUcKLOh2_-8G}zoa0`|b3 z<(YVvj^m^q#>nH^9$4lcEr@p|p> z-`oEf8yK`AzG?0MxQM-W=g*L$1~ng^Bz1Llw*bSso3Guzc6O!qV-pwUDIP9<<=h^5 z>gO3X{{47BAX;WJ|JNJAd5NAUIpd2%wX>X=$4ez=?biT5A?}QzrSpR&9%7AFW5>zQ ze+?`RP)b%V6g_M0zbifY>)_y^?=}53+?B+Cc=`D5K`H=@%-x{ixb?&-N{@zpz^%&o ztcN%u>af_SxF9F9A)@>nN#4iTDVF5q$H7HoycsvZV;6%eQBJZu$=#nwW$OlGh{h`G zovnIqyReAF@dR9#=U@1k3WtLQ;-eF3yyHz8drM+&HTf~LhODR&i&w=byKyA!htlM= z5vqL#)RFd8{9<6~rDBD)T3Lhu-WkJsLm}!&M83|3(YLgN5`_EU51-j>10w{&gM#Y^ z6OA84q^qf^C3lZ>X~*;532!n4u@8^Q0+#*?i$TVB|5wJSsDDOKJ+>lo(KNM{9uE?>vRfv02}SW3YLo(DLfkeLx) zbizY@v$wYwR`6B*zhP&(tG_eW;2TvcBht0ucr@H0SWCA$(gT&4X^TIZSN9yTJeY zYCddV5hLY}RX0ZQSjX`@7eucNTkhpZ4^7unwES#Yg(%4l8~l_i-UsqaMP5!}XB76& z;nfpjriw`ixd~%>F|v|Ij;F^EF)3`^8!wHHx8l*53IsYH5l&-5& zYpJ85K%wzK>g=ao__(bfQ@Tn^)h}_mCZ;c{I;B5rf6vidNJ|i$e z%lo~AWaQ={t~AbRdk2`S13uICZ8VzzCN(I9cVVOH+E$|1{=ocMJ}P~U*{BtPX6JE_ zNRR)AsI~XrvWr7%i!xQsss9C-uzBJn)ZWG@x#(lV1K|&P8$^~-{jjm> z8yXBI?$AM=otUdg==Gf6cu+@PRI&Y#4-N%z@|-Hu*f*h`%z^TRI* z-EV!L->kfB3uj2rBKqQn=cYp{K}BpzX~NXbW)w=8zaMJSUZ__Fc=k(ZIuI{NIA7bR z4}L|!y!;BPA6mEnzK~84d3lZEeIn42i2zLA0fz1H?mift98$@fZcf%ybhBcN+y82) zL!q^yPfD;Vx1^C$hC4YcK$v#mV&z5(oxZX_oDg+ZH&Olez|ElKKQ}BNt2_?UDDSH- zD^ta$N+5PT;I1ft(R%RZm;9*^Z4huM`UdP9#4fdp^rBo104uN>H6JO`<@k_Lr=0T>o{!7lF8&Bp-2w4P6AOlY)49q zi;MYus^~$K`2%8?Mp^#3a!{KWL5F_tajY(Pal~lZf5MX2hW%={bg-McgCA1=%iAEg zCnqN-z@eG!&8J#=yJYb_Uhgql&T623+zLw}MH7__1JmqO$;0!r3Y~inv@Hj!F14Nn zS+80ox6~~$OXGZ(HLZN-JUE$rLjkSBvcs5OQp25#Mm=RDz+latVIevsk^t=) z%@38cbnjaH9=B2(yZS{;+RkwF%9UH*$1NK^?3u1|pxuMiWrm`8crzd`8ewaJY6V(` z?d@%)GPP*Qg38KD*uX(^zYCNnAeJ5;9B5cf*;)u!kg=BwszluS!EE4hN9^v%KG~_p zgqBgfo1Z-%b%ouym?rLy{;c48e3EYw2FAwP00u$#b^J_@Js)utQkMCLOrZ5GvB&HK zqU#RwzPrTZdSvANJg)VO@#XX9K?2ltCGQK3gh(TG+40}~o1ea)sOP#%AVzb!&<-Y&(OoQ|h?|v6tNRY)Z_(;+>xz*GL!$Z2F*p|1ysX?nUh3 z0Cz`upJzuyh82{ULE#XDTjC|+M_aO;z$fN~P8I9!=l#L=Mzjqo?BX3Pi2AJg5L%F$ zjwEjc3vqMef%Nm|)qFfr9-q8atLC<&ort{=UQkK^u|jf!9ucct@2F#9Kpvck|Bt4x zfT}X>+NPzXJ0zvMTe_sXyE_#Sk(QR0mTr*}0V(P3Qc$`6Fv}vVSu1ppFFRFW)p@Sw|PNH4*&w# zLMRv4w-BBv?y$I{j~NX^__^c1If1I`9~t(FaYi(vR_p_srtG_eH-fr{ZqeS)3HJ1V zjprqkqahPtV8b5HDI-%a|wYu&x-0Lm%A;iV73Sb4mHbdAmO;EQyT%tlfvhFOVQvb@;aMWIioYen) zY{DU8#9LY&;#4~r=)uQWyR*fq)B9Blfskm9l@QOtGC+t;{jYQ`56F1RGGx1U=Q73E za>V>_D0MeA_T*w8S-aC|EzlIO;2OKz`g-&upd=hNNz0YMa*bQ<9m&kbLGv|anbY@; z$jC{~Y8j&xMo6ky3VU6RD-~)o(^0V5pnwfa^(zQX*^Ok}=!YLgFFW+d+8Spsw)<7o z?O)K1_1N*%lJ>SY{;Y#YW2iz>UJX#|;M@_a4Y*a$}6Y&xN9Xmrg2(UfP_lL00 z+!Y{n$qQ)7w@vCsSg^6NJCQScJCyS!8uw_GZtEroDH+k$_!s5a{_sEJ9TIyDNn0HXZ8DMvA?c>X@a@^l9U$ z_EuK#?ROCT_KhD1A}gS_Z;OlRd3m*Wti&_Aggjva37DW~^|3r+Ex^nSTBiNX=H_Nd z_`?HQ;&>)Ihc`-2fUO4xQ>jC1WxkpZ?QAUX8S&t;!7-U~XtLQC z^z-!U{((#?UbYcK`d_-5HOF`<8@4t@W~k7Y+Um#q`%5ouTmusK(QjS3J*=pgq4%mF z5y(9-`ohZom~mV?$Th9zc&WnY6Slsci`=|9uT@ib{o`?MR%v5b?}q&I$JS?s+}o8s z+)z9F(Hl9FHYPpSPrW4CS~hp!;@>xi)9(t5v~O7N-HgEkHtp?#lM^UoH^AV343{}n z3fhV;{v6dL`?L1R{H+Ve&oe@p)~Gd!Q<6-PZ$0?QXu?BZ7IBoencbJgBslHmYhh_t z5D<#ee9l28@`w6Y~wd;D*{-#CQY#&mdYx*gPZJWMJO3QD^VV zs;Q}g2{Vwr7ZJ|SmYo667=usULcIkmRlJhoyQnm<;Hq9evp$U3$}chOM*wemx&$MY%U^H3Cb!&C+Crp)JvA2?1!;HrWb zz*>qZYXKMfVBdsU%Po92`4bSm5!wxC7rkHvW4iX6Jj*R>ROVI) zvHj}nNgcsU&$)f(R_*X*;g-PP42wfuUPx!!hO8b(zU5A>yG^AitDlofjqXNr=6?J% z<})#$#1jKYAI#vdK*GzLs^Op^t>&)Dt0 zJzhPstxUGQP&4jh>NHN)O>!~a3woH*z1_<;M*xQkW43@7RBGhT1G>3K@ow#@fY=OC zDR*LOcWJxa3~b*!vP~z^y3@g#Htb_%$nNy@$<@6nJ5WJB2=t>-5wFr0Q>WwGE={~y z{GQU38dsx{z(W%X)oy-!7!*bW3Z)#p_%aswkobj=pn-@LHb;56IjHzRl?A6uss>B0 zp2`r>fwk#dn`EU0en0;Ww6cmMEratqEH=Ne$eI%%f&j3AFx>``!8Pmz5wG>?0#pO_ z6f+Ju5G(ZDv=%2B-bzBtdARBJZ*vZ|E9}d{N1rUt-p6t!CXDz@g!MOR9t zs*VAwoOb}$gcx&uZrKN#nU`EGjV=NvR3A$_WaCTwe199LtKmFjgW(4yBSU%qw@3|T zRZ3O%ZrN4>EyrgmTxQU;B(gpIjHw>hAC+6t=gNYULODrR_TeqjnWed$gu_yfJkP?9GIS5P zLQ~ANipCrkX;6_lYrPB>I!#POu44$g8r2@_?-FL#ycl!H>9wB;XcJkoJgk5E;5jDk zt2kBD#k`wNsDxpNe+I}MV$sQa!0LnJ4m#uHOSwE0fQ;a$qM`zRMGWO&^}t^fM2R>4i$-a*$HZh8iBp6NJ2;4BuKg|-K`_ObgFt9rgsEya`nbxcHhg-$%FxWYw!CqTAghU6`6cJC=meSN$T!~gfI9n zcNyS&nOj(_!>`}pz;jXh?BE6CCv-J?&qii{-F>r%(0_w<* za0A1phDj$U2M40+gy#gd9kr+x$%|{~0F=FibT*)hiCuEg7xk!nOHm;hGqCYN@NNOk zh~b7m)a=Yaoyx#YGPut4)vWFANC^xKbup zj9_NX8e41q_+|Cek3Z4*n2MWXjF_RuA^qY$bovaM);@6NGLctKkF&R98dtD+(<*&v zjxRl>VVQm3b2-FV z^Ew|bpuR+Jot(of=aQ4>pT>~Uq`lQhYyhcGzsl{A0(vw|JB|fw0)(m4G+5sEXCnQr zOX6(H_N@>!pZ<;3_I5Vhp!l#Lxl=iJHYodMs#T_73ndVB0i#6Q3l~7$L_VuVqs55e3r;`6WRjY+9ui(UlLo4dULC2K8KT!#_J=0^} zTLq#wmKtsZxL${*V-}<*e!nN0o<-7wALS5q0f}v1DR4K%Z?7Ng2 zDo?ETyGy?+lyWRK>1Py055?s#sKoM0Q;1SzSQKn34}#+r`!A*T8cH^UKS9Ij1@_!1-j5C5D5_dP-+>sULMNoVQPFe(`N%K@ zCDu1tuT~~PlS7Q`;m!aj0*qjLz!soS6vA&rP*ck&@95bu0MO-=y9* zKQ3bYpA(<&lSq`8X@}&`7Tw%^D7Jm*KDE$0klh`3ij*9Jf*To zO}tY$`l@6&6ikB)!ATom`r9lt(8q;!2%Zjvsz4IxCGcN*gmxfwslIyat| z>OChz$%Ba!dHPXvP?udUtItprA{Oi$IBj{w*($>boeW0^Cy$ z0+bJCR4^GVR=!JVcVM{pf*VbO#K@~y=H|Af@Y0WRzfwkd-5)a{8N zRvQ+szi6qk0#uiZAK4hRsPKe;TSbefsp+Pf>FIq1H39%hhln_9s1hO6X#?%#jX|*p zD0`6dB{$V*w|@0}C42RK95&;pfCWu9&fu`Lz2>~YYNn_SdXw&u*Og^vkWbXBLIRvFV&HYl6u+K-_Ic;TO(!3lVG*do|WU1pizJFaxT4u#5C8@ zc247eEkwm1njBK?b`rFn9n6jAB$!*6tUF>UCy9Myak651KnO7sdDvk$xino$^D!pe zg!kI+cHzTLdLsGqQSDJhf>Fh7>e5=>KON9Zq!1S46`H>%mAyStoq^LV@5blw<{KCz zEJ@Nl;K&L&Z5sIt7OT=?cmbw5K)F!iU-FIu;Ysb@xd!XM#TvI z@@NCF+zoIVIrtA^C;;AeY1(l))Cou;{>q zE)=e#lTNrt0m3|lLk7m4rKKA>29$k;15Ko^0x{m@E|X074 zE4nu5NW*ID0#Ye5vcPCp&b$$#^%S9GQ~6Co5&YSI&j-TMaHJ^`Chg1PuBPgbEO;*A;XD)Nm?}&!&uNhs!UipXE}iOgftOhCPnzYWS=pTp#aYAQDN> z#>M3^&h^ryDRO(?f@v~56A*{`i3O>d695-st_VKe0^r&D`*)~JMZA-3y*+*EFNbRE zN;JZ)Fp*Gf;U}8N1iIZy6Kb?4@WM=vse-&VbpGQNJG>ixxTGreYPvE(Ob8dz1qreQyX zQ#=d`u9bSzjF*@|szn%@fK*Mqz61N~L}1;62>lm8&>x-3O;#xr&kIXxZWQ~eQ+MdR z)o+hpWy5?s!KY}w^`E5*-6Q=*3VpN;2L|Jw9VJo0*Ky0nZtT8wS&8{`* zOn|}A3rdZj?3UQT7Qf5*I#)bGh#|+FL_QSU4ZepdNfV$&VDmUHlP-%t@)W%dv1hqj zRldno_sRAgOKa<3K>EH&2k1kHIUuC~LRkzm8(4M@)imw)3E}U_No9(NgGbCj8D-q0 z(TTB`Z~VI%sJ*g?8a6z)GM-56{FmKANaJjG$2i8vVv<(c@7Oj!66tkt-LL##f^@ zPrySu62>iiK zT?cPdK6r(O_dJOox#N*g5#jA6-^rfh@9Lk?86`wnwkylZo8n#S%MPLR3%hE0Q3w)5 zuu(u3p%A>UxEuTlVJ8U0g1p=xQePm8;Vtkp06Ml!r{z#uYH1rqxtAiG7X!${{^bIVR zE}_Hv2Xjk=^jT_VL7gM`rL7n?7=CR-OlmNkMf`6NjL3gC_x@EuhjaWYVYxJIUrJT4 zwW#T0^WnSg9li=$cr7&8b_ee49Bv)I^cS^hl=wJR*=&~%Ig)~99F*84*zeOfYu+br zITq8BC={XlET#p02*43xP|mBd>(?y8s0-3kd+dg=hiVTRQlYzc8z)twJ781k-E^;X@TU_8Rtrh5C?|K|dT#4Pi?1%4dBrvIn38^?O(81XU7TU9z$g7b00l+wFqWLUV<1eyN5q`WOTh2REYK-cStk2OXXs+$=!lv z^@?xtiWcQkh_3W!1gQ)2>8c*l7M|HDOIa8x@gRmQW7;S%%vP|Z7qS|(OD_CDtMnJa z4+KFL!YQ-U;S@;k#`^^Ow{HaY=h!+qR8h93vAd55C$qWlDK7lQ=d~PC8YbaN!Tq=~ z$*B}TrI2`$AS5KI=s(1fhfhw)CaF#tWYUzkbP#<)dQFBUi=)pSNG{*lF}nNOv;YaE z-TeWT*~6g3q-i8ViZvR6q3Elu7XDGHA0@Q+2k2<1i^4nDl+q^H-cKnD5C#{G5jeg6KKIjbh=rB$)*YtHy)6|RUPgI2Lw~eS&ypvN5 zqGJ8jb&km<n|{{RR7P7?M;ss8#5JB#sSC?|FHx5vG*F?yZ=7 zaKjSxX|}YF3^{{YhYTD34~&RRfkG|Gx$ov~c`ugc2IR|LJowc8}Q>$%U(b%xk6Y7qnM^`dc>J*XPOd@$0Lx#LJ>J+}Fdtt7Y2JXeoqU%)Tj5?Y(T;08KAG2y>^3}$@yz?xwWPp&~n8P!>zW~VYu zU-fR?Z^4X|CKon0W*X&cJG+w99|!hHpGyfx9O~5$T8{l2pVJWfE5r3DhazV9^B-LLH&C=y5Izhva-g45?9k-fbcGBQf!Xs15@0(RU9zJAWP4JOd zvhRCsJ;{KPK3w-j z*zLj%DGFydK;Lhmv_WaZ%F<)WP_xn~z9OkOR|qP4`a%N<(`lkLBwP3DW!mvZ|F%g~ z_>DZqIC~~L1xo&QX;1O^;G8Aq&sQjT9c&?ds3a0CbscV$Jg*q&7nX(!w8NNE5{N<% z3{63u2`XqH2h|U=F$@A|3S`DQlkY%Q2a%=9QIHAs@shwgn;l>_w{?EqLf!b0t6)sf zIGFmlGha+Zf)IK+El1SX=qrJS$>O%FJj)MqPMy?7)M=k5mTrA8$*T?!`IqHm`#z#x zVnmsIuJ15UKJL33kO~6(%!uF6by0kg*Bk%<-}D_~PK#Mtt)n-{N|d4Shm7T2 z;!1=X;8=bGGp{R<(hv1?gVeU_-k&4DJW}@dBz7CBIIcj_b23*p0#$d%@a)k{1mEk> zJ`c<=v0Es&bFI~fHMd-<5Ic`-brmy-N8opqJdTKp zjhlXZX^c}!-6~Wo8Uog-h|wYp+hB=6AqfBQ8iLJ0jAi8P+d;h|j`t<+YjJoUbsM%t zP56^sJ>!1#swG{dE$$`>Tv64`05h2;cb8}LHZf^2O8);%*VuJ}n4{sc`ZlF5I^t_# zjmF4C>&FZwlj&9O>)AtO-9+ByQ>iBf+Hw-an8ujwk(>E}Rt{_qh_)M~4*nW@MM(rN zNIqD)FtagdjDaQ8FVDu+ zWamWb4QEE*NsFPbRZjc|WF^#&L8I5XE*~mBuqRv+JbO&_#`f&NrPbwwGxFZ& zrmTUd=*f$w(Q9L=U5f`=1UgTXR4DMCvntrpuHdq}pjHYkQx6@hR?5yzH&YegS%Oh0up2yJ1PEd& zc$c**XG^GgEH>E&>hDXH5*4240?Y`+KLoqZ%&Zm-Dxo|%qD7*CHmFSoh3J}?MF%hHn6 zf%$>aJEs&%TNv>)g0%KzEy$IO+?iQfnuQX9AVPv+{7mpn9V|*j5*O7gMO|-~HY{M= zU%&z-nu7&^un2`Q$R8M{cJAl7r;jnGj8W(^j5G!_<5dM_qBM~eCWV+!RL>9!WZ?~Z z5Ss4anT;J;!|IWY=y3n5ghLs1?vgF|cWHVV|NW`j)ah=iuia_WgSSq6BYDj(;_hFB zX+OQbyXu4|&Tqc9NhLTV(yeFPlQxl{(x9~)<}--7*N@(Rk2$hx z?`H$$qzCxD3W}`8v%xxYiM6bypAJu%M>TE@O;ze-?>mcpW%3Px<~q;jfktLjPJbVN z`Enw^?v8n`g!6kUs{C7_Yx7H5jfwe>DFW@{BQm(7CXL=hGn!pI~0W&cow{$_6y|&+R)T z-k?4mJ12jaWnL+(qO&f*f|oIBuB{&+fV!cocpAu4x-0gC37d9a{C;SCaC3fbj1hy= znhc4FD^j4S5`~pIsX&EYW(VR;-z&`oUNFxktf$J^k zyRA5LDYiyojJ(p9=Y+ozIW(#HNLbsU<>qxS<9K78zLVjg3^BLoRFbHgwuj(vv@?OT zGZd*!yZg*#(J~u)b(%RlOnI3R#N;DnXY;EQ=i*d}d1oe69+E>HeeO38lQxk8Z}Q7d zHL=bv*>f}qly?4|)6$7nXC>@4PXTFg* z>1@EhEN#%PT5xM;!t_wu!ec|5H_hmklF+SY@}2d(C9j*Skj*|0`ZgGd!$uEQAThdP zD>zz5U4<xlLsyP{cJ@m?{j^%R-=KzkBy?dsA19P4)JVFB|_P zH*U1x^S}=vU0*LR5tA@%Y{Vc8!cPqh7QykyFhXEDj;zrdFO1fqVT%1$G^#uLHABIj zXg*=Ot|at?B(0$Hm93KtlL?HlS0+mGoMIwcgoVOQP^FgIBB(q#42rTc?8(fS0`jVq z1cc%wVn?#0vZ{<}&s8fI{(kyYXzpcccGBuSw@q5pU^#!3*X3Y)O*Zo5@yMm!cR@rG z6dMy)rX&2_EOt(uG@}7C!0~CdJ!{gD+T8WfZ-SXigb7t5Pv_zPJc}7Sf1k@C{W7e5 z4txROY})^73GnrTMf4HY4tP!yzN&pd!j_0JD@`h<>aU>qCR$*=(;MIDiFQplDu$g;m~^PjJ$^U(=RPw9ytO8s}jnb zd|2;A(y!aO2JL`;h0x4M{L#HeUm6{@&y4n@hf)9kg4c$Bf*Yc;0*7k0b7f2!RGrs{#BWp_(7L``n`cXdK({ zi=jxZfM(iS|Bt*Y461>t<;mH4-vo(EJr{M?HnzWC9e)$B5WJSKRUjF#@F{iTzD&M; z5ZFX)=@?U`cxaz;$13kJ=j{Y>l|P&0gUZ!=x4EqvXkN+*B#!egahZ5sirpI&Kj0YR z$|ZYc>hqGsB$UUX#q)*PH2({;s6mJgj#W!!3vq$TKO)Q*I(EbMs-Ighc7r3Z3XW?$ zZf~?-(mG;Maa>7l1No8mT;#LLB0M%Nf2`p7iuVbqE~Mo2k;*Qn&%M|6Ip@b_x#OQH zKeY2Kx;iAmC7U2x^LEiBj=KjhwhMBJyiWPop#nqyqe$!_#~j-^lhnDwnjBS9-$jus z<_xtx;)F##q>F_t!?M32MOE*mx>87Q6Yc6P-A5>Zay!1x1fgMO{a z$3eiSR@LjXJo__q-CNlid7K#ylw%~{9fwI?TJ+O9+~i6LM~X-hp_#qjw5C+?boX{1 zNWTeTfy!lE!_k>1ObL`iS@?cW$UWXnM!RK&_cnbRDez>a3RmSM|LZ0kUNjx_yyFdr z@!K1kmt7z1QU-8x{RN_My%inG91ewR!nYnT3Ovaw(yCfY)iX7{0m7OLG|7NjJ}tV0 z0|=Z44S|7R{N(liyZF^Rt0xw+NoME;jCx0t#J2C;UsfydJ_kfGDypi2T_P~qQYKq$ z88aXwWdA^aol(3({o+-paR)j~h-G5jzv$?>XL8~QTqz%PT~PC1=IKX<5F)=x458=n zn>X37P%{jaTp0PST*TU!v=vvI6F{hCRa?vF9zGGtaXV@xIP;WaI~g-V&O6hupIt2Z z-7i$%3+b5&2Z2h0k;+mYBe&Yl34ZwzpN4jntOwEL{uz9%92%Zb)NQl<*8>RSsY+s( zlQf)+Cb24RqV3*lI0%;0+4(j9kd1z1=JM)!8^#mLdisQ#sVz3#X7kM19# zk%;L@Xq7XShu%9fdlrB=-k%Or4t*6fOUTqS)kiCtgc4ytU7k}*ka;%1fja&+5%!;u z#dio5CNuym-Sj}vFA#E_XL=^(2LxmU;#G9OzN1dbfyedC@z-F)?H++#Tr<=8^L(!& zzI(Una*U+^ZabQF2J_|zqtWS3D6|diH1BYRVToT9 z0fNvAbva@n(o4X@0=%b(AXCWB&fYc|yp2K4eXwrfwn_0;(uFJj{i6S7;}dnb*lvqW zZi~&7weHirERLtxeV{wPCH72zWqeKc_A`pdO2{1snWt!_5rQ-ROUKFTw0cKw4@{|- zC+BP4aQ5UxxsUP9()qprt=B?jio7uDPN?j`$~c{0S>@}rcy{`5X5KUw@0Zy7@W2%P zA`6EG=}>YW5qZ@djUnujF;Xwq@j%*>=+cB+BKY-B@K#GT#cgcasd{6c`PRz*s)wUy z1O;)F*GHg?-NlCLpF}KDwMj`{V)vSH#(%-JsY-jL|K)wV7dz1!oy>0C9#h#xmWZKB zGddyG7Mfh@)k4F`MI!XLTvP<3#-(cEMy0Mu=Z+q8xt!YX6Koz~{D~5}$0TsAh|S%K z(EogATLED{!hmz+&ZE<8bFW-6Ups+Zk`gAOPJIUUB=42c<<(l3>CI5LEAeclw@LV| zhJ6Al8dU|Pk%r^myRYiGeJZP)JgGhr9r_6xQxWUBPn|#T#7+LW_^Cf}{B<64nV0=P zH}8>JLCawhA$O^VzIj!*Q&ZlhbE&L(f+94d8vpf>JZx&iaOvR-cH{F-HAq? z&=GthU;znV3X_C+(O_Z4vj0uw#AxN6h?#ftf-jk(Q%oVOg1UIOmD+wJSg>$}0PFK4 zQDnaVDp^mGb;86$KHa`rnKMf&1k>ze za2PV9L=^f-SRyVZwU~V_Vh9orSrr)O7PY4F@qT@%lb*3B1-mvaV{uW`DzU~qefGX4 z_2n)^ zIPO5Am_BOWoW~=jpq{J#t4OR^S&ZZ&(c@b)4Ap4v&$j+EVd7ZhMxoG1_@H_iUgLUM zed4aY^R$ua7=gz^j_&f?0C2BD+^>lJ2pK#U!FyRC@w1x=Xce0EQ6ipb{h6Ye6C2`X zGo^FIQX_JYiVH_g0{MU^chm)wo+Lwg>VMlvg z8k!uM9744Mis>u-C)Wz6G6UZS2IGkl8X$05%8T$7{)=+Iq;NYPxqQ*ydo0$2Bp*)D zOGS^TQ*(*#XPazn_OIDxQX8dG;uk#>*xq_D{YW;b57yA_4J4aVJr$^%7U~Y?ZlAM_ zOe!II!7`wxLWq81!}9&vJf$<+jc)b*&2(OrPaBJ#Lgap|xFjHWB&olRJSh{&$^3%~ zeVUc-q?K>odGKA@*ohv3Lz1n+j_22-Xa4BEKIO zw0-fItHGnPN-0 z)aZcUslYo5v}x(!ue*pn@@V7NC$Q;(qh^GqR4vTcuKq%woCdutpzXK&k+?}9verl- zGoeO~QNZVeMbyfdUOj9-9-XAu(X^iGhMV1MT7D)pe``UQU=HMRFy0@7oTg+;9DG{P zrFMeZH%#SA$!e+xJ*-*HaU5cYxu4w_A6OMCtt3{67}*0^8+`#NlfV`TU^n5nauPZFdZ?2Xy< z@)9eivtbfx8M@|Yn{(>qNS1I)C|oyJ|33L6Em5^_RDPh2YTHf5lGg0{p8`8}kx-Ti>Js1o}&>o+I9`dH)`R(k3=G$`*DybAd)I zii)1>Zg5eCn(>u%kBd9{r|FR7?S&;o-}dVf4IN7c=NLZoO^*h%L%KQ-a% z_oxiIRI|A`yJDyEJ+evHlw7U}btMW}82{I|LFf>oLYk4foCJm(Nmvdad&-mfRU$d*llNv!O*tr>)bB$m#2-%DdN?to zv5a3uug_GSHaJh+es2<%%qc4U_uRx?svw0+O6l z0~R1@2c!s3yOJ=h;`^Cn#vbOR`S|-V!cj`r#P^htMrm#*|CO9A)kIeQQP%>?(A;Z> zB)`g7r&#T+CbLK25PR#%TyDxccKB)!k^1KNPE*XXpXb3#V@Zq3RWym2(OdC=?e;~t)M2>OM zB!H^)5cK*rP8lL#B z>PUqwM#E0*!e1jR1cQ%f^Lk)_P!d_qr%IkflV6`Ag$951Pl3EK{a=_^1}$icK0c7# z2u4g1!6C+gBk)iO=8UfpZXvI_AAnB(6YK{N@A?Yl?h?H4n6phYWF&j~&+fO*RH`8N zyod06ns94oOja-ZSD6I35~8i02{B~c-SN70SZ)IS0jV1)$^X_19%a0K>Y+599bv+u zg8IYs6g>eYuF!Yu!z?B}`yL>eRH+KyFf@mg4K$gls?4)zx_w_mD;JlZ%ZJ1y5%RW4 zAJ|ABwuc)!hP|()u{r*8`@SvJy~>{@^S-}s?H0e*O(f+D#nBs1__E*ku%0}Z=^oKZ z0cB`&(r4CpxpQ`1o2FqX)=7JY=K0tRp&KiVUwvzW2Yk4M|1GUw-qf=YHfz?oR}k|p zl^E7UBmIE($*1i^y&$eub&WpOfCdb$%YZMpLi+OY=Kw(h|1K>O1@5KifH%x_)>GYgiYR zlBlMOO4;|_F;|r{wRw;(JvNn$thU=YPwXhcPm<5z76M%qOD4*@^?XAWgQtg@%ICLwjMMbpeDoVk zJo*|*S85ji*?*B3C}(TCsyQxt-^JCRE=cseJe*=w4n00H5^c*$_uYw71AQdpe!X#b z7>Aq^Azvw%Y9?+ZcBunNCJpld54BTgT@RhG<)g~C&JRQyPwl#;X66?x#aA9_71l~Y z_B$Zbk06p560CXZH4uJ^2*+{YVBLcF5x?D02q^J-?>r(Nv*}qh8Ix=@@RsF{M$KCp za_#d*i4Qbm;{6c+vVJX)jUiXS?z^L1SUVzRlD_+GI|=1SqP%7pL%5jM)3_f}CavM! zqnrficyyN&G_)>AipWTMHiHC}fiXG>{Mk7j2#5uC! zt+y$okBlz_UX4spQ$PNq@oY-k>5bCXsu7Nq3GoZY6X~Er_NcuS1&lTt@fV~dB!8!M zggWK1kZvJqh5O($B>Agj+1n7&Qz0)bhX0H&xd;#bh7(wKm*(Dq#6)g(E;)8;Yv9a9 zojV~BAOGn=5?{JwGsQOgNUqG?P$M0k_M}GL;UISg?Y|!iY)8AZ&rUfQ6ls))X*z?n z*V>mp6V*&&v7^6Q#$%XaJzUbd)(JKsL38nDw4kWLBQ1HA7BV zpx0RfHDh@!4#l+NQ$g~ex-T5uK7n*HWX2+GIkF+{eo-st4i6(@Gu?)-zLm1wA9s!24YrD?q)}pRJx`slZQm6i;hq| zFKH)@-?k_LiR)dwbiN_{ZDK2#F-Ht5@6n<3fb5e`vu#fT{0_geEPFoXQov zJx$>$$mNv0*XTivM8NDv|86A8!w!S>3ymA|EtQ)!n$5e_bw6}w8vLWV87FHcpO0(3 zkIH)pBDH=6%0OK5ev=~V14YH^gbqckIR@Rz6U@)L>PwQGLhhlZl%s9>(r=bo;U zS^_`~KF#=-)wd?-Z}0p-ns1`-R4U% z!Ru+|fZY_nkb5Uh^%R2@mD;sw$lc%je%H%Pwq~RqE;i>2i9~)4?zQ9R(Juo`G4I-u zmJ}E3&=k7_#1LWe(>|gfImAZ)sPNt8RgqOU%|!4K3crGz$_$^=uIdWqEhJkj5;{Yi zd(QBw*en*o}-v+`nyHvfl3KmSj={KX~C<@4;UV*h4E+2E#}7o54RE}{#If2jXhp$FNK?+aPduCg8JxT|hI_&U>;9!=ozhFe;T zMOverIcSWk$AF1_OR7W%1qK(_lCp?JMM6wnfxY^q}yr&126FSU4&lr7wDLH%vx1Hx#bvx(<8Bq6e-x3uumg#>GRehGMIjYEY(%sNp z01B@#FhK_`il(x1Y|tef43NcaRf$IM@L9$OsFA=KAB+m3$2|1(=HX~XB!8x+(qmD{ z$BpciWLH=Qk5RwoDI}K0*^nVGl10pN+9TysX$22hZ@7m3i8xPJBwoH>YC5~y#1=%^ zbHXv2?XmJAXc{{s{CwbziA{SvAxZm0#u#b zCP|_noE;n%UuFk zVKh66`M|;=SBdtAHDS4l;_QV(LPIi20GW#4gRoxf9JH+8k06b!2%6DfUwWT_uSHEw zO>S;(@YHlFgFXAKQpxsjU~6}Z9J{E*@j5>V;{)sHQ@ znk>o89MBRV`v8`2yF!LO(HG_#1{3w;0(B2>5OS|nH<4rBN!}BfC&PK*z0gN6v)wjt zv6FQ}lr~-{9QK8)TIU|zKqNepnY!dLcF6@<5lZ;J(^GxZ83gj-jcnRUm9A7eD4R^U z;ROxGQD&zd1wo$oaZxru-moI^4dV(<*u)}R6o{j?(xk0-!^h}%R1C6Y=#Wb%p*FHW z7s}Q;ndl|ZP{Vm{_bhrNF4Le|#}@dv(E5N)Xpo+s-Y#VagwKJ~1rA=R&iuC| ze&1)?aAQE6wlruHVMY2)q{i^MMO-=xdLqADQ`$1ATvu+s-z)Gd%|nHh#3Dl6*Vqp& z@`iA23%`V?Z?1&EoHu*E9`c_Njyb@eLIm6sYfEkI&LVGKU+jQ>V30kHVQ1k^QWGfg zJLF@qMZUnx4}ok)J$-!;{!)>XI}3)_nG$TBbWXpdPP$-Yc;R^!ig;4$LaLvTZMEmr zM1!(W;$pLV27lgOlYNdVfTymIilXIVhyIi@9-ZPymxVWpydbEfC;iR(n#ba*-e=sl zYBxhfrJ={>84zQ4o3VpIJ$HlGNgv-H;~+EA6$QDFpDyl4e%lWCi%G^r! zz|{&;@{$NG_U|{LoelRTwC8=c8Q9rf!Kw#%UPWN30?QCIklF5T@O3%voPSnzlUEzt z^9JSnLNFLZj_j$n3yn7{*LWZb8q3yXfp|3ZIstpF|AQ!!m4NyJYvP#PUQhLf5( zNBUvb`-zCT8eE=@xYxM`lJxIXzMbzz{!!;8sAsrSa)qQNvaF21XQi&;tLKO@l&_;y zQi%$`cN@Qgv{a`)t%clC!>!CeoXwKlpZ{)wo0V;GhCUKf@<~{~U|puKnfpLXt8%zs z(fJzPI&;_)5x&$62|1_RgUdhkob?eeaih;ZbJ2e23G$JstvSzjh5&I7-II2>ozCYb&-B?p3I4mMp#9IcFhx< z;6UL5tmXw+p_tv4wlo+UJ(%x8J~zA(CURi8lX}}-_yZ>iO&eYumhXGTcWxEacoX8H zxTvD8(>Fj91uw9FuYoCoFbk>DeijY+Z$RPuf~X}#f-7vv8dZ}act((irvdgJ__6%n zjKYT+h4ojvi8WT1a&T3(&CHNb#L_(fqZCsj^MC1+DO}h~-(k`JjqOu-K||5BKDUJP zP*P4ca%StjvQ6;uG}$Zt!+iJ1Cfg>92<>0GPrK!0(@~v2z;7W*;La53lpm8#oz3@^ z$Et|tFX=w4%0%HC$6{UInG?F#t@FmLe`{e-PnBFoxctSmm``}S=cD%kSu=7s1G z#*mgPN;_FZ@@+gFg*mh;2r=IG|HZkvYt*?x#s*Bb>bVvyZ zNOws$NFyC0jnXL~NOyNiceh9hC@I~Iba!`$)VI$2-TUvJ;b5G>klK5%wdQ>06ATC; zM`nIt+VJc1U#N93G*i{mavvl)bbCbiavHQjY;AW5D1SlMCXfpo+NXh*0p!?vgI=qu zstS0AG(27}fH@Swt5-A4f~ zRUxkf+gUP4dE62UW~S2Q#KhLVhRRoY_o)KQrf`HaJ$hv;M)1I3!%ODB!L@j}dPR2&xS*Ey+9fgTX3qo^#x+MZ*#KOij z=*C*1V*o=T{A{(bA-k@i{N-Gs!e9lSEM)X$0JptHiHa!zPoW}S@Zi;p@CFtWA*?J9s>2uv zV*S|St2S|(t@T!$;b47&AU=bqhdXdE#%~Y42nC<<1Q#5N;3`BO3BY)Qw7Ngt`F^Uy zI>NIo{+*A5C9|ROnE3MSHYjL(uinUDh>{=FxviAR8&?s76zxd6yt~I=Vj)i;@qCEk z@m}m#Mj2I;3+c@Psr==jpX&OBTPatmrrzM++z-n18lkRZgRlJ|K^%E!2vUI)_o4jDxSy)h zi#-CuklQ66v!cnf`$xU#9$$+z=~>_Yxg~atv~eLd@NCZ6PC62ZU#0VIO{;Nd)|wNr=p02$tZiMYk>0<7Ahp27ehj7>?I z1$H)2s_FhD0|kW`$6f_)u4=nrq_}{RIkhaRi0MP-PQrSOojJ__VHL`WwMrh_Pq$tn z8G^4ANpqAISYhnWz$F+w`mDf=6cC<+4RP&-VT6Hh2JD>^i8D!>Bfd^AGj79C?1*%~ z-B(6g?+Ew6Urm6c6J-*Zo_(7339h^yJT7a07C7|$nL+s_0xu8?W6$C1 zf$dDvM(uk-t_%-Dj~jTUNdyB_8Y0}NH+w6NRwA~gUJrkB3@zuc7uKh4^K(GARRCT4 zvi>I45Ye4L)q#fo6lE_XNE3+mEfKr!m@#vBFor}VkSGW*29pwje$k7*h;U2(N2I_2;%GrBxRSRGPps1=_w3i1w&?^9~@RnE$XLnv-t3;;XEgnW(<589Rx$014!wHl<6o`Oe}FQMpSgS@#SWj$EF-6 z=CM3urXpZHBpZxEZ5rgY1y4cs0Z77cXlR1?Y*HO~G*j_E@a3hi-pg3mg$<0E=qDM1 zBiqbWM_grWxmb)qOcNdigVy_?Kl$kO+hC0zg>ncQ=Jt|FLyMFPK zJTOD4MAuD{rAZYr=jh)=0da~UfpCt1psHhkKu>V{-%R`>O;GjNz?qtSSj6~ z6!`s;Dsl)P=$DN1GWZ~&9r3sYZ6G^QoBs9XohLMvrp5CPXx@Q`4#Vvw;MB?qsN3hn z(Io6u?d=TwS%u#SlMOcBFtp=0K-5rt6NF3@f`L(ir%7p3S6ywZJe&FuxHL$FU=mpk zV;p32hz|)g33X@zI$;Fh2@Y~4fnX#^7n^0w=@H5hC+2+`2w+9|S^gXTh-LFV_?l%M zN8)b^;)bOM^#%xXIsy3eyR=wQ0k0X4c2ZjdO%K9hW|ri$($vDO!`b*zQG-x1M1AdT zu=8NXu%c42$!TmpgZOo2&<;Z}D_;jMQ3jewJ4Md0_ZJol8^LQx5KDjA-=D=(vNH8r z%4B_Qb2{Vz4(I#5mBrV>zlfc5Ru8qCeg6#0>cnfWx(ND!o7iH1LW{CLuNBE5cwZ;Z2VcnxAJK+@nzP}Uh}2tbtB8Azxq0YxczWT9~mK+1c2 z>nfVo!4X?;n}My9`jLXa&9YXjJ(Wt=qxiUnSv07_zecSPty3!bZK|UYNp~B^tF;f) zzb9E-8egKlRYLTB&*Z=Y^-~2#9h&fx&|Fv$n|pP#BErwFJ>w)wT<4g7(D-F&QStBc z#u;(cM7Pt4&)$66H3~*B}-WIkDW)a&nga@6os;j!MH$CuF3kE?e^UsvZI14iuWYs-V7#Cs!*Cf za4*dfgCqTNMB<-nLx=K0L%UzREwIEk_*J}hw#ny|3CBF!oy^w$cfo_%pPc)qId9H# zo8Kx(@3$M9!xmcT$_+`-xuW2-ek2P|M2NNbTghI~SYa|&aLr}5NPc_$ zA>GillMOzdRO9i4uM0bW_KU0UL}=I?l90al}FPIKo@A$qwsDqbiR& zdfQ=hdOI~o#fmS9{9l`tSu-yVro%mWw;GH?4SvHuUxJY86}w&%;8+1L({oqBJemO0 zF`W#A*j_mkDwp7Zdj@Ie)V6Z`1t5jLqDf(Qk(Q|qXT!Ke9sI&B?V6W?93Lf_fQJwy zkH}tzCEgJ!ve*c(4W2x)+&(CXw~nz;E0TlK?TfXZ%e9b`fXXbs|F>Zq$?P*4Z1QSm ziGK5Zb+*H+Ne|}-6iAVU8E1uqs>@;o4NvFV6yksFFrN5_X2W{6FS4(nX#$ZuU*48p zQZmRWbk1Eib&mpGClF#90kIl5KeTJVXq%att(kB$fkKnQTG_YLwxLv9U__XOa!B6j z=`VN9IUNR0Q|o%D41WHbAXxJho>Zh9!Y<6!oDu62-Pg`T={Vxwfb0@5_CYW+$V9CK z)&t{Bn_~@54fMukpcptiJKNja3rf7%+}s330B|iU1v?{Yv~<>8j1Y!Z&W5?@kKNpP zYI2Sx27&;CA4_+fxCI&ce08>Bijv~WcHO!7{CqosqM=oRXQG7+cflQraHK|BTivd> z&|R-y1-f3>F>ZA6P?XWqitKE##OaG^Q$)ESBMh$G(QEAEj7b+bc|ps+B81{@)Cf5r z(<(T7AmFj13S>7^{t+_00;(P5dLwdeX3dV7A`y(FGo*e#2S>Q#BWJN<#8UKIL>b5! zS2_6m0Keb(8;bamc;Dwv!dB4Y8`kVfXk;3^%-(H zz#tW*U+(Sda@-wjfBj;6%Srd^QsWi)!4AVRuJ5F!fx|`%aE*eB2a7CJR*36(7q8$m zSUWEj(-8%Vwn1b>1yxDDd|eqf3Y(vm0s3bMyp}MU7uIE6TR$qs_wNbP)}66ehaU;= z81g**V2Tk&Tl(aK7ntFQSxk`ZfAC#m`x>z*y+K629FA;eS>e+;-Fh7?{ z0t8nBTK`D`PC7VCRThV5L4cUWfOd;xQYWAR{sH#|Ag=%{`XQIdm^-WYsYl|K{{zD) z{~RoJ(w!608a-T>p}=dy!*M*?`Z+EFpju@^Pv_NVKexxKwYb zI!343c^7-JRVeMpf0;4x?MTpcyVoZx>IO>+Qf8KVB>x4=i-vV(%A1<2LZ%`fmTmPc zvv?@wPWq!-!f#h{QGSzqIqvY0_c<^q`9$^gL`=nnx=$*@{2CqnxYire#Q(Nfk)ZGj z9B8}}1hK>w0QgiwPQk~ELIGTk(WUBpsWU_)XRHXc&G$7?B=Q4(lSePqvNnH!%d;Z> zKC8jmgWj2=SLxh8k_#Oc;J)GG-LdagiWz8#XPV$rOnFC#A!JjG$R&m!4@+pkP#A33 zm&2uqv)=~V{ARHKKHZJ_9E0W`Od&tDcs9HVOBDf5Us6R~X6LXw>rieau=n|Csas{# zorIUhWq}Pk)y%c?m-Foqa^}{6ZVS{mQ|n@SLg7JJhPzI5M=#pr6I4lkJCg&eqr!UL zwZ@zG?q95xcoJp&`^j_1s{~O>qE$tSp%}>ekz;3(YZ%y7fn3p7pr$znTqppy4J5O& zR?@`qjG<68R(J@KiiavI-M9)8>tZo}q;i?H>KJaDuFPB~ThPB(Zu1LhF4i}K75`O8 zT(}`R4=a)|yh_a1do-xny3D)Xde`6<)En`X-WthBx(FvAL!K~e?oW-&& zM(F&<@MlTU_C8uGyQ1o>RPvwni*TiePk4B0@R}?lVZ4nM4kO+A6I|?tHUv_@Cv1PR zgcFR7!SfCj)=~^A8r+R5v1^x!mGUAjei7|!6Duh|20moIa#+Ry1<*8wc z3JM(eC-*?)dxdf?Z0P-zlWr~9nJO2L#XJHekSKZ!S#th=xd6RX|I%(5vQVlsY~EPX zWp53X56V^TNB9D?uGPR+38leN!ClFh|0oGdOwev*NkwhaRxS?05@78wPV?pk?BI9# zcEu)mrfg1g&ic4by6&6-RHTaGO64@uv(K~1@bKgYL)4;_NXtmUx~0F<1FaBj&NSFL zBI?aRU!cED!6iNRLJamvUU$O~UQpB0SXEiM4+pvvQ@%`jCwAkz^8OEL+7Ty%uPibZ znxhi>Kwdqa(nV&a)`)c2i1?y}NqNhaDtYn;Z z?nk4bi+Y&eGj@W|o+tj!?6|gr${h~n58q}>8JRpF+ zbspOU4tV(&%pCasnu+gtc07SF@%8K16%@CgE#Oki9vlG_78oj7f_V-oMSxRd8ra}b zV!qAV$3#p@02TEL#(U~lSQfkKm{*Kp`EOC9Tq$0})@lpG4{ z`#Bsw)5*4$az~(dTCiYa)hYJKBmhOU{5`F24?kUUPc^Div}riR_X9a3Ftmxb-?Z6s zoS_0juM)?LOGf?ib8PvSa(Lyx1;`=(gyuOcKdJ+0WvI8&Wfbu#YsP&)@P|(FaUDhA}=x9hlf+hb((Zs;|5*VhxBQP*C+Xfz$ zh5POb3JRdGfzm&I8cLki0pk}A7X$XaYOVssbhhyq+QGNx1eTx1bK;b1wIl7$Co9ge ziGflu32gyxb*Uv?#+RIvwaf5avS=6&0}o;l&4D+hGss(H0ZonoIj_(#NdW9ZE6l^W zjj}F(1AtjnyCQViOBSha=7Fjd3{q+*?tjnd0XIVEKh$d->@FTcl8e3dVm0~RbIksN z!6zDQ+9qrk6C#rn45xQ(C|%uyiP$*7rmWl{7)H!=@lvo%p@qoLbuE_Ti4q~AcDg_O z?Rru!;;~l|Vyws&9Sr~eZ7;C$|AY&F@XBD9N)0_pdDa|#HLiN->u30rnTm{RREO_* zY=KBN-dj}-qKn;m#18+O#^PDy7)LBV5R*$QuhB;TQJGH%ZIIr7BYjM9 zd3LZFwgb%qR~GYkjp_g;@l8UuTe#8ttU~s^$Zi#~Ue>&F=^+TyR2MD=u;p7K%1I0u zs~lrkF3n~1PkilY3>uKSvyOG`E_(9B2$(i5#r9$mU;qcaEVQ7~Vf9kzI@){7sMGLhh(*#$tmUsAR@aewu3 zt~?9ETY8!d+Yw|#h;5_cFrz&07B;Qu<*^r}EhW};pA_Bkhr@`Fn#6@= zzab1>@6u~y&yagdks{ky@wKUt<-BNas`5sbzUBEtbn2TZ+c0Q{%C zxrffX=zHNG-%h}ZCed{T%m?u5H(~j}7zJ33v$2xl<7@sW^|zX-QU-4TN;4P!w}*Ss zBxJ2bckLr&Uit-9FZVEOleh(NV~l(k!5z@g5V#G0%# zpFX;d1{a~e*;YLcOw?VrH}%a~b-3P4GdUc$*-agrqA2qq8$a)Wkq-N!hM7iM{;?cmHp`oCHZ*-RJgPP!cSpxxni%(Y zKX@>nfMZZ;!guNDZ{Mo2KhWpe;;@C5BKXF1G{gD6PJO*IngvEGT|pPAW`#dYM@R&= zZ)j-~89x<0n372j9}c0lMq>@1+#Gy#{Nng)yLppjk*j)qv@mm2f%8EW`Rraa;w&jV z?2VT?gKje7mV)EI|K=;uQA&c~?6sc(gCqxHhJz|<6vIRV-qu+GT{1hvUjodU!M>oZ9J9&yw1>J7tnBW{;TVU$iR}M6K~vG5_XVlF zGd-y6z(525Q5zR`P_7`@#i7PJz==Ki)HP} z6S@NK`u6-3-qn5eJjnWdLN{-8Fh~v#y8Hi9I%dAS7kmL5#s2Xj|IRzpk~exA>c4C(R)H8qQpdWHXC)Qn!9`c^NV_xOygyzNQExfSDXD$HFzdEXj?J?3F&lb zjjc18nH8lZ+4|R=Re|}%*I%_;UC&%1MDAKANel(`I6q&GEiZkw@zD*aMmg@n*~mcT zD}lA=^s9(uJ5O>N29p+ zfMCtn!Ac?xR{d)4$4Ix*LwzEiUC)hS-FcV&u^;LarGsuT=bik)+A8K*cN;TgU=24J z{N;7fIKg-&`r8@q-r3s0;U0rIZTbz4^$b1ci#NYt&fpCyyiMMt3slBnnoZ`-6~#3q z?@z@aF>BB%6>T7OQ1{1gg5QZYFv(oLIY>Hna&ZV5Apt$H%G)`0fmcQCI@l@N=By^L z5Gv8~_H?VinlwES_#Li|zU>BwA|LiwE?Sj5w(Y5@nK%IKC zolKtnBTAoS!BLa5p&>I2o6E3+IIp*D4~tko?ImA{obWyMl7)0DycLG`qg<=;`r^d=WZoirwI|Ev_wHDObg$A3ZwVfmnAqtmjyy}b=$`?> zi=CuwjY_>5+p|BF8bM4kmPd%!NAuU)*GHeY%JF}ALuZCx=n)pM(Q=cKAQ=vwYz50Y z&d$yn8cE927leC>LmSDwnaRjTK+$i5)5eC@gKQk!uc%*}nwe>Bi$U8Olesp?L+Eqr zw4N=7Kh{uT@J#rZvs^a3D7Jp~bMB@j@^0fX1^k$ko*&k^$Lnv@U}rZ^E3&Z1h^)e4 z|BaR>Zw{TyR3vX-9nM{VlWv-+tEXq+MX#eSev(Riqq9QMb@+#Iz{#qQME>pF=cG%4 zqA%LR%XY=^Mb=>iG)AiFuB_%lYf^#aQ{!76=5p{;-!0~WeKPO^Y63_RnfL9Q9}+2n zkUJLy`2~TIG#y!2*8o8}m<|P^;Gk-0xOD&r<10Y$42Q{}dWj$%tPk2EVNfgqI1Zqt zG<0;(@dxPUz|@!n%OB&5;RzpQI{^J8X=M`(PP!1TBt>_9jPg^b~>B3qrkMC#AAt6B2$I z_hKkmZs4(~1f9H1L_w6trRcYN?XO6rtC8VJySx8k=+EGF06yd;3*x)0*?MNfo)oy4 z$ox_fw-b?kJ*UDj39%68XrJ?;zNY!4I^0`6NLXk+zD?K4<&nHui;(l;*xNwg3}+t1oM#MgI{Js78+llK>&u<0;vqC$=esFXjJA-HsI^cv_TG;A5V6jQokPFyQU^_o# zeR9p$izj`&8C%Y@?9ONE3;*`h_FWX`Ur<{Ypy=dXtI^Dv+ z4A%+g*5}Few{B$_`P?!hDviBO@$N|&uNB<)SEs$qUtba0Q&g;G;51s9AJsiQxT_5# zU*?uGA$cpA2nE({u>Tcr%WF+0fYJfb4aKB;4`}wTrLT z`RV!T?O9<%LozdDcg%2T)9#tr)hg3fi7EZq=;NBG>}J&SA({Srukw@I{@8{Qu{x9! zVL>BK-2=f&EyGujh<3OmpNytZm%eNy8P%N{wqIR@SHjZk~zz;oWBE}Z@ zoNp?YwY<)xe$vh;_kGT^cQkmfII(V&&mFZZNy%7_?0Pf1;rY20{gIIqn|GG0#J0V>(%Jgw&8a&wbWcepP+8ibrM@-udk1qeH{2L{l0Wnm9S{c$v) zV}C`1)-FjsL2KdYmd{l2LK|WHxFNy3?+1)L9Epg7{G$$+Jri*p#fDbLHdP2N^7il9 zJtx(WWe#V<&sP_xW4TB1Z;F%-m02;p`5=an$vW$03Em|k{v*$)JVeOu+2W6W%(_zC z0P&t|i4PPNT#blF%fdC51>~(ttZv1J<(S)4lBB!r#wR_2dYq^|zfq7X;6jsFGU$~$MGy7E^Xs=HS9=ch^t_vkEdX_#82vBT% zeEA)IymeQ#^m#F!2Z?m|?kcEZ2?yD1lXFIhXrU*GC!)W3C*qfdOP2&p{r1o>X2QvB zmQ^|~Zti3ty3_L7E@ovE(NkZU=d|u~a*OA-pSNFQJSCEw3*9>fyd4;Ek+hdNAuB{W zSAN>pCqi`D^35XbIX_x&;@4(YgzkS?iIVPCoqAgCbgjl)`duRahH*aZeg1aeOU3E3 z#oF!i=W@#d^RhJF0H`#rFbpZd$w6(puE zz!0fbBZ?{H6SEw}j)neJ!@m)=`-(9*q1Hcab()?gJD-{M6t8RV@;_lRtkO5S5BSV$ z;Kq3%X29~9=w4rN?UgiF9%t_7{9RcbB5RZqOhcOf^Ax=tT`_cVCxT8WTxT(LyWQ`X zA{lvIjmAM7cvwZy>h);U-doWSz5J2TpPB`_1lXWN)i~6K!gq{O?~q{CkmQ=-S>l*5 zDZED@tKylKCTCK|J-LGn*^u40H=G@Q=J#l)Dy*Lg*V;-DBhv~0GGpuLmC>oHaA^ar zgfhJ_vSe}yA-3*RUKQf6dX5h%uBm&#si}AkVo7>9!8LkZ9^^q`usm8O2Q;%aa3KlL=*F`U#0-&Fre;&cK02&yqcOC zSX|(xqoV^pe);l6M<=7mLa%aW<17?OcSeXbx_83@M413%S^h>IRSg=gIJBNws6#F| z`ywMFLHHZ^I5ebimXVo>6tvY><@5ZsxoIN0tz1yStM$bRKq9P?lNDg*p9bPc0GYP3 zai8(5ht@Bq{3EJso8>4Et?v0o^_~&Y?(Dcg(Fj7lX}GStAMgjUpZrMkx|iap*gQn< zd6T!DgDFQ#BOG@oNQ&LPa?EXj(7yqFykVVOk{DFESAwdr0XHA(YcG=)q*$m@SQx|4u|ODsd|3 z?tbPN#X6(dkD%H@V12wFb&guzZ?Zc3@oyjvkvuP!S|xq6(T&C8Ei@y7U1URmH6YF6 zu0B|`Sopj1ha1I@d!vb#+1vDByedivp6^ux85UkB!l9$>FZpvW2r2VFyx|YL-x`W$ z@(Y(;?*xl>n5=g(&Ae`Uj+$|Pc`|RkhL}`lpN!3pr{9ewwIEoD>bSQ$m4Ytu8L!3`cwq@_;d5{${Bv zwr?uU!4~IR9|}vbAWS;rnBssu0E|w&?F=?FTQYyUd~7AG(z&Ux&*`Fis_7<85&lJg zQxI3*XF^R(K#|~E<%?!MD$9^yLZ3sSGnlKUrHKmq7^8?8LW!% zTp_CulED>0-O&a)cIumBi-W56``-wQ+nMRZkF9Dw0LH?R6Uf#C;5 zK%%=pU=695qv-^z@+08h$aq@((nTfex{gd*(c~58U${n1Qj)06*2WEU= z;8rM?*nz0kmix&3YP?XY6<5Zf+h-0}(&1J3QT5(>s|p{rae~}|Rthx^0;ZQ~F{Ks9oM!GXw+YVbrjLmQ-0KJEY@9kX? z*7X8hm8^3D9I{-f$;0JP+d;O%utXY+j{H#I5oTTaFYoP9eT>E=xXnBj25#j@xD%eQ zca`Nl<+hwYk!)pzGX>hywao7ec11<$N4IC4{Bq*fBKba5TbM@$h15&A2reFO(P;`$ zT}tdfWPiKa)8g0vH;?N&{f~9o;d%BrisH91@GDI*nO4>`g*=gE9r$ce>$u$Q%Ry)l zi6<(~F>82ygiq5%8&F;uip}8H*1m76$AN)WP*S<>!htpSA=bXHWoWPviq9C<9t(IS zc^y59`DZPxG8S_vcOfmc95TF0wjfC`{Rma1abCgYgCcy5 z`iAiD)1KRhFx+*D%XMz938nnji@&y55hLwUsm&KGkp|1{;j|&BF)iC?%SU=zq_UPU zZPtCL1A7O}gq~099lFuZQPRBfv&n7^KObmCacx_y<{!~dvhnOXsQoRU_tO7O-&sjM z+e6xXWg=JI3Ow?7&8d)$Nnks| zu#sRXj-p&IeINly z+krgHda=HWYwQC&7V2c}L0Oooq8|0_?HMKajFdmRr#yn&gDNpC{eT*Ypet6*-MNrP z`*y|*z+i1RqP~3t&fr@>Mg-ifCZYHXAmL()Je(@>F5wapMa)^Jvo30wZVi|*Daja2 zNOTEMi;Xp)zQ(o5s~E&yl-`v8a!!v)E{aTHyMNJMLF^9m^ZajVwziVYtm!KxrRr&6 z?@mS5GGs+flyMDmG!)X!$J0QYvrZA=NJd7HKhh-EgXWmL13?lYr^Jn-wfu!wo%*I{ z#8((Zd^_-3zU7nd}` zoZlq7F8oHEzL8tTAK@K#5xSEDD$1|K+Wcw8eE%KM7+es9&cm!`*bYZ2$V86cr7}D= zN*nNZ>FN6)Z!W^a!jC75cR-b)47`zQ6 zaq!;=wtjAO-yJH)Pjk;dTq(nY^5MHY4?=xCVbCexeJph>S}k%3;PUwIy|90|l5mA0c_$o8hkjTlz4aJMdXnuU%M8Y4Q6Q!bwNK-oaG+wkd>A76cGe) z{deEHGBK&ai-rcq*J)tD=C36E4}2XWp~@Io#Je6h*|Hg{Y=-PD#O>5$&eO(0=bK3`psG^BcX z{}|+S$;zH2XE$*VJsac{ns52}3erK(cQ9sl>Lb8a@hM+tZuYk95Xb!K_M(@Yb#x?( z^Php1I(9P8Z+*|r`FH{b$OP$UqO50&*&Njd)cG(~c^9cM$8C)SkD^Yd0&&MgR9r{PJ%HCpWwP zn#`i$=I&y{li0_%Iv!5H!#`|8!wDv&uTK`5&YE7!y99Dya-C#5nJ>i%*S9=&$U-pC z%3c^qROv_lgs6v1e#m_qexBjGYqw^JY`w{MTWS4UDdE5HyTYcOikZvV?$KX+k0qJQ zJ!dDL#1e7R0EJ34mf4IvrrB&=G4naSi6QLAk;kvnls1{h=e}(Hijk$qr?nY$h8h>C z%8wLBKk;EV&t8J9ttfplPv^Q)m5iv061yZlGXPJ85|%Jj#of5HGomKw=8GnKR;Edg^ksk#-vnSH?yZ$6C@Ansf7UN=x zG@^*p+z;~fxb3Az$jw$5^~A@MgcoR%t4e$Oo-!*-bQ}DWbx-d&-jfO3?qrLw40;_h ziX6BLe;1?Jlmsj}g8vA@1cC6!_=x~oYR3PQbH`9v)bGb(gAK7?+uw)4;M5uReLbmw z17nsoUdNmq)l96sSl~@p(fAe0%S3JHkh*9PXmey1(-^E;uQ}45eUJ2R&xo~l*4k4* zYqH^2ElfM!f@GYLv2i6ZWdXxujvlnmSr9Q%+4=;{C-P7Zz`#Jzs1z0y z0ROTAkU0rx@<}?i^%I}Qch|A)&(srqsi&)66TjxLS*yJc%bY6^=D^xvN7$)}5~8y~ zj1Vt3w0Fgve8BJ&Jg>E=Ane6+|MvW)HsMD)=;c}FyBuaGWOv3s*~sQvEqss|6VQ#^$Q|qr)?F! z397xJ(Vmg8FY&PP({_nD&a~IR$L~s^U?f&-LFl(|K zgRGKWA692^zNM36(MsDZ?sE<-)r|VsQ(Gv&2!W{W3l|Lrbm|Z&Wb-@xdtd3YtHx5@ zIJ!0l^I&D}y_)s3CefG}+apVV-3N26&{Vl}q2x@E`?&i)tKm5bPm``Ur`(-%|M+2c zEU%=)pAQXg(wf@M$E4|o3N^4ji%I)XtVexznc+rCMa~ZoL*s&@Mu}wZanS#6P2OVq z$SF-yL$23c$a5ni_i_x5;Plc%;_Kenca4U?TLM;FBeP6_KljCxtoPqs2vjiT&*N98 zNnw!J)`CQEeKYk0Uqp9H-0h|wp;TUdh zLVy|!8Xd&_0$|h~{%jQQW}NI~h{vkzwB7Gy8laS6iVpt30p48FQ~fVl9VK{2xRv5; zrJ-)JccdQXk$0ZLcN1)AU@?Y$$$f0@A1%48 z6efhj5aZ;;{k*>O)YK=*CDdJ81>s+wAP>5GF~q`A`#ji?t;eS6sMi0$OZpoavOvA| zRc0w^&RevrP|xol0UO5av>nL-otc551OypFS+QVi0B;yIE0}2A%djyZM(&ARjrBq5 z0x<)7@UL2W$1WXPc7%B=#$L1RvG>an3?(M z$*zF^G1ufMjiYfblp)uMxawc!&HOgj9zTlAy`6F)OYSVHj2pev-h~ij_u673HoiHJ z&((?ZGuo?fNbW3xB6SW%uG3UrdfBBO!%=OQ&!=_Xu4~I0rpEqXT}=Ewy@qKM{5Ra% zxGdbANj91L7>V-+ks7B1##JVM_@@V+1sk6lw&U*UVzouI^AD1w=)qa`n( zj~-^F>{S@>?i$MRlcBH~F@7&&pfM8Y|oky9AYT{JQI>FpaTgb&`-3H>ND;2yn zzcC%zIK%@Z*duClvMBJ<+wt#j?)&<>%{7Ob;;RlLQR3pmTIW|MHC9a;$BldwL8Z;+ zoqHDLa!of~I{Oum4ui`+zv4?z-zP11XO^54TzYeR~CmGr&$EY)-2C?_d3=tdv(Anb=1w zZ)@z|?Zsp}d_CfqNBC4&Y)zoHmlTu#xidti)uY9{uwDm;V2?hnm#KcW0$;O5;D^_i z*4bbodiKNJlu}*fg7f@T9U?m2$-Sv7I;-y=qUmosy%n}gQq+COyw2)rRR?`B|8fJM zIN6zUEtF~hWk}{!Pwh}YtasyOFC9(1eU%i4)AziIRdZOZ)<@ovu$7Y?BTl9Iz1alD zyLjkg$%T6p84w_p@U`Ga<#5I?Up2fU3@rG5WaA%`NoeW#XR4no2a`#oq5KXIv9bV! zF~y4M(4?lPuzB4ie$_nBRg!RyH(HZIGDYQS0AP;Nb(|LS(icAz8S@jV0Vpw)WZT6?Y&j zhOey3fsBwX>C);`Ka%+}K4VY6YK#0%2RTRbGXKuPiU$+d{lz3}>r^c8kqo19BCJ9lLAEtv3;;T_|vpJQ0 zCF_jd<*UA8!%sYxUl8bkvFH|hK3V1?M9e{Ql>O1mtf8ANyfcBNf-hQj@A3Pcv}K)^ z3nKGi1{dQM1R@i$OrDmcj2Kdut=ejL<+`&N6#a|-MVvjJ^D9^~xRAGSm7nL1pLNeW z1HT==zO&sEJ5&DYzBcYr$TR9FZ|}5``Lxv&nPW7N`z#r~$|0f9__pqvNE1Uyj_A=K zf?C{`pc+ppq_oL-v`n~$lK3sLs7|NeMp>f+`%tE-5@Dh{eN05&O64K^=h?QNT;6Op zhx@t6VNU(}O8w%ZD=T#+mh=Rj3WY*T^iS}7ju^O3sj4;4LbN8gM_JW!441d>A>=J~ zqtXs<3gPmE%ax@30yf9^2}FdSWn?g#+XGKV?}{Ju9ZY+pa``DAQsi`LM+9#=aq*3J zgV5I#=4>IpM<+_C{NX&V|B9I_Z_04-`xES@xWP^Mi0zHbe0yBK&}3C@9{p95pQqkF z;Eh1T9hFEKf#!hju0hAh`#MrT$da{rBOlvpiy}o&#ak78!SOsM%ms5;{VR^8=O(_% zS*OcRnvhO-s3XcbR2LA3j_r9sScpq*o<7h};+KqdeB~~bkX5S6{6{Z1rO>$U2q6az zP0nc~)y&@_ZILa-7!%l2bj zYlqZopiIOIU5s7-1tVI4l!!{ARY`WScWbNucVbsK`vi?Xl?~^QTX*;?Yp4A)S1$N76~WLN*mE2k>e^X$Ocu|z z>@LOefK>NSaK5W8RQC~rscSO?U+9*!@Vw;hf~iOP-M~ zLb{rW5>g%?PdYpde#;)dnJIIcK&(V&N51sDxk-$-VX`I?)Fnnt`#el~;eFexoceL< zCVnYStgZS5|`&*dDavRB*jVl#|G-0ZyQ43mTmJC&ewVlqklgp^+!%U zCnb^Dd~Y$Rj-4L2In9S>9XV#%2m8gp<(eakqOgtdhg@<`EJewiv3#mMoeR10d+{p_ zzUs|M34PT)4vu$lCr{h^e@mC@&Wm@xG8Mu>@cr_KHX~<&Xrn~q=JDVCqVo9<@euX3 zNE}~>15z)ufKpB{mOg`T@l=;J29p_c?T_e!USqODtL-6Dy;hyT?~%j#G~uiRBk#BG zkYS{}S`-i$b23z->$%a&NMe8Xexz>rPhOKJ8uQ@=iqTS&Obj;~5gm)3+{j0Qv6#T3 znS(1WAPrkDo;ipL562eC&&vy>v0Bp%rV4W!N)1PPO^87)ARs{d-wV7E5cuec?USFM zpLsl(z%T(qFn}Ef^jHEp>^eXN0&<#oLFffoZ0IBczW_}Ed~W>8SF#dtRDrG&FTn!v zGvtgpK=2&%IwMYGxdMd8ib|m=louR%p*YUFV-$CXCWVsB($dmjm;bl{x-j@AUYoJf z&@7A2~EWQi)`5HbN(Zpu@MELxSaZUQo13^!Q|%}Fw`#Jg{$Ki z#h4E0W0(%oUJdAwE`}aYrqidIv&`ef@6@4%)3vS=@HIV!Bf_WSwP3U}@pIZTAmKtC5MR2eIMTaeb zJ^|-G+0?B5c5jZlZB3N{$$sgJT&WJ4QJUa`hEMSeIE{*b8)y{o`gqRKOOQul)@^n< z*@WAt<|g@xs+spNZBa%2s1T&3HW*bQW+R4rbi%!)=NB?I;<+Ux!6Kzbp#!`FZx|ivjiQ`t(;${W;=w@{w6G zJ!>+uUCeg`HPtQ}h;bNZ8Jew5?X}U&u=A4KEw)&EW1SFRJ2?o3*OMN-^*?s2DCt(rcaNW5y((3TH4ran=9v&=Mh4 z*eSB2qZD1O^g1@yj5aGgEDqIaYrt}Zfo!lxNkra1HMgo0v!E0H z$WWMIFUJiz1>-B~u1*Hm@1&In=JE389$dM0zI1LxrAniE)Y=vq4)M@Qj^Pj+S|_HC zW&R7LHG9_g|EU2<3*_<@-88=KoU6v1=S!B!&+DRfca5_rj}+K9aqGr7ejrl5g-TFR~2D-nLDI#>Mf8{-NN0lYZ13^3RW~OzjYd4INZV8KycCqw~ zaL0|q){(9cFEo(Ss8gI4|677!H^r>MgEYB`EO6i(W}m^fNX5p<@Mw7qy#H( zy*emoz8l_V6x+za=HOMzTdTz&!Xw+-e8{U7Zfzs41E&5(Lsy$4anX@x4^&p_5b5 zsXg_=Kz?Ef4|ivA{JBsxXJBdcS>M=&iu3Epl6Yv6gJ!Y1_~EUXi>kBie_-oQp;QQ7%1s;Jt?trJuSLhrHY? zCbv;%dwy{3z;;Q#@xIzbKZB9g?dl{&BJ{=$x^JD$Y8Csn^EMmPn&}-?;OB47@@}>> z)R0K&->*HRtqhjA)2~gfY&c_g8$n?=R3=k<6^PXlG)yLk%;4joIa4)g+w86htVQJf zp!{l{z-vk^&7lu+FroF1lQ~B6Wc8s_?;DcGE(y0NTuD&*@y=k!AlS9fFrw%_v}|J2 z2Z3Y0gt3K0TBpN5pd#fJEO_nGp9jSJXbmz3%}&^!xUvF0It7~p?5ts}>-DyMi-xrk z@K!j3SX?1X1jH@Wvfb1)Bz<2{Z9eYiTBT`#Rvze!fb!F*Vny31Fb1#zc0d0=p1wIc zjxX+egT{8+294U-wrw@GZ95H`#%kQyHaBc+b7MQ%81MG?yw5X#%{e=B&b>2p?|$(? zIQs$_?1An?>ss3tE`R|uIy)}zAJ!TIREN0I20-++s=Jz#hd;!i<1LB^}$3MUKch!_eVs zI4d!kQ(&Mp8_EPYel|L%J(z53Wx2>?ZA(+2-_uolShI>rLDZJKBwf6F54Y(6y?CM2 zY~03zzU}D^8MbA=}W^YKbK+rywryNesT*9a9q3{O#k|w z4`++dH99UZ3!kAZ7UoNGc;~VG8O77yp76{EXwuUSPmzWyvvx&fE2z|8UNL%(HR#tG zaEaEgF_Ax#!XUf?DQRgdh)ST03=AM*pP1VJ8vz|6>Y@%h(fKjiYUcG;ifU78zqn2+ zR3IXL*L(kZp6q12Ug8-dnrmX58>i#`gAF!2L#+Lh*|#R$z(1FPQ1Drrod?O7Rk;$t zCYtwzToK{E)P1xHlA0iF0vH$rE+sP5{Xb(^h9`pFef$mW0$vs3-Dn9%&Q(jOumA$1 zq`0#Cu5Eu#(c4j4cdiPM1GMclf2-eXU%S>WuF}4lPCUBU!xw9FCzk_u#l2TZiW8LIRW7#Z7>Q+-MQOZ`=% zVxM1f9NDcb`Hla8tK&p$1Yq2J!42a3p-t4!_L`(J3+r{hk!<}>C{QT^*7|zR6HPK&$jR98^>iLlh8kln4eInvuV; zA$-7UD>C&Wt2aR(3*xWhPIp%z)pb^%8r{*{I$h_XQiN@KB>m4c5zT)j*z~>lP4cKD z#G^eau4Kr9BdNCIBj7iKKB6=IwZy?uQbNPs?ZW#Wvz~S2y&+iEUi?pD_b%A1k}+qJ zWmZz%OGHe` zeOhjwJ12lhuN6WJ?EYd-M3|(H!#0c(#2C#Cz^9}bAvF}vNjG92^F_H}QsI%B)G2Vy z6}@&ey6molU*qF`{!b(3ptu*%oJAfo=fhT%H*V3$k$K`ZD66a-;fo5BP&mq~_>E5h z31!^t%?>W7+Zkb&1D^M~lNHds%8vpzUQRmHp1ZHC1Qs^E>C{xRD`MCej#-Gz5m$}l zy>=KRp0Yi$D#0$ia!n-otQNBYuj2Lr8gX7*K8D9lZknVo7a?&%@`iJ0qw)tY5IV4K zL=@Sf)n@-OG0Y=$KZ(jk^HxI*=dLqgbpN@tveex)P$*LXQTY=Bmt+3}-VV7p>E$l6 z3l%XpogWKR?+8KM!c*);HsMyom$3L$^k@_eni{|J9Ys^ic2MSm+T_ z#(CSe?ikbu7{lR zW3GOUStww~W5j{OyC&K|700&aHi(;`x5|kLM*;!w1H6P>vDK z>swJ3f4RraksoLPCc_%&y@i1sL%^xltl8`huv|5AHBwHp@~WFc#rougA7KHpx8Jy4 zU7YlJNm5WxN!7wt00?af->2BOF|PUz8Zxno{Q70Tbb=}JZ7(>&H^91|A~Zs)7J|N( zN+2iDK|iF^fB#;3aI8^G+&|Qe3kB%MuXH3Gc1l1K(RNLlP%YFl5@M1;cW#LQ5h1_FFk&%>Xr{r^ZUv= zwgzGBQpu-7NU+k8r;%bJ$*9>`bxCy{9ljZoT3XBh0>05vkFynZW#w83IsW?E8SDnZ z^*~$_hD}-Gr64X%phd44a)=u;9c8(%8`ulN8-dud1Fs3HGKWq`AQbOBoSVG=4oDh> zhl>lb3OQoDX`@4%Ol(=nTiZW$!>xHm|F(Zj01PTfvL;LmK>5)?BS>vvw`hTOJNdSF zIVQR3Qsn>L>|o4Qs0htq{kEK{)p$X*oa|oh?fSOwR1U8GNS}EK6{DEu1K{*7Jja@x zBH`fmIioO!YfK|0V^r|zIen-iw!_s@$5Q)8Q7*X>_llNPIQ|{6pMEh&@h3*$zW<%y z-ct6wzKYZI<+=Se^cd-u#hLWH%A;f$NzP#7bPOl*4|#=TZvLhco=L6SoPbk=<3Iq@ z?iQ^N2XaGem9{rGG>)<+=^v|i*+CpWPHqYokfH6&99Z9Q+p#b}s92#12f9BI zw%g>^f{t4dOx7QfJ0enHc>30s62|ANK52fwf;LX1geDaX!2F3eG1s@QeGTUcO;9f2 z<85c^EXaS+;_CoS9zBO!7%Q?7t6v#&7ygTwnWF09@?zRZEk+~X^2swko-em9wf5ik3CbbB(XinLBGgmS%&{MZ?RVA6(XYjg|LSAPH^Jytz$w8XX#eej~P`L z7JU1e(yaSe%f1KldPRO|;B1-k;mw+x;{iJXiVuv01m|g`(i54-ePJryD4BT*7R9=z zR(E_qGv;Iz_o_BK2)B7BS$Y(E{MD!2KF!`?)l8j&TTzNS(yj&uOT}5GrjkC3gHtx7 z$8d?7M4lyS5gvdn> z%F)ljkfhIZ4QzTDr`caodkPrIVth^lMwuIY*x6S{V^;)|m2by#07*QlRcg5I+}={3 zF`ex%h2Bp_6wSp+_-{9xaI!TjXr|e&pFewHQ3-z9xLQ=~3fPV?Hd8whWYt-R(_e0Q z+%cOrx;^JB8<*V4@j7f{eQNk-7?_lF)K`UCrHB^Cr;wzRmDwSQzlXxI*@&l_cT68uq& z$0B9^azcHm4r8vrWGFV{DE`cZG5%!ROP@*ho4GZ3ACi+{5UF$6T!EpskP%eU45EX! z5HG?OkYx-BkokVP5Is(wK~+c4Hi+9P4jnT=-N_Eaj<=NEsbG0w&`1^V9gk3WT4Zv^ z=d4^{aT6(x5To|D*>V#logkBge-Q3HPe(lqk4^Etc%Q88oJg(`s+#ZNRXnkqNz}gY z&Ptg^U$etKhd4XEg4^=j<1>lG`Qd8C2N&y@O7jMR-QP5^(q>9i_op}H$5RIeJB){` zb(c$@i2Yn9>Z02da@AbXuaAIc@{MHj0}HVg9GUJ69z0GXah7LKL7E3o#jx<-fT1>m z4}Ia7A9cIHC$eZ(P=0cOBo>Yb!5;6}X*5JW|4Vn^W$JvEvWeJ2Q(HU^&s?&|R zeQsS)a5a9yVZ{DQv&NpZxJy~nLMd+;ZPq~%+Sj6f&c^}CPv{2XXu^>Kl0@G>Z!rpT z!UFnv?mp?>Yy9$$AIeG#tT(nQQoc<}ux>Y)Rd!q5pTcJOm6t=mq8~kHiy~0bXCDD3 zQ*~3Dy3af{StP;-+i7{;PLljLIo?F63k6J%yCmKxwsAj)05~QB6fGu}wp`{vf=4Uo zHZ`zPB4zk?xL{tv6!^;p7#_*TYGjp%JuE;VMN`C(vD9$P&d{yLj&@fA0puS%H{}qk zcuGWa0m}?@wrcjQpy?Y+2Do)hdb0ph2s|0lq!%KHe?!&%ku9|=AuDPZi{e#=res{m zqe4`)nn7zpZQV|jos$LW%MEyZ-$XM|ez=AyMDhiX?&NIauQDcF+=ubMgT0kswZZ{! zJpxm=S3})9;YAq09HukT-xEO zHUf{|o_3YPJ%$_=Vp1~P z8qa4KW$^pj-&aE&O%BkzwyS7nU+()BqY0KO<&E^WhG_ktACm6(8FkwE-4OLpmGs0? zz{Y=%{s!LWUFQu%yz`P@cRyU{Kg=mlCkMB`#5BL01xU1-NIa5EoMQ8gzn)iQaMBX; zzyK7u>vW<)gUM;EP#Wd0)1{Ejgb=^IZVq6F$YgCxCg?1KFd`3 zd7ydHTQnZy=*eFAX&)ztAohR15)b=w*buS;tu||g4iHiX?ZlQ198G_-0yRDu_ncNd zvU#t-k=IW+m{QuE+O57_9x5jxmEAymS!fwbk}GmPb&(Jw?veyNuB&HXPK*A}G!uUl zxD8~*3O;YVTr8YUrOXx{_qu&97QiNFpCE|rHni*@C}s%zE3{deotE~&MFat}Uc3Q$+9oc2sv{raOFT|+j2fC~(x9CIjCzir#hQ01ba5XmJ^m4zTyI?kL`TXa z;oM@YxcaT^*KKE)AojYH!F#zuW55@gjypkGMfNV0>WM}>UfYKYt{BF~XMYFiDs$+8 zOWMqa%_@KKM^@MZZcoe=Hn@f~lyz;;|-=ZhVD(E?tFp#36=dlYO8kTh%N z{p{_k8qoUnx15Mqi})Rr>43YqtoUBByG;&OkM*`Gc^$m>BbJcdw8}>wyv4eo9h7j( zA{QDq`~oJ$Sp)O->j_Iu-;@bk4>m$Fd;{LBR`tl0lvz*qgB?IoxA)O!rak5OKz9P; zZd{jh->W#@jbX|wy=sN7v-#m;muHhn;9&)J49{`N8-IHvZH;j7FxYquL&^;Wu>{24 zeh#)dr4`oVwIPmIArKpTeDYk5 zcwV*i;KpLI>c?w7H&JKJNhtc@ZQs*;Ax`uBZIzYPg(HSP&o9wBo1$)R#_v^|PB5VV z?yT1>S|mnP#IXqz*SaZLFT~fJ;pO}lrLiCjfda9C*1HRdNN3P`PYb~iC;8OiW|nnJ zfyr|cMT=^lr?FIz>TQy#?;ENk_^GbO{lG8w1K_jsV{@u1V(l}vzS+m737eRllQDf03Y*dW7diOiXV(4NuwJLCh;ko60Vd3)s{GzVtk(nfk*91 zHZLRmnHKJL?zT*|aHf8Wb`Vt6930?Fhj()Tb4!gaxF^&c#4(`1u5||o78BOJ1ES~e zY~rGxFY@h;wNVw`l`~fqV*`@>-uBz$ziueGu#VuMClaHcyj1p?hu`GkCKwRUC3DeqS)OC8xL@c*-LP)`ow=2m zBXR-#B1H$GLfTkn`5DC_c+!&NV?&#}ciF zClUR;zHCuiE4w}eu>9zKR-}UhC))S-r2{n@_8mO$=VYccQh*U0xpUQGNJb{vQtbXzJ&+tmy$K^5vdxt24-S%W9;+%W0YwH$4iM|Fs4l*G#YKu55C|>F0&MgkAW4 zRsVZ=%oXdke7zqD-DQEr`c`BtgYQYU-7Wf?0WdSZ%9+e>^MUfJoKod>k^iRT%-`DI z> z{^60Sf<}BceLjIVws+H9Pm)*}!%NPr*QhLvo>J>9UAw(}c!Bku;b=JucSbAU?AN#JU?V@?<^lne3!nWg%0g-LiKSZWsr8qtgr`5}IFFJB zw>Lwkz%pO7W4r*Hq$6ZqO$GYaktGs>$uyViWTggJ zoF_cnHNWyL&xaG#)oS4Fy|FC$_mjOC4dSg%okd7Q;N{+<1l?cXmOb#3HA;B-t-QU7 zQdc0=2?9uU!jdA+e9aUaaTH&GPcYS1OQ?$|F=feHNYYgAdL)pPO{-=pVHX1vIXupA zcnp^Xf;`~hl=_!=%^uQN7cgm>`0_3f(YaRQ9iI<(fL!$am0ja3`NRM{#m`}U{6O9L~z zpTv?>-7N^`yN)_u3HHodFR9;A;Kq~;N%0tewDZZ&0&t>k3`mdbF>M30;BHrSwij+6 z#kDnvlob)bc4X5z+IlNnoOJ1jJS(TJn|=(9BnnrHA!nx?ckTM7FxStbB&30%G3{~Y z`jFR&-)!&U0fOvBC03QrS`Ta0417m{+Z~DL{`SgKInDRo`mf>k2H@Ml?}hf*U*03) zIoTZu1qyq;JdcCz-ZaBDCN+WV%)NWADC7a`EiO%1+RGvz7s$u^iKCdcDL0K3qk#ywA=qAdEa&w*gYhlvQ zVg%AR9H9e++NWbD4Zy-gzx03|oBbODkD?de=O-!zphLL6SSa%RPj}w8nz}X56Js-e zi;Y7u%OV8}8psJ9g_5}TM+kAh9ui0rk|-j@RH!yfI$*_mSs82&V^twFCBvbhxFVt; z|L;pIEAJJOZw+?5cu|i(o32^y3wIoDllO#1WS$qyoL+H~#p&>(26wJJ`5I77a33?Le|aZ?>u#2tI~r6NIoQUuAyQGCvI2(_1Gx{M0i5g6+N5 zDb)X>Y8F+HZ&wF2O}VrSk#0A@J0SN9J)1E2H`#)>(*l4-QfIK#o9ny`hkA00le%U6 zhKt*7$$&!tu=cd|ooxe@Uwl@*zaEbeJ?Z@3-}fawYov8O_BPFvz6g}TZcb%;?Zf~D zEPCwS(zX(3t9vih%PKu|l7awNi(OMTkr6BkWO*FKVeaIFNLD77@$2b}baJfi$E`93 zDvz8FKx~e352f|hzH?_#&f86D7k-X=$iJbDZ>K5h`S>c+*FP+Jvb+1~jJp2YW&g`0 z!H3mGZz{TbztxLui(r)#J{Z$o8!t?xi0?htzFgZf7Xg-5X)5%RbuFc-P3Q>ZD13p; z1p~h2Ikc>hOhU91J5GSy<4Dvmeb2Vd;y~Be19oO|k7^ra|Dvi!7Z*6~x@%FO$RX*C zh8P8WTdTj!EGYjB^Rp%=ev0qcN%k^pGDW79DKm6CbRyvvc0HR}3m|?_EE`whT`~ZK z-{{mVr;YNr#57OyiIUmoYURvwwL#%CzvP>e34xn$YzkAX`;nA|v=+3|+b0Ax*Mli6 znuo6d9Jf#I(;iWN% zO$hiiULL^PfyxlHrq24MWN-XQUuKq90|UnbRMX_=`4j1^r;16aBf5>0{%ptD%tQ_u z$M!_)KicCH^Uz0h46+U>*JEZ@hda=HU%n>Fdt%jhX|==H*|04RoR;3Gd^jFs`WeGl zE7?yL%dhZM!Z5R1D}8T-FUWGb4XS#4>f|V`(zrFbN(gN6-qi8ew_EnYDW5!NcE@ej_1Sgk7(6%2}+F?$F6hK zD@=JSLV$0Q^&3CD-8U+7odXl8(4~dgY!+=ETJ-w{*ZG`o$_fqWA9nN6%>{0T<`_LR z?%UpYj1QS<@pZqeB_iZS=QnU2%ULDo!94#XfF zvC6%7Q`~UUrK?31>p$O(HpSDj9?#+)+G|!49``vYwu_vP-5nn5|IW>shd(boa@+$$ z_nrPzq=2)Y87_xu+T|;GtCka=DiJPQ|CTCNz79{KUAL+t%HTY#~z7LdxSJR`y49O>pdf z5hI}N56ZTxu8&7a5JR_N3laIXZSc2Aj0RTXdh54CamPKMga)tqLELx+JxhGfHL3|y z656TPewRrCZK=j2D*{r@M>Dc(9U9dvA0QHa7%Xgq0wyEF5r0X+;vb_O`|P;226Koh zr{LpZUz(yIkDHM~T~bIjW1IEJCE<=XGq%&KWzU&Hr_r(;F-z49oV~bF_lx1lCwWe}rdpG#AaW4nV^EDdPABqyhWK-Z> zm&q!9`obz*gJ-h!A$aZ1(DI1ZVTdod$qJ~i^sh-{nF5({aAW;BYR!y;3LZ={3s0)Z zs+zQjC={xt0m@GJn&B%K$pW1>2`X_aGD_~fNTJw`G1?sQdDH9U!#-G z!#-u-%6*jiO+^oD*)7UxMtNHQN!xHTFa%uV;vUd`O#{&*n0E&adUtdCKvJEk>)bR<@d|H?UpzsgkiFd`lQB>6XwmxEO2P(}obeRx#cD^hqOO|m10*t#; z7r|kw2QrMLKhLX+;`=mC7M>+8v~TTN4dB_8J|K|7g``pATEYdYi7>M^9)HdPM@4C3 zM%WxZ2T7+?y>zgg&f`bw!+6gv)O+w_op4-^6k%#iB93|9l#d6hH1x24IMr5YV^!Q8 zH?-P6;Q6eJw9`b|dN#D738>LITlATVaN<<-+$ukdl&1wg-rK~kF%=!#_=6KlW!=44 zZ1^Kwekpv_V`C!5d}n>Q|2fhn6_ZHj&qOBrd)%IrG}fts>b zjeF-ZcBEwCwB)1hhE7&?PhVKE6UtNO)|Qp`3t$W?@$~W}r>$f)7QF?&LpyTNPcr=^ z-YC=xIdM3B->iJyOAOY&Sp`{!F;rf*4r84jco|s&taLw`DRw-`*CU+9vTr3k zWF3v2WKH$DGDkI(pBq2NCJYzMojrU!-6@4++XTnKfti)%%{*zwp>FH0GZ1uYq;x!kNUfG%0}xUvRK0M#p>D}x zdSqYO)ZLrxP7;xz=5=zarp){>dj(k><%F{Ek9x#^m^Xob8!_#9kSwu#U!iv?}Ll1WGRhAap6G(3V2@|ueX|463P~7ZTIY&r}A&tXG|AEP3PX3@N z3e&>Ka{rD--vZPZRqxMsK0u;q*-5CF8sqqt~ zCz`^s@1NUH z60c27*=83zFiFpt&AzFlJnJ8qXYYs71uVP92qZ?Nl6?#@iZnk#w_Y0qH&$m0*v?Lc zj+TN!=3>3~P1X*R^_Mh7^VkyK19(~$gI{Wpw2I;58j}Un92}Twcc=h^qdWAscb91} z(Wojsg>+rbvcmacok5Z7ZHC^>BtA@UX@#kIDV>c7ZU4zx@V{nn&B4{6*ZYsM5pvvP z|E-L;C|BT?h}tWG#8Df)7flmz9UrB)t_!GV)}IZ+<;Q$w0!qC}po!znvtB38Oa|{~ zQ$}@QE`4g*xa>*Ux2CGg3&nuixuQAY7+m$}Mz|dW)Xp}Ye2H(r7JTq`tE33J=44n2 zk4WlGKK4%))IkCmx@)_hlK363lGs(aAw%>nCA>h2cPQ7JHph`O5J-$rnPu<||t~2h|8E&s^qc|*(-<8Uv)~&(^q?J2Df%EBm znN&V6zoKCEu4^l5D1e1?ngMcz@Z4=EEo1bW&){vfS~n$?;Z}RI!!nM*{wXayXL#M3 zhn=3^+Ep+GjOEHzQeXb+d1Y+seAO)CSv4%%yZDNjRET)#p%U(TgGmwb+uc`?H%Xyr z+w+Xp^#s3v;YiaHc*aG-r(Q1B1g*Rx}K?atgjgu{OU z!%pA~`^l-K1kF)I!e+S}_SI}|9O%X|o~$_{j`p$}YD>?1tIy(S@I*bS6lGcVw_oac zhB#&k|K3T*h_4Hs=w?mL8tC^I#JX)gZ}D?FkMrlzOnP=j--GSNB5^Hm26~rurMUS9 zm*yeWGp*_lRbHYjsFlm*`uFHN2cM&@tWWMRoF^NMD{nia)xc_3vmQ0eDQjUdHT^aS zEoi=cu}Z7ne6Nii0^|QjbGybJ<)nchg6+=uL&NxLKLEJ`!hfrWa9tb!ophQH{Mq2djStVjrvuikXS8`qTYxERv*mF@YAXK_o>3|Fm zB28Sm@V)jWTpm}b&sXPak*z@29>y}hG&}%2el2s)xAmcQe1U}PHDnd1odY6Gy!y(|Hl7u?DZq+h|m4clr)ov#+jeF?Fg+$MGVk zJbfsohDfi3&i|V`KNAm6b>$vzy8F2)5~nc}!QDSlh$SDa?b@HtI~~)3ir;lGYC79Z zovk|0r-)^%dT*S9Tv9UB*uxDTp6huv6V(I%S^z%OV2UPZZ(TaQd9Z_MeA7k{%&i_& z5ZCqEXGR)6uedC_!to?2(!tA~eRo~XZ|Jy0-s@`}X1j0j20BV6@IBWV%h;oNY7f)l zO_!_nq97^B8R@aEfQ7pBy%QY?hgZ-2PrT%&w*(R~r_*&t9$(r=rw1i3Ja4zsGUgxR zmfNM&>E33!A#$w@5Q9sICUdwuCDBSUL?poVeC;uXk;6N@#XLjs$j=WL|7@28bT}u=u;L zqryYrhz`TYqF=>&g4fe%Ysn#d41*{!biuDfqO6>Y1=9$ZI~M-0#V-FaW)RMGr!wTk z_vRo&*`c{Wdn-kXZ2YbHCvi3pVUkXnEbfZ{gjt3@q z5s07SlE*VNaQf%nUsL}G%3_kbYpn3Pm$Ff|Qp-{koe@xnG%tm{Qkg^Ea@e|La=NoS znO+dQ`wzdmlR?;y5(^&M*&{6^j5KjKMkdwxx*YXABcHbAdzAuOzm;`G0Z#4iU!d31 z_k>+IBjlVa?6s_y+d`mNk=I^N_TyKGO;uPOP(%>=+uHaE)00rJFIJ@Y2zk#A{rApCeo;fySE$RFt$-3?mVqJZRc@(4SNBBq%lbuIFcmirY_5g)qH!$xm>Dx7^{)}lit!OfsC4=D0ioJB8 zm}mnAHE8g&c8Dp-sndXi%$~!=(>oZaG{1T_@SdXxYk_uQR*ZCeLWIw zW~v=`@*Y7j5+`HwIv(I=ttWwZS(vU;$U;juG<6lt?*$Im!eTCqi6HDju;P8Sh%wTSC`BZIROzKPgW3lt{5B*M@(AJ4!T?3_4-@4z-csepn|O z+-cv$XOdES=<1xOgK8;ktw1&x@rAe4id}kygM8k;EpcJYUw`z-B=qaf zTebIgF-r#lGy;APU7x0Q>cP6(DO18Y;wiRVUc{HWw;#4Nm9njuHR-q=k!UuxS*1@$ z#ZJ!? zv+oqfX!Td}tENH$>^a1~1Bcjl7WOpJsiD*+ZU20)YzIeKFW^&ksh6R@!H%M0(Q$uE zm42@-he--}UufUk(6>X%C43ZUx~l`__868RL8|B zd7l#cAtlP-iA4r;D&)&8BUmR9)P?Yl80b;tdv)`r8IgCh0qrNosyf0Bnz;x$x54in@h3 zk}uxVhM$b0JcqNvr>q1R#*=B3nqUQFb6o+iBQ*27WHFh?^r>|Z1TtC9Op8C)J4dmp zcF`?mMlc!5e)6N3n+#>7mt<|5_iL9ne(yK#7~;ow0xqOlb9QR|2Ru+)mVV{70}%^sK8Y$?uwby{^#L} z+n$+^mKJFD;x_3YJf?6|4&*+~_9#;bw*UUP8?YJ+krsIz>I5Z@I_66Ep5GWbzHb^$hOnu(0$)4b)`xGrm&571OFq z?;s0}Wu^rF_xwCLi# z8uv;k;j>HQ?Gu&FpiNZaF@?fNpoDNwB)hNmcYmqk|LeN5!5;6z6@-5p z9>{9r35y8Dn4h__(bZ=4(PQ-NI{VC2Ysvfcbd&MT=Wkrl)>#N+`dj5m?2;SL7v1KL zxLwW|q_eJvWO9WTau(4~Avydzn{!(jVz78H4DD1iA8`OxA3f)FXt!2^pyS5GvMo#v zI5g5fB16M!O!B?YJ?G8T*`oOG&xoe6DfXZ?TS&8U-~NRU6FV<=%_d?$Y+_72<)JVX zMhS0-x+2liog~o)En0dz6-s zML;^<7m`1Gj+gkJJR$(RyA>3>Wj5?pUYA}tI4R?NaV$>EA(`Q*Lov#n4PdV8FZ%ox zdCn1njMjB^PZMg+lqz%3sv6S@jw%Q>Ws3Nb9wb#+X9g0kXFN#m@}Fle=DTX7Q7*GR zz6kv~X}8n7u1{HnkJ57GLFmo(<}~tWRX`B~JA%#_D$Ep$433Vq`>~&jq#oTrsGfkNJ|b+7CBwepT@MBhL4EKCYVhWIjJl5J7xIhOazg?2v<{ zT172e_+2SQ9_4iVQC)7Tj6oOTw> z-rJ9AF3ZVaNN>3>z5>V;bUmMYzHWelcG(B0LLQNZR@cml_l>Swuaa48rM5O)jlL&~ z#YAfTWCT^U_R3&UOZV;f=yB$6n`xSvYjhTND`)XohR5DP*6k&_U0u!Z!oWwvL{kqM z*@S%oXo^nUW@rG%Kpz5mM^=O|8yMcqg)A0w1X5@>pr9OOlf~kvz00+lE z<`)RT-Hu-;`D|R-bG|C^yw~ouXR%o6o63}hx8Gn}eQ+#~deY;vQxg-D8E8+vEB^G> zRU*d%+Zt2;LdkxPQD=7q3PR0&=7hkWsYA=lkgOghR<4JHi80df2-1QN z8Kfr6Q4u5F=drg2A_c$oFZWmi%nG&J6k?LHTQ-TU3S9o%smSJt=H4@+sO;y?I&+fl zjo{ag@<4C7Ts&-KfmZlvVSeF3;`WiX`ndIHa3 zeR|R&W=ICEHR$bUvE)ds5>CEPnITrE>(vYo+1wbKOkgIBF7KYvdjl#SbU%9^EmJZl zo3Yc3n5$&Q4chEIh#-%@b%T#F;JfR^rk}B(&vB($Vf!51x_WKd#&z`QhWCrcbREd; z;=_9KgYNZ)1A1eGC{|oKvKzn2{s%&wzgj!7_Wr$o7h{ZWE{mVN+p(QvGA8yNEEL0bR8WuwaG3mWuS9PnealBw2;P$Noy>D*md_hSoew-${{UCNow&ft z)$^97yX1h3R?|_28UU=1dChLsjF53(UGvusiAuDtr`KP09!Kr>#O4+#kxNrw{%rmM zDRxrrK$WFrd)pkP=t;GbLA^B6{ktVVz9aePvsrbaDE%U$j5cav7f!Udt8-JHfUoq0 zdF^ZfchQhWT`f@uX5g8AY_B>-7NN1MgakZlYJ?vL440ls$*`?ujMA>B zdG~0nxy$&t?zPZ;Ui*PAWceY`-KUZae0P|DzCm5k`{iqUgLU#`vW^CQ+Usq;D!#dLxm8ulx7*5D3q zhe_Wj#o6+y8vCb**g?F4cGsm(`$6fMzN_$@9qy;1H>^ZVR|!Vgj8GE#{wI-==!c!} z{`BenN?J`uuaGWc$NLDf;zXIu%BS}U^1-Gb3pl6nBr0f&rG`sc0llmilG$1P6$V*z z7o3OucbfR9ymyEG>%5Kj%VgE0DUwnY9?5pv&CVNZ%hmFoN0C;`BU8^^z+cCwd*1_) zvQnH!MIAc+41Y>2KWs<_b}XGWEXR??m$A`TzvMQLcfHN;5bMVsjScTe$PvT;YI|A0 zj`=**e)4aC)U|f6ZR$~i0q@DBtqtpagW{5K8_0%>)oO{k&Hj#kzv%dVXDIuq^q@1n zmn*-L6j~4G{j5X%wBVa)gC6kEqG9-Yz(9VA%p0@za1E}U^yHG2VLg9-{Ppawzn47E zn8{JP=HHK0f{~{NJj8jobcTwqCc{m;EI%f!7>K>EHLmhywcz znRa9TW#C8#6ANxi*Bs5%Bq!fI1!+8}ViXCLte;82eO=vs5U%_v@WZ&}>IL-C+7GHGk9r=`J z0k@}*G*d0P>wqe`WgJ^`!pgmt9M|v$56E&|)X&1$6TEEU1!}u95p`JC@cg$uw7l(_ z)9$lhL9CtjD^W!;WZpyqy?EAjjyJBQUtn6SCf}nzU_k zF1su)=I?NQVm~9aClz}iFM8WhK+qLbri_f3GM+2A*m(8=@+f%k=0{oRt`ZL|tH#lB zpK$Md<0vsgdr2IvDhs+V$TadItv=SmK#Nax(94 zOBez_VUhDC*ic%e8P!y5!^NR0m=lPy9~e3|kOUfJ-`18ha6dydR$a?iIFld|TRHPT zKyQ9WBTa@AHDwPRcZwNe6QGm=tjFIDJ8>OA@RY?Lu!V)p@mZnQ*qB-vEyTsg`Ty^% zOEy+cWAn*5f{TLLn$HCaIV{cF@%1`1(#-JB1H_tq?atO&p+_!-8?^db57n~I`;akY zvi3dcIn!0;4h@i|?aeG-HSQQ5_on6}DSA3i9K;%=a3@;}ZM6|FnHaNZ$YUqXjc zg88tF{;cKN8r-oTYV;DjU|jxd!AKluRQw+0FVab0@Z?{a8Mun zEVO()*<1Gp+-9qf_Wg%TcWH)9^?|G#OAiA{Iq1WVYG^J}oWO?j)+n7iRl-uLdW2@p z`5i@jCJJnCy{p^n(s&~prL!OirG2l#VFUO;N@niPBE6+OX2Cn_sktK!9hS^2@1c$a z_#Q+O*xtIXD46CK0BR#?*C$Zk_A3WQph0Ls=q8Yo(N2Hr1TKwzJ4P_+jz+Hbw_>!2 z!JUjYcOkVT<@c&8d*F|#MXFZlKv%3WxqdWZ1mqd;RbFQ2X;}F`{MNrv+>VKY)C4|< z*W;`hTXFIbq0l;P?Q*2fu3C3WaKbUC!`aiGEH9z{e7Vu`DOo;ak(5>Fw>d8 z$}&{HFu6A{jvf2~-?eiS{lYfwW}ET30il@WDU&R0I<})(Zo@-DM~cd3G(}x`xm)?H z5V!dF>T9z%)uMu~E1!$VK<|+zyB#r&`>qhC7q>MI(R1(O|D)FVmT-nFY3Q;HZM zQcG(89qEQ|@gNs-M@*7Z4>|UrZ~{k5=K09UQ&0*4sJ z*pThZb$8RwsSuCN3%Lj{n^R(y?x`7T+~URDV58s5K1b8dw{!{L)4G$4>s+n~s|mh5 zUeaM4b@pAvaUo7i9H8JP7yM|3(5;GpVk0^j1Br^VI7fPx;fp}PMougay#Cb7rBzc! z+QW7>R~a5baJ8TJ0&2vK1Md%hnZ;fdsXME1T6*+E%AbyxTNnOmf;**tNZ&HsCLkqM z9|_YDUW0QYm&fwY%5aEEcJ)UEW#sv^!!ZGN3VUAX+ufBEq5azysnK@FiY9ZHK}M&{ z&?3JAIdYi{&X(0YZ4L#p2$S6)-tYOmguWC#@B!b?Qo=OscxQ9Bu=3;t$lYZQs+KR!g^gULYFCU<56gyRO@VeZYOtF{w;d{KvObLb1 zvs=9p^L1%C$+Y67$`wDrr5rrRj`Aik>IVM~Y|kL%bA3&Cub0%gev#Ey@?@o8I- zsnu^_r_4MPS!H&gxI}>A-~chy@B{=M+GLPP;1EW zLUGWc>Q~WLM0(zj(~bS1p`j@j=rD zSO*DO67#w3L72VkjJAg2DNZ|I{71!;Wf4SykY@14O2(6U>=&6DlhCn$T?u5e>uJ6; zDtwdectT6vdgk^0VQ0Yg{NC*STRd*JA?M&PgdXOdhLvi3p)*A;mt2tE7so-=+()Z} z%ks%*labYtuScb)!k>;>z%j&LGtOV!?1?<7tfAg$(QFdb1#?Eqg^sB>#7Lt7_<@=S zw)TFG(juffjYpkzMgeyuNr6RgZtVj}Ks8jhD-3x+M1MUABtmasR^xv$A7L2X901C%a)kL?nI&rNSY6no(w7 zx&bNQ!&-LN?cJhnTc_alZ}9R;)y?L`q~KP2qLRxBbMi;v7jtP4YF$g2kusB*ge6%A zdZNYX^TYEYOXqFVpy5z)$^?n`Iop>T=?jlZfLEccqAhbfY14^FQS#t&>#v9Rktx-T z25POz=Sb%@-w5F(6d*HL8yvwC$2YbHA?nx%0r31rBx@FP_3qvJVFK+Z9fv>75g71s z13+q%c>d6Dr>^Ho0xrj*a14F_EGsdL6iz7UlzR#|jHO*n@H`cXLIjyP+!>`?R+&O~ zs})agqnocrl$>t+$MAr907dHEXvSd?Xy8u0JV7sY-0!I$Ld+p>-lNqLV_>BZ;i*xR zB=T{4N%*WT`*UZ}=8+Be?K?b*!qa|SJVAb0Nv+)CBt*JI87X$&T5^@)X0x8amy)3#z|FEr)%Z;pc+!UVQDnsuL>&B$Wy=!P0An=SD0)?VX3 z2r7;$Z+hPbE5RbO$$^d~HG&cl)1SF?=OrOAj%4=y3uQ?*krPxX!H%2rGl6=LvZ>PW z>M3K#Rq?`w-b|HVrXo`&G@(=b?{b3q)Tg=L%-Y^ilJVLP zN*W0|aaEnS0iq#qYcqThp@L$&DP`tuT)@}v1V3I(`di(L^%_%?VMP2ROG3SvB3B^8 zd;5hdukG>ed5O8K<0~(JC>G%mcU3VFXjL2hu$;e-hRieBXtqC`Fi3!nr=a@H^wZ5A6UU5gcDMAn%p9?YpbBi3I0$~PKBJm$Kf?AW zAL(Y2BZNwF=lnebchbqKW@9j5!gjizwz}D(&Eo;P$-c13KsIy^tJmg(>Ds0o5?v?W zRUYV@4pbOrsmn^MJA-D0cE=AlaAR%unB5K+gAG25!@5bQN5B2b(QLi4PEI0-0O|VM zL2@(^(EWRqMrAqp50wwVWqGXZg9@UpEmm&(LYm z<_m#v6lab!rs&<>#lg18IM?~DxUE(jfE%fpGJkF>KC-GmwOL!n?+24SnT(J%ip*!o zN4GPFi4>Wip3Dq}ysdM97`Rn4$Ryn7?+$nO8ix?*NT>g7O63ke5r&N)u;NaL=;yJX zYVC$U5r1;MHTtaUjqUq98^u?^Wk-xITm>sGKD#UrO8XxKQ*6z#l;q@fcJAHB=8gs_ z9}DBn_5ImizPpL}bL?u5IIM(GB7Wuy%9``8JurFk81pOe`ZduwGGOI^JJL@MJo<{@ zG5cFHU9+FTj|><5PE76BH?dT`89Vl4%VR#GxvE)FUG*UZvo2$lmN3Ih5@-W)IqdS8 zgc83+W%l^MKvL*5qJkvRFkuUT!tqSx&Id_d9m+(~$wJPfo`M8LKRG@PBB}Q$j1u&o zopu_9USvxAL~u;Hp7ztNwv&5DGvDMsGd5L8@Oa83X<}6S=QXi(%hvfwRATARu#8X6 zN#vzymc0FRijr@O9vG6mQDIQJe#~calToBN&9{9Lcl>xmbn26bdGKXnX~$jthoR8A zQNB&NW1FJi4A^nz&q0V7bA6$FQC$M_koUq=I#Z%sP-gvbWAiw!Zl6S=@M zDPctZfw!W&#$v|$gQ%CV*EgBA82A)7zCUqC$z+co;eOtSU2cea^V2n~Da{hh8kduC zxHx@#L$1*T@U_V8C@4|z0lpZ{x_ZP$G})~+ScKIuT-=?^<=CM7lMWKq&Gbzz<<;wD zJjg2rTIh(aIdxdkk##|{nQ*vz8Fo)t!j)rkP%_ge*37W)V8rW;f38cKIm>}bN-%W9 zv3j)&5U5*Qd9?Gls>^wk+Vq_H18V4^RG8u!`MPYS*)W?==&kL^4ngQ?-x20i-NLxs zShlEf?ZRy|4H^zeT{J0VC&e<1aTG;?cEJmFSCUKzd`0~5)l@eblb_6=(hCl4^@1v{ z^h+hCFpv%1?=O|OkTF|2zJ}hDyXOcs6<438S|c^*R9rlL1~;aLV%o3Gp@1_j9?O4Y zfan8Q-xajpO~b;2-WsSAFdtM^+awnHNcP6eZ*-^s#R6p2LdYzlF<&na3GQ8^9OH6! ze`kq6ng&R8BnC{`S38wc;rJBlOwfNrm1U z`z`+#N&ZRBuaSmu`oO{}`l|)nh3=!jH6eqZ+dWEbt#eH9zIvmZBYbzc{8b_cj2b@` zcyhT-O5?hZYb?K_-Q}8rygWY7>(zvddX&QVQ<^nMAu#2A-Ff)XXF!p7PYl@cU?G2G z4k4ULkK(wIUy!3l3SSLm0q=ir zxh?ArAHwqVRTMa5a8Tm5JqzA_zFGJ(%h-9JCdB5VW@?t~0FmE2qSp=JJyAnpB3edPtR?t^MV4o*jmzLE#2FXDSl?!nS%qM%R~aC=|a)4++3{x z?_Pwx31cy=GltgA8w>(-M}%kS?>}CZzogu=x&InShK>6gB>{lJX85uNjRp&4HJx25 zh?ahLR|wzNfhlS&g9lkrK9nhBPbda!XW;A`(}~E>fBRsfvjv@BFp_z=9|wZ4XW6EF z*B8gODLtX%axVC3egWvT_OIM{|4S5Jf0YralCg-sMN^);yJdz``N9{w_IybXEy~VO z+S7-m@SM^I*thv~_weHR45KI4JG`T#W$2}?ceU&T!*w48*<8+#W32Wcw{L$;M+})_ zkiR!wUqjGC(|Zdb@bLigiRKx1s{-CaiSShkyVXkD&@E2R|C^ZpBZz!v=fbeo^BezO ze-D>S=Q_ua0m~adTw&44m`GCs8A6fcE<@c1Qknv|9&d*)$T1nxAM4DJXAB9V9o--= z|8esb6P>1lKBE>S374irw~wvErbpYMCs@5bcwD(A3-a}-34|0HQ78!&si}hIPo=4g zlT;>K$Plu&Z=GSSVPu#j@qS8|~*m@l|%CA@XKXtq%^symGr7 z8PJ+%J(zzp{#BlOvh{f<_wuR}l&Wg>)#6n-2z``rx{S-Dk^-4S{&ZAmr|j^=2+umM zG;XPX7m3x`35$gUA<}O z%ACfmMu0)(M~9D0qEf1*9GY=n|7WVqYx_)T%HM2}X?Em@JTYd8hnxfdv>rh?OA1AT~No9Ay*n6qOG-25H`Yk7KgjrMW8K5v4X?3`GcQzQpTy zeAntC{=<1`qX2lIIWRJ@jQ{70dGZv6U(WA-!713Jetlnaoa0Gf#h);Pa^8vO_ex}d z&uN+Vfzv-+8ex8(3SdbW0w+xt!t@&eiwU4B>zY`Z=?EUn!tzC~9&#vk^gW`7U(36=(9F%a!6OMXRNRkOu7j zKxuW^NHVfew6QFCYQMX#SlibXLB!I#*!O;>*O_q8*<1s`{wI&!(vQKakym{UYZYz& zp?TyN({_%|taoe#5O22Ps*k`RvQkA`KAN<## z=S?3E&SM{Y=!DX>`nM*r8^<|RO#h=HWyVe_UlOa@ZBJs}2|wOMcdnk#sv&>7P8YhZ zH4?n+>BP2Y+}cNt7A%oM?;c}^NVIo7rlS-Y(w>J5Wy`Z>#enWChS06*62&wqY4JH6 zPei`&!gL~~>X?Iy0U-fO1bV^qkdRWQglXB8a8S_`$M#?G40M|8gS@dL&jXJfPCQ@j z?8oi6Ch}!^n}EJQaGY-cLGB47QY-Aajt zfcp>i>qwwO8B;?%Sv!G~%{R#QL4w!U^Q(Ay6R^QEk@|*lRF*pN8LH8qUlFdZ?U5Nh z@|c#{uGY(nN2k0T>8vQR(?-0&oCFYOEbA3a6-Y{zn524_SpLAk`6|5pD#Skg`6dbj z5pJP>PV*l#@teV!BCo@z%%*kW(hJqY^=D(_wIwhEo_TdMf$ zLhHGKnSR|CAcPWJp^nxFuujka&mN1z3_u_*B*?8%4h)OTjPsHZ;w*A9GazGHnz?oC z6BI%h4#0d!HZbV3#Avd7oD&9$oMlP^5h)@o{{RTmSP3!2NJc+XR6#9<#j(Av&Q+fy zL9~UC_Q`a4K75;0k_b*TH%`XF2i~xodp&g-^|L6iwpY3S^8z2gLp;hK3NZvIX<_LM zi)8>~EkeSu%CzV(_MON20&{k5x2;=0vG5`^!aMhwGHfJOjo%{v!bx+2QjJVfl1 z2uae{XZ7avdM*|4^TBNL#5f}UfV7tFjHVvK!`C|+Vc$eA#1ns?+fW4FD=2e+&a;yJa6g%6T&~^r>Y*T}T1G%!O0j@Jj2VwB;tx8Z zQ97rb%Fcg~%WIpBiwmJFdU*KZCd4Q6MdYKI6Y0BXdrMQZ1UIp+0m@HZFmJs2QY>^5 z?DyBz8W!)LmrAeKN+(*hw0e_I;ulU)%N?@$+(8F(ReV<`o}HttQFnpEdjlpRAjuAX z$&_H5zCbOfeVnp4WbR@jL`dHI;Sx1o(wK`0Ia`U8n>IRsAOzMbb7;+h_`0wpgc8wE zPctpnP+=yx1ENKXCaYyD`&C%rLE+ODaL%lf@YCbPWB{0d$pU)V)yd*aYMV4z`PW>^UL`(yU3i~%7-xjp3 ziW|~ysuDjN09TVo@Tt5j;enX4pj8#X^-WD3U+jJT+449$-U5W$nsql^6kWipD;{t7 zVjnV-=MN0YZP(SJQ75FefV=(IyMRln0JqbQo84tb>pR*Ju!hXV$JcH_a5w^oRH)$o z(cgE$y}%3j&fUd|LhD!Z0SSnednjk5C?@c}!2^c0>$*-+|0(uHiHTp?l#|`##q8c& zV;+<;qoM!=@S46O#Yv5z@6|s^d0p3AnuEm}C2p$LZ7#8C5>f26od|~}pFtweRp&t> z0EFq+Z=7qEZMm%Rc!=IvcBEgOq83XQ-IU?AeZAKv?iP5wVR&l(7Ioe=>Yv5GBx7cD+BSjYQr`Ud!3Yh z$P{yMNr0NA_ju9A5o>a{gx%<8L0qY-QjHiJM^8dca z+g={pGy=a68KwMvrK4Y4J0^FG^k>b^90U3d+!I7+aY(=h+OMrCI7ZH61>nX}&Io4f zi2|R_rk&eDL0%0si5h^r0sm<}5Ek9UR3ea11s$E1OjUDK z?OKA_NL)0)4{y~Vbr}m9f+qwCuuD+0d@xiI$YwgpHV_BK3ON!HN5}o+eB~JsMlX}V4Y4}F)Ko~oS zD54UG#`E|h2q0O&V6dig%}%ohE`*nJ^pi^7#S%6GBAK*S2tZ1Gkqahgm;qLqoE(%# z*qLfcK>Ayv6@)+*9zK;s;P*jS>n<>qg66$Fce=-fbR-M);iopm3VG!b< zexjbZS(w9b%2EH&%PN_zzYvA9zQ;D%fB6Y7w!jNxB-?eLFK!_&(^Wy9glWcIs40tv zm*-R`op;R2@|@qhN(gKru{EHs5qe}L{zz7X^L(>*KE^TWdt^rPurw$XR>8X8>VBBz zx{n?4Y=Yf#_j35oHqH0pmcaIuOO{Os9PWVv@)C*ZC$&T;7wc?>_Qiy*z$1FW@bMF znYC!>KCc1U)Aj?;uU?>m1$u{mMc~5$p2RO){L1I?`bOELclS7 zift{pSamK*^vkW8)y2?pm#i!oR*|B3CCHe(k``-SNj-6-K(;|M#{AHlCg%_84e9~X znTY|u`2FVx5@cc3x_bwWAXyJ+mmFn^a${YPQmYTC1`w(^#=)&S3G8-_A(CLg%80gM z?$(=z`j#)|0(Wnrm_K!T`Zo2V1~{-cbN|Nb*0oc+hl@ckTUy0<*gxmq^hWN({n7Fd zzXztKRhLnwCQ=4@?_sJ`M*U`1ne7%1L6V|meD!s`sS&nJ3&;BZ95U_zBO63Nt*uM$ zE}SxEHOgyQ7gCCHAgG9=MiTk(vMK^FQBf5Gx`qjQh;nG2I}{9xN0DTgo9*(lp<*L9;*4WE4&2n zB!Hl1By{wBk2dEh0j}jeYyHQ(;Ca?47#aV32kSi<6QwQb1Q<`JqWFf5cuQr5+>;Rj zDI+)be5n?JC*v{@y+u1AAZiJC^f8+kV-ow|$+y0kPp=XaNbgTU(#d74zJ;Rz>qsqv^wN@9A4gn1PXnI^dK zITdpp-xh$(r*ptUJ0wx@WF#TvAa$rY`U=1Jy(J|Fi>)q>kMYF!f)mp>-=31yXL5(X z5$s8KzyPnZ+!BH|d2qkm}~&U*9um7P++T#X8|plFY<=lA$ukJ!b_Qu>EIM zwv-{!sZ`oWLKrkZ^Jz_Nv9z?br3PCqg#4;Q_#aQvMo;seRERt}AXF(t>XL;$H~t9_ z8Jaeyh>ng144lTZ#Cd0ndB20!%Q_K@FIqC1Kn(~fahB{vOyjtC4}!EZh~7+sn(Mo} zIbU_1JiZnm92iJp)Jb5lW%_3JfNRcHOHGJ7u$q6Y8vPbQ6ibbaiHU|iA_x0mu>F)C z1|!d_e>$XLby`Z*N~XwNG-p;MA>XrW?ibQ#lmB58aGU7#)1bcZy7j2I?Ab&OPsn+={0K(2 z0C&h~Dq|n8C%ON4%pTW6nfkyb|IZKMCMwrkvrbnTtH%vyo%<3vxqy>9E8*vvNO&LD zsNU4q5p;HTN5+m4nc8WWPp1JdkSRh{?dKzq_{baL#s^6Pe367?gKJz;y@|t<&Sz(P zN^%JPd#f6$v?!sT?TO#|f|G+5i&u7x;FA2wKF`)f77$}ex|j+=b2G=O8$2XfrBV}2 zMc!O*|M;t#S;s?D2fFP2i{)9ZykwJ*;+BY-#=I{I6eK;;Gfd+wDKqlkFGj{@9J)GN z0Q$0UlxB34OPBxuCv{j{EIwLaF@K31dIG{hT{_fv2N`_#A=oXb`uOKn7#y;dwq#IY z7Jv1TZz(_TlPWRKl>5rt-n0N%0FC!cH4f8VKh&quUs__Tl&s-EmC_>6iQVQ8L<{d zIpDXN;5L_WTrQv(o?;0Q%X;b3{{XtxqnwiE4i>wXUm>|u1yo_XQXvx~8N zo0^*bhD_{)3}IS$nh~8PB#E78)5~zkhx)f)QP=k2UjYYzxR-5jOTU z$A%*+t;<@zxBZFOM|@c_1u{4L01~aXpA8T|wI66yx9(=xR<-PAKxVVOmk4?$kxPko z_#49$n^Z zl?_M(d#*2r&cWIk;n6$pzd?tPsl#P_>5j-GB3V>zv7Ns&xNm|0n=!*HedlN)CEIa4 z>ChB+z@+bI?S-6N%G0Ps~Da_-djjxL7Fl)@)15jIW@zX5Lo1b5EhK6dt zV+abM<7SMJoNm=TADFXt?N3oa}H!5x`ONjj9k#)_+Ee=`?=} zojCn&i?tNiLA&|ZKrYot+kUpf!m@ltjGck)oIfdjM z-(aF)$s-`Wv7v>^QKl0SmyN>zLdh9hxfdUQd*;-GNTcr$8Fp*re`k?u&}cr40XUOV z(Iu_!KFNyI3|TV>TnWuu{STj9D^FOa~uVdWC!$m&#&g|g04-^RC|GpCK9)DL`X;j0*D{A>F6cTyHYw1_FbNjAm59VPaGREZOtbBLJRemOI0FLM>WZrl%kpU| z1@LEPZ`)g|I&MD7Mm4(3OmBA(Ry?u))k#W7AWRv-4BB7aoBm3i8=?hChQ}8TB}Jk0 zOGu$L!x7x*--Q9tqTL7&)(b%*fqbFRlvsIUJtI(LA$dRfzq=a9jgHH>xxrR<*URos4A$%&ACayD#W` zR1Cb0aL!=YJ!QwqG1*prfn!yYkD2|bYoX8hqqTtF`FIz+QCrs*f)L1=8hYvYu?o?8 zULNfjZ(gv>W_8bCzTIk~ue}!v8r!E6QVw$KkNNF*I{z$p^W6HeY2vtuqI6^%04e=l z^&kgNo5Lr*R!KCfz30CfJsn(33UBa&v&?qU#O}H616C=}ohR~_SvWgWy*s@!jFj)B z(!%~{IvieOG8v^FaVa(_MZW9ijXTd5BvG=eZ)*-sRo))%bNLe+E1em=aO5DW=0Fh; zC=o*%7zzZU8|LgKThD|1Tl9$Tjx=wQ+cJ9sH|38D267d<-pQrLylis;9oqk}6(tjG z>dSO|@d&~m3BnRl-hTrJ2eS47?|t?5;02%x{ONMAxSUnwKeqDUwQ9eCfTzsN%w!^E zbj9^+siuxLdOzY)DB$;T+^Sag{3O^*#MZ9auSpbs>8BuB1_okKCAVt{)vL_FXQqEV z-MF-=JZ8P@J!SVzE9e5jAqV{0Xzx{P_jgsn8kWqa{@rsn`Q(zQDC<1}AIqV3+6MB! z$lO@HLH#KOK{3==j%P%&{J8xc$zu4!*Q>p}Uyr_oEw=OtpN~YRT6@(KtPeSdD+PbO zWEhiOP(EMjeWs2RLC3MGFZ@6FW|8 zQ*nyx@yyeU(d9!t4txX0KHgXTe#Mg)E(-{ijR5Qm#L#yQe{akRK#-*&uTWg(RUIL@ zwQ4|~zQ~DJPm|VXOr187Z8hPXF;RW5cQRK-&sRW7#=J#E=(8wD<9l6)+~}YrXvLdE zx1Rx*U7A9;wl~B~ibRXjODu2pwfjt*$%+sE@bbCCp|tN$J>K-HAKEF(`a|6WpY8F_ z1{@>bGX}%6ub({Sp1RLsQn;7)QAUk(on7)u9fI`*n+X25^15#GOY{=1`?f1uVvTbi zB3wn0ZJR2=U@;}8^KtwGOOZ>HTh{&1B$y-}QQ0E2IFM6>GZ8YOn6fC-L=8iZPUB{u zeVdE5JV!C3;-}5DQf^1y{pQ=O(=r-7f_Zd1BO+w@HA-D)nu%$M6EzYqS&CrR{z~w3Z8{0)^>{%2Ps6Z+i=zr|aFhXSuIlTBDMVe>x4WP0%W zOpts$q%b+8p-5L2$7ezQhRwBGU7U2gpb6^$;5@+qq+~^>MXAqyx~35&^DLx!S#xu6 zvw3?;O@jLc1LCwR!v#7(bZ7@ipF!T>5N)my<^BcbZ}buDErDjIKOV{^{T$BJCMWD@ za%1Yhix5de!5@4e;Fh`Vwl4KQOwc;jZtvrjD#{6bKA$c(7}U(N>#^Qe#<0;#V8GXz z+P;F3IZOk)IMr+24A5AZg(b8TPeO6FQ0<|L$0C=`pX^IyzG=1ml0$qp_j9Eqm#H+% zWh4~G@YAnQoYyj}h0cJ1oM(qXd+~fBYw)*G$%_M|_Y^pa~CGBgmbYi{Xr)IOM!%s?-e51DcW9>^ZiAw91>##H=#FNTg_28#{*S+k&zio>Q7%6pyEG%e*x z3N$~bb5jJ!$bk4otzf^Tf^Bx>oUJoDc&g_$>o?8Zv*i;6G{DUe^V|#Tx>%c zt~JlRC^EUU$JNJ0RMf$nhQ^CtX2Y4ksQX@jPC{9OW~=JYnuC@&+9_Y+CHr(812*x? zB{4?~Prv*P|z&=g(LNP$|Rp7>xtCNIy7F13O2yskkh2eFzP z{CMze_p3uy$uQYXqbGoa1M6ehCiK=U@ARHUen2sC*>J$h-pYkg!}Uq(qln34NRMpN z$EyO>g9}~G%!GM%7bck>2AY7Sx}Ke+LT%C3)b*2zF;=m?D(F67FSaVh3}id z@hnS-3ibhZ?JY|5hUMXXbKEWYq9!bB^(oGM5L2w}xwx1++u_@TR-9gsw4! z;q8Ug5BvsQ)6I1k5jy^zNzvT0G#ZqXlCdq!&WZ?R*Sw)Dc&ae8~RKbK-BWv*^Qu8FpyNwRy; zGo9I(PeTNQ`e{p3;BEU_(X;>&(K9569}OE@V7$XxjN8i2%j^ zq-ejiSq~$W3N|@itvOA9!7KQLW~k;r72!C4>diB7@qgCo>6VICA%ml-4tAYes}2pd z6lPyqaVm5hY#<>5gr|xZQl^IF=QBU@?)(x)_sYMK5@q>r=nV$dVicYkSZmz5J);k` z#%<-+MC^!jpBt7n?=E;Yc@B2}t(1vlBu=Bk=}s=e>;f$;RZZw4Y)xUI=;+jS5aYC6 zE?NEbqjd3rWpe?CYep*9@(aL) zeoW9Y+YAFqQIwPiKF>-08$4{!2wY(*27y?bMU~vll-}~5Gl~^k8{~@O3w_eOT-3_| zhp+`RKe#9;9B89)aFn5a)z8BCaLFXVmabVGjVQRobu6Kv0)TDTzCAT)d=8RhMwEaW zl&CWh3{q10)@R6~39H;KsO5qH74684ls)&BwI^_z$8>i&SeoysB{1g)&Shkag${Ml zlFwwQCn?zH`d~FQ8`j9&;Zl&?USvH#VRsv|d@?Lu9KlCDw{Uj9Z!G0s7BKwi0isyR znZ65F?8|Rp6>_CgheOE)jAhpdUuECPOc9~@_0J{+yhn{6|K_NSuf<}r0BDLGBI(T`^qoW$Ooej?_ z#%694`p81(0xIN-{`@?AQk_>+*CnEmZinuxRG^}bkH~NNxT0!@8SEMbBVUDF81Gjo zL|htKu(djO#p~{?ny8wvP`8LlW;AKOh@(^RSW;cI;mWvMeRb8#H4*s0Krh#xG zEy_PU&K%3eZYVs3*?D-58tud)KNX;^lZlnut7V@LINn#AhWa@g_fEI9Aff684qZV# zIUE*4dQeI4K95L zHkH`eJCr3wA-!lmaj{$-?U1fOMT6FN@&>Fyy^h3mp%Dumc?4pCs|M zz_`D*?L^oAg61|~O4r^vEOr_%HJ=(LJ5c2El3}v>)VORiHlo1KLVcBSH z)T}e$>j%1d8Nt$L?b!U;FQ;(6#EC{OdY>H=VqImj9};B}n6nnX8#U6GgU=>gs}eyI zV`q~~+F?KZmTN5_r#+&EsYd&wuEx(zeZEqEe%^N>t#1`65+^R2O7HfUc4xc}XJ_4* zOI8%7{vL0?zSrEqqHZLYw`F?NEL&z?Tappfgd`%PHqJ)=b9Cvmc+e88`g`&UkSqvf zv6ha2X*dAv3kuRLQm&q0OEVOBYEFq-2l3#eg3)6IY7SR91X>E5%zj{L>>3(+J>q*~ zi1Y)uyM8c=c2M&^K#UGU47;~ZicBCY-Wsk%z3?FK;(i?Bp*5>QAT|q5xvb z3%UXn2!ylSa-+gGEfORzMeX&8b&`A>@(6rI&3k#geqimp-cgpPllNLfpPd27n@L>U zSQOt}5lBS%DR{=CRH@PD-HED?@A5aP8{RAwfZ>Cund!_zYJLB>MOf~tQ>taM z7r8POg5f?j2$Kt}QR`AkcHDq-d`={AUTYaR{igZD12NAgPS#R9$nL{jXL#n9mu(h* zm@1n}#}&mn%Z!>Q3FPENno>;vp6(xz3KSU}SAHulZl^pD5Q-KqLJm!RVBJ73JEswzXbM0RuP@oEoBx#0tG_gQ>xIi4CyS^Ev=lP{n2b}n%Pm1HfoPJK}sq&o$ zFRi-DaCgBbl7{n#MY~USJ9%uY0Gtud(q{$`W7jB-TImDj2K{F>iX+D7@9Lxpim!?&%%X?>YVn#W`+dH6Z7zk+Hj4Zh<JB-fs(PAuXp z?Fm}E^q5b2vD5_`IUHFbrPdeHm{C%L(+*7}=o)2OB*gc@L*)fd&!L4{b8lJ1H7U~R zn>IsJrQ3?kMzlrV@=&8FqjvFX!nJ?5QTC`Hhx_I<*`3-d?je^zpYV=V23IDDjk}di ztln-hzU(&{NA3V3Iy&o@Rt(j!IZ+^C7Krg>w+Va0EpgpP7%Ja74QiA64H1XU-r0P; z?;|(oEZ6tD)w)j4wZkUj29U7}G&qYrx<*Yy3I$E6VimcN_GqmU6`Pj8tm(s67r{fc=Cz`~QB2i^8$LL}**{-#HW&s4(qL6mg5j7U zZHE6F9&!*Szl}o5^mVyUc8@A58XAV3TELlWu#1OH!d)ee(sk*x?}a|OQkAdyIiH2I zWUz}s#>8&ByK(?DMp(yw_boh1Cj@2R|Ats z34z@QSno5yN|T1LXTP3EPbRv>G`4CNBv(Ey z(!otpW|Tt|xmP11{th$F+_^j=pzNCr0*o#)pvl&>A1uu6F*{ysFJ&j@1;*xnvDsn+ z@AIR+{}T;cJxoxm zAcztyy@GABTg$k$_oca;jb1P(1%xlQ=dRC{ZdPePK%ZJVv6kYNbE51Vt4f1eOMq>~ zE4>G~hy8Zl(wKv-$iIT0Ge5KZw~Eec89TgJsK6fHFPzxHHUJlnQ0F<(4<1Sg52ttT zJIaF!1r=TKc%}(y>~6Ik@&ShfkwMTlRmc)rU)kgrre>x?7LePv*h^L>dHi=0CsA8( zGV4=vbekUI2WeP%7?L1bCM`P57#gWKqgtd%Wh9Gsn-C#upL8ioutv%TNB*V|Q-y&* zFhkFTy_Jn`I|5T?bJQm}A%upUOdW_N5F4Sj;4)j%pL+}Ia3>H+D(B!FqALo48QGMk zIRj9xXji5SXgQzM8q8iCYP5J(MwD_SA{F^;yjolM=M@% z=26OS@4F z44CIH4PuH(&wEdEc5zaYZ*2N9sxv#$cy$zegAEY8j8uN?`leqx^5uAO&rA`lZrXD; zRPUoy|E*OFxV>IXy%mDz0~Z)oNIYgBR+L5V)-1y0{h*Qm37@%ARsfrWq;dsJMySI? zf0NpmY%}~-kxg?EDqsD?MFPY>A)s-3TiP9*Ohd=<{m(Cjpx`g4WIU*o>vTy(9Ec+L zgD_=k)m7y3G8lDZl2X*oz-fWIhp}jfDB6r2{2l7qB6ds_gTn(*dxX1Q}Ys_v=Y@cV~fv;?m5&s@dT?42xwsk*ZFQ+G>B zMy-|+zlJEUq(|@z1{8A+=jfiP4vy{?cB47>x3YGkcAnt9#HC3@VGIz&W99wPR4b=1 zt5$JxPhDolU1j{7Wd0(TqFxO#Z)5VeX2Veb(^Pnwa}oB^eNyzgsm1K4gfBT2zqLI)%_)o z_GHbZT*z1q2MR$;D?PhC>#dAxiI=r3gUdW!^_1?$;STEw5v7^yH%!Bm-){43oQnzb z-9D5^yVj|wgvC}CWGe4~jO1)O z&>{#yL&-|Q4Y#|QXXTU9L{lWrIgJ$0=_Bv!Gt`J9gg#0K+zq`~>Nsi0WcG7czx-Mh z#r@NWJwZxA0BKJK-f`Ix5~1GVwiMwO4=1fAtjy?rL4YwWU@MR>EmgWX_%Vwy{^du~ ziEKF@b>gRI8*in*xcj^8-HCxNBQ31l<~Bvdi(cL?-epA3KB1JYYvs7P+V*@N4*Y z)k@JrG^`5zJmk)&viqE-3GCWm;X_V;Jp_JYr! z;9W#6W5F2)HVO&=K2^WZ^+x4X1A(bU$>8z0bTgg)`seQ6WT01FE(!j&)~B(u%%+sp zRHeBJIi8m!eLP3r28!uu;!KgFKATE1N1QucWIzW!#nTN1fI}J_oX@~lA+k5s%e5xo zw*1$_){y)IQBh_ccb~7<_J-wBp-vz;N$>>(hTDWDf<{THESUv7+ZZW7p2r#S97C|+ zzBgm|d@yFHPl3PkHHeT-Wn^T+)6Kl)=KvS6>uP4FZwu}=vo2FQ`1QlslGbwSgR4O{ z2+5!~ROBwC$}FkN3^o!5N_<-K(ps>j&WZCqlK~3>e^`3z^f(XO@a1_I87rv(IcW8h z1;mhcB>;3mg4X-~IxYSCClarxzMjxAefB}zz4rO-WvpyP8vL;>_Br!PN>}guMec@B zI?O3GdQQ|N5nuqOL#X4}H3Qr3yZxRRdC!U9cKG67k3JiNunD64UWUUT{DAWEvJJjw z-m1FdUv+INy{0UQjbyKQ>xTuE_!DezyaJ=Ht!8%)ymbBd9v5o3{)a8#hZIIHWxQDK z#7hL7s9h>~C-$wq$Tfb+7FUIA4@HWv%YnseHg^iGQ@0e;=oTaZH;;1aT7B6$Td1&~ zK?{n=JMCcvF8q%|*zo)4lqLACZ;A=* zbqVZC54BacQa={*E^EW(bH3MJ1Y22YcS56RpLZ4VPYBD20lr=);Mm+PrSo#?H3)mo zu%ZyFB#2Yz(P)*^Lt%WT#Vo=$ol}+B)P)W&TWPsjuR- zils_rrtpZk13aD197yAR9W|TdJNr&giEkOx=iN5{L_B-V=lbeI`k#{;4UD5$fe=8)Y93Zy6W(K}DS}bro0ZP?uue)Fkz^SbWRuS{O^d|CnnMv=CTS#0Vj17ij1P zKFg8jr0;Vgll28`4X3ZnusJ!7z@4~Vm)I-Pc&LuKZh6ghZKbyRA}b|5#ONW@mc3U%%HKE=?h?{TM>h zbMnNdr27n=rguVk{EiEsRVHq|e+cLx@523#kGzwmc87G-6Jb&uMyW&&_%}(EKF!($ znX>saf{g0b6~Gi^HL=!nC{C&Q_>(NL6m(u)N(Ur-COP!WO({RVng=|7V-tAO!F_*{ zGkE*!R$H0+Ei9_pf3R&fD7hKyBP=oB?RJ)G&~#boL8{JyZbKPO8*|U>zC(l@1}-q^ zbYm9vMlt;DDg+-XXoI^bs2AE8vbeCEfZ4UatI*AQZ{dP{ltN~SWih0|(Deh+T&m4m zFIK;&J-?JYC`$S{ylA~tyW{C~fhl$2F9VwM|0kREnm~_xw!?fyQ%>22Yu84~)_{t@ zA6m`SGO!}0w{Ci2d9W0yu&3NR;&0nrH?I5lyf6SXGGEa@6%~D(8%TH1Di4^b|M22s zzrnb-u6F8N56*VnpM577I*<5+CL=bk-s$-sh9!#JjB0~}RqT8Ibk*}J{X?5^Ae3^`b#3w zf6XpL+^oyIY3n*vjxHJgj%hpM-zryE(nXs69LIE|#xwtSpyMNv{xo3ODe!@?Ais%b>Fjb@k?_qj;bpo$Ir_LVR82LbA>4jDzY&E6_I+z~1nvqL;77Dn zM0#RNC^Pk1hZ(E3szO~o1gii>Be4F3j27}Lwl&$4V$|(CDf_b}SQp4|s3`TNYIv_T z$A8qs!Fz5&Gn=qBQeuj-2Gtmd@X6}m-tS8@o}ozEyn`o(5jN7dqiWCFjZ}6C97Kd$ zU4d*73w8`7jLSsfv}T3Ydwf7I1bnZIr;R{msYET_L&3sEp@@$cZo(MdZMD_9jOZCq$c>K} zSqB}CXif^RQ-WwhM^8S3qL#%}y?9O!ND!Sz3{N)j7N ztujF#kzd?Z`9+(D3+h-yR|t>#V#~Lq_S~n(z-H@X*ZT;U^$Qk8U5^`6s^$p?9v!R9 zItIW|TES9lHDdiQ8ThN>wuuc}RM^lgK?d4vfv6oB8Cl$Z%kKe~?5%9g-{NaI-_ME8 z2a$whvLrtWW9_9G|IuC7fVGRsoc&~e|k7=GFyJ`*c(KCZk z;;Lsy>-Jrnu1h(htwmJK?B66)K9ovPdM_B*f|>=R8?aD)oHDBK`N2+HEF5Af`~X`Lv|k ziusYG)R#0q(eL5+8`8p>xRZ8T0W&6CYjrk9D%|IeOnJImCRvh&Kj9oFV`5^wE?5-& z(KzlTlJo=^KE?ff5PX`p$}^@kJG}|wif#icIgLbl4Y?5YuN~G?6d_!z@5xQtYW|Ow z*N-m&l|MyOAaht2A5i>{3s6B4WUZ`LA4(V=RZ!NhN1K-S}|YEb|K< ztL`;OsbFJ1DkWFo5_))B*1S*HjG856B*F)lsQSR-QT z(9rhX1MAu-58=;KO4k|mA^T|IfAiqhSAzc+a~DFD0ii7LNbtfOfNvjCRhnS2rPHO= zNIJ11jeQ$d+RmbP($N1N%9!Mp2pb=4gw^j8izw7YGlgI!Cui);D(A2}{Yi%=Hgt)c z+Za}6VNhUH=0y+;DF{0tTi1nLqiGH_>Hw#z5O#)w*8Nj(21+0edloScc0Ewc2rL7rbWFy*^#-UE@=2x_?I+Ig!*Q1C0|(*>T?z|Q8mPl|1?zRM-D!^TqI?#sm(ZQ&zxZg_kkqL>mWS^>0&+Ammwb zOJBdfv8@4(#$1-iRYWBnjVV z-(%Is%b4ryNlQl(Z_WcYv(Fm0O~M|3mN09(?vWO4%lL|E?iEH+v3cUL8c~U%4(}Hm^$}P+m;))|fVR z41gPn_%fLCp12 z?cZ;cMw7>YaY?r?n}eTX*KbQsxO%RM0ps1fbgQ09Z6@Y{e|Zj!Ipwrc+XO)$c366f z=Z>28OEpcN20CvoeSE@c<2C4V>-;TEOfBc(GHUpx zD+=wR0jgexWQvEClP!C4*dE)8Yf5Vj^i7+V@y9C9Kp~CYnk;K1Cs; zr+%gU9!KMfC|Y3vaouLOREwTxsxy;`wz#;sO!iI1>COJ3>4J!m(!(Y#IkuU`C4e1d_|dqi920xbO{9t?zyrVF;piMU}WRYR2O6Q&s8DD zp)3JMIk~WVC6(SwJT|3Qhk1t9-P8Mh#n3X?#-lp7t-G!ve2HHwL^X<@!UEvfKDi zVm`r|;CPHNV_^PgqPKR7VFi@+=<~#PLzZ3AIw;~RP|Fkf0~SVT{LW7RP1w_Vg}5b_ zXfV8(g87^HA<8()b*g2WMiL}K9!-4nF*D+9nYpDOvGP6$bA;z5eubw3qHvJ=zsN-i zzR~$U7CvvwT~UJh=uyr3Ikb&9CRQy2FpOb|vv63tvPQRp86qcgzNh12MlJ%NB+q;b5mqp0gk^t?8S4Ck5j7@$z+mt+1=()y@sN7mv0OR% zQ?mR!`;iW5mse7?;n3Bh*60Ht&B3WgmVY*!3@;uQ+!Z+CCvKVPHdG*}r-gGU_yjH%(5Xl<(S!GB&EMag(0x$zluyq|E{xRd|JVXHKz{bJ_agQeq{^8 zO3#A|1iwg`sg)f|kT{HsjfjQ4&-?gGX+dkK zx5pEz7wXojn(Cs&a6FNyGe+U!DVP9v!E1{}gX{a%)?0nA3xgg=Fz%9Ep*;O+#RZU4 zD(*u?MV{xDni(t4RC=i3TW4BC1z_qd9VJ9GWV81>?NvA^3!dj?QP6vCk;!w_q6P2> zcF>WE^LHBd(Qm~+)O(V09saPx{NIe@D+1EPH`PPJxsl6K0nFig%C4r)np7~nDF2S@ zPIlEzFa=4#V{i4iRT;gSw!jvB?$XWD7)*w$W^_YG|@An>}H->lsAuOX^#7W3!8M(h{AAVKifgq1W z;NO0C*5=&IY(B7FNW#b%RLW}Y&9tLsag`Mhf)AzQ25sT4yg3cul0cxadP)o4zyjKB z7#a1DoqNxVoBr8M&JQM&_}2b71Nw~Nq8@f$&*d~A|NV?=z6{uZ4BAc3wnwvH;(m1d zK1EWI-2QSw+&1kTud_NF`jcNuTimE!cBN?Ux6<}s+7e3Xzy^*^piU1I23#M@LC!n~ z(cj|UH3FWlJ+)TTe3SJTjUW=XJ+I%aFrS04oY*LX>D({ly=G&!QVnLYC*)ff2Fqc#xOe+ZeppN}U!!ua7~G>Gr}|Pr!O&`Q&1Fvmn$b zOOLk4?{^YV^zS^AoTh+`%$Kbv77H6yH z!wD!RhgC6g{@+4W3#PC3_C< ztkWZ0=LZ#n3dEWo9&t-}AUcjEIJDCwWUIdOxN%+YE9Xnx#QcNFxUk_lQ4{%MjKYPx z0vgG>kF+jQe*9kJI!_D?d_0-sx37AZ&U)gMZT}bm>rjM8H7=^lC*QisOhM3ZvDBgc zX&?N4Gj-wX)y~D2-FS6S)4iWaZ_s?7t=YX@WVRCh1qZreC>dnivfn;lZ-}|19L~P7WbL9xHBB&+7H#n<%VN<01l0_lhrEm;yEUCxtCd-!A3Hc%HKRVCVBN`Y8mc!}Kx9ubF z^&c8_b*QY-ohljj&nIO|ekz!Gq1VJ&cw=)of@p&vm0TdmeJv;9vs=LP=|xu! z{I*gNz|H4@;XdHy=RsdLM4aHm+ZO;90^1*d7y>rdvKv`&9ZE>SMVm?P$n%QNmS&+Q zY8np9tlppL!hrV{K9GQWzk{t0DZu|NvmPO!w8vKq!b}YnySEgLfWphQMn_0M-+_)X$vKP9? zH>a+15txFeI#CV>llic`G*iu#aYSjCic|a00o$-n-qTj3E_$J;hgKOGV`17p?9p%$ z6)L&MU3;G#1WpY6eaGZ4GGbTl{lRuzJs14}&*Pc_{`1lr6l{{&bXlfKwkuv!rH~WI z<7g|$?{S35?`?H`Bm?X>&eXLtdPgs*K+emb@p}ida+%c1j|ZV$pMu=c1Z~qqn0~$&@m1upmW32d>UFI)hu{^sMl}g&- zJzqbZ<8(U{rBTD{9EABDiG*qn99gdDxR7oho zFO9k2$1t#rT=xYZ-KiX^*W$a(`EgZA(d9W zxDt|6I?89ViC6A~-|Gq<#(1UkeoYZ_?O$P1N6k{ zF0>aE6zn$q6AWdcl%+_O3yf}WyeO77I&SqfeB;Ye)D_dFuBmRmPSpT?9+L{f4`l&= z2Y?~Bnc&BR#{(bx05zd^P^+%@xy&%JUtjrw-gP_I+cVk5S0?-CW2BAl4vv`?y(Hcp zT7v#``s+FS#g<_)fw6~_^HP1k=k2y7ph+zj(((L8_NX9sAkD>7syzR!l& zeIL&fK#~K=W}PGs>~(_VzgJqzeUd)Ovj}-FeLs)bc%olnN*ewm=ENsqMEGok;)dC0 zcOOx^o~k$le!B$=XbsmBEo*S(7~EtJYQ7CSygnlwO+gyo)9k@4zvsKc*yhkb?2sFi zB0)DpS$8oJlr>@|RrBrpqFXziN91-0o8tG^H~Yo5%Y@RxY_0j(#;r)}8M%#cGK*G8 zlh&gAk8L9bLOsPE_q@OJC;}x4LMKzyfE*DY+a}jN+yrm8p2;pGZ{}?85rOuE!um*I ztS?>w_s;9_i=Mp+oj9QtRT->d;ye2R5#ks#O6xv+Y-`iKkMHVN;p&{vqw-E;5EYodG8YHx-uQZN3m>KGW$Cayn~sUzz-* z67RHc9n1d3+eIiSBKOoL?E|69UYtp9KH*9J}g`0 zR{v-_rUj}5;xXxuqf*#{uV(ir405*APMsijJ?}fMT}T$4Hvw-`kjMQyxs_t6ohxOa z3TIfKk!0j6kN0{u$uAMdJ36SJ0joALC&?(Jgv;&IQ_|Ge|HND zi(Ib*FEZX@5_S=0Htf~go{5W1lGvE=HEBsHG~kCqPiT=3C}1IGviaS>z(7;e;*>DB z&YZrv&ML04*o2Ld)kT`P1c!~j7^`BhxiW*t6oJa-M00*2%&(@iqmwabCp5@bPX*3p z_%*b0#WM(_(;0Um;WFIP%8ZN3m*~}h$ta9Lzw`H%No7q<_x*~EnY@=*8!nk0E#q}n z?z&5>TYO=D)~bPxT@NaSaji==hgy2#ZU`^Q*Ux=Pl{RC;G5t9Y#v_UBOGtFWLuT{G zN5HFj(TLugzY+0y_=$PkUysXs4fylGcwv|_DXmxhRLh#*L3qepC<`m_-%yPFgHf0t z_%Q?BjO)dOqXVKMSd>C*R(I;(8O)zv|75wVG8pQX_HWhwQ{c_--wdj~wkH8Whbi-?$*->aoz+-M<~S---|Aeq zUZ>0h_^q}pp~W>HqgN1Pr3x0U;sgZu5B1Lq4a3JrWJ-K&FY8FE(X-%#Ck{0ug}$h{ zZ5_`?^<=*fNc33ch0BtKf!{_1Xgt8*8U+xQv&*8fWrp)B%C(-~W*vH-P8+R~sG|c; zW2G#1HL}cq28vD@2tMzon{>2}4HT&QvYD%BuuI+gw2tQH*z{-!aXuWGw6LYf6y;~V zETTU;a%W;Z*t&3|n)swADrx28;}90B$UwU-lcT=O1B${jYjk!yjL2VjXaXzBbFFf= zn@ZKRk>jxYq;D{W2~B)-<#RKx94HcpS`YwXsDMUPv7$Mv!3IJ3#rk-(p6d4d<5~Z= zdG*C(DmnJepX}s8%sT8`fA*iWBzY(b(S%_#DPShZ4e!je#(AEKJRG{bCRzI13KSx6 zK;Oa+(mbg|k@uTQxbJnnK?f;mX_{(k(7%>$=~|eQYllECMK9wl(iuLSvFU~~_>%k?%ytpM+Sz*4=s7r_7ZZpFSqAc^|8XB@#sSdD%6?sSSiK1hjVj~4kMU7l zaZ)8}4z(OX%9XI+=dz+lih&cgd({@Dj|e5OoblXei6d;QlVaCSTxU{kV7$c`cPX`9pmL(1s- zr7R*GTG&>ch4x#oJSl&o`0k5f(~sq@Mm@nN-^mdYeI6GKHmjltT9QzBrK4}vvvhv3 zWP`tQvrh9OU`+~wq;0Buk6hck1#=V^=?9DYX6eZ6o=?EZB-#_00*rmr(auHO`qD7^ ziik6ztClla_=dM004qbQ+H=+S$1oI4gQvZq7b_*;rRnCEOL#hD^FN}&R#R*~(f-Fys*EoC;6ud#mtCh4GvX0q%B_W}m8QJ8Rb+2So?H!2J5NLbk6;9-Iz z&7O9#`X9fe2v7T;_$j{j?_LOYJD6_qhcRV$zf86&NuKWG$(5bsn(zDsw!ZG#i0@8) zPV40PWbo~`HTe|3!-c|xoV!20Kn4F!BwGcigs%9i`;kW<0-3+iP4_2MycxWyrGA{5 z(?w_d5+J@67L0z6oCB#A0o4%l)&5^)%-Y2Iv?x^+;#hOx#wro$SEyfsoN%xf3$~0% zH&cWed+(?A0X(qBMa2&OhABPy@aIC)NloemzjVb_$)9)I!l#aUod$=N%J@3@#4zjH z1vb@lN8Z(Lyg8iuO44C=ApiF3y8bSM>>4o0Qnql?T~rfAV7-8+l9DTVzhol~jByOv zP%sfB^xGJ%(evvWu(%9N!JT$SL?+O3}Ie`^_gT-Nl`~2F{@%Q4YR{SKL@?bf{Z%Z zTB~k*iQx^!CmS@QME+MRULA<$BWv$3Zp#j9>xoM~`|+nNeq8T^ai}#Q zLMP!k6@0pn8W)J^TEI`xJE!7X|@N)_-tS`!Nr3u|Aq`b3c<&k0rtWOysc*`b}Xt%Ax7{Huy6J zcjlA9+gE)G-ha*S8AR!ie^(xQju(!{cf*uk-?E~1sN;RooVYVdX$tv>g+y7qQ!=!| zg{j&3*cjzigkb`oE3Tha4De9B3kQ&DIVCtMGql)jstFQmyHux0WSmidq6=}oGd#&z zSNAi^m(IyL;fHG5ILvHwa;>X1U%dN1r97`nv<#J=t_Za;fnL3WPh`F0yQnq)#Kio8KGhm41eI7zHVU^IAGtnnAvGu3%f%G?st0UudA_H|I4nbz89piV;%H!9 zO}y%_a=O^Zuw+&vUMOXi^Jt9py$_|cu|Lf*E5ZKW22qFj?UrF6cw9|yLWnxJ3zf|y zt13OYsA(_6Zs+-90@8Whjkkc2{r6?^RsHU!Vry=sT<{HK&%j0|U^?*mu&z(ycIFQa zKZy?$hlSkLF8bWwfY4jMozKhNdr<3mgCE*?!lolThoYq;w}19-7LRl}cfc2!YhN+| zxqQHHoPw6sR0OWR2u%2d?`B0dHtt9rW!b&qDPC=sm?*vs?BC-QtER0H2<&Vw z+VsV0_@Q4@6ieqygi1`GZ#fULb-XXJ{2*f4vRQjcHZ(#}r<`UBOB(~=UDz>i*O$YB z8ybBs^FM(xSfZBIxJ@Iv)(U!@mzd7%XxCYx2*7Dv`eJE%^Vy;d zEl1O>j}02-?8z8ncJQvKbLu9!RxX~+9(_!Y6DT&G_zUY2l!&h@rfr;rdH^dWMuKUF zK6Fim_w^?^kHdX0QcBxjo+<(~z%O}O@cBc4b;R^6^{Rj<6rtAo-G!b(*@JzD+4rz? zqyKRM-q!p%5f6#ZRx|r&WJm1s7Rp)D1caD4rRUWw3Bn5Z5 z#8NxVR>Fq&g(KqyhXHfTJ}o2ZTn>--(y41h*5_HD&=^1eWy4&n@zrxTh1%9lt~c-{9GdaPKL=C~7jzf|FxCpy7fH~gdrj&v%ZU>g)Sc_0HCb)b(wlt3Hx}*i4rR zYSvTyum30H4n}upc*_#eR$RTUzkYxB#A!iRlo?G4zE2fC7Xc6xAFf3nZx;ANPhG_T z`_(dv{6`LkMiqQsp2CncP(^mRtK)DbCMdLECg!D0Mt~kZoYF-*Xzs&oQM2MaoU9Fc zd716XZA(u_nJd)bT=aa`bRdlT+QQ*Le8Mtb?`^-JvTq0g$a$PTZy^+JbZ@nL{d{R8 zdn66+z2T3OmNjj%g>Hnho6*tH#KezZg0tGFU)LT%X=!ORXEW8Z_Wb%q$s$;f-3}yE z6ZzKF)k^KlC1=je2NUb87*aOmJ2hzbjr}uzY);m0$0h6bK2sVt=b;`=u%8v^aEiPR zL3WK3!6XW3&@zDtdHq(HWIXN(^GC9~UI*xhIHkA@8(AE1eX)#x{&Z+W zxRuj$P>FgFe2>{RCw@5Bgua#-^EKo#yEUvBMeQGH4UMl_weq?do}G5=SlG~?KCUB1 z9&WDFbNxk8MktBNdNh;!4J(6N@DM&TqV?`&0(uOx`qJ6_pKp~kLlO(Sd+0>a9GgMT zACoLCCrOJBTP(tpF%z48?{_4&;JPeZ^=Dn3#||TqIojPwUT++XeqBjCL6ju&uLz|% zRb;#h$0jE@ShiRuq;j_Ms7E^ZhB(B=%mBSEB1V^NM#mFb%n%mc5DvZjiwb zA)Fg$y`Wfk)&VTDsLyux&|}ahRx6B1iqL%_SNo54NqjUk9!cc8{(l!Kyoi>T7HjX? z-#zn;+5dYL!9_1?&eE(;HYeN<8xYjw;Y>bX>XYFogWGxMl$)V!9@H2+F#aZ zWH(nvri2oNyl(Y#3ZDR(U5AYF~sZzn1ELsRU7VD$wg|mqaj&#AUlnL60S~C_JYGi!Z-Kh z#v^pE2ZM$O!k8`nn=TD^Ysa7Ok6fh-O@VAm;tTRJZs$VoOZ)B`gi2&L7j%(pmpWmE z5l*b_{Z~8bzY6x*P%J6XPEqJS_I)vsB?EkVn{I5hZi+A^^-p0tU?tj9{XvFl zAwP3G(lelK1MM&|`uDJ;jw;y|H?&M{(W?5Szsb;ZEKT!mr>5nFOd3xwdTL)an|b(E zz2)uQNj=}rY z;{0iTaZ2HX7~Oe35Ag}E03^mjm1oXZjjUyddKuOmE#6<7M_J(u^G^Ael9}!dm3wtPo{HH8JIF{eA168{fPOikwyo3roX>Gd2iq8DA>B`ONyM{D-m}z5Q z%lnO31k$a=MURRjfvWi8j$+2;Iu{!eD3{TOLcN@hX8fBn$6?i6Vq-9PoyDvfjS31r z;MbO8_HJ3SETy|L&9KH(QX~Y=7UdC4o9Wke`Wy_AIhflYtvN)0PgnUGpOL415VO%P zray-W1Va+h^~LLYO!5x zwisGzq%@g2dm7Oig05u20)G*paG?)`i1X;Oqgal$(L%4~4UDmUb8p1;VQ^;l>GY?~ zP4vth9L8#M40%>%B8>H0fsPAJg;ig~!$xv;)pM?(Ye(W^7GpPm#nVe1DEs?#AJA>B zS5GctQBi8~gGhMiCJX@H`0Gqe1c%`2jpaDv;G@|)?chv8&0-prQ3mplNHayXY^@VZFFu291gnIkNG;S zfd<=-P5Qcx<6A#efmWEpMQ>&TJ(Tchk3hrxlhH9vO?aVpkpMT|AKg$OXGZ3WP1^1` zarH;&%BuSW^TPn|zjzJmJ!;#`s$E?_a(;}4Z3F4H6HzCx&xw~w6(RZucI=XZGGF9 z6|vwYeU(Z`n-Ml7%MUCM9X~T-3`>Rq+}@vJykyQK&-l!bQ8m%HwRzEKdQ=UM>jd~< z>v*&14=2J>F2L>&cq1qRQ-TF1`#M(!mCa=t0`9ZNqK&4lFg`6>CqHhbuW$oH?PO+0 zA2z(}6H<;9hG+p;L@syr^yzdFF@qSZYV74(CrPPk@&G% zt-9RAM7WY%ydJ%b_OQ(GL9A9Bcpji3n<1OrdgF3S|B;? zn3F;M_HPs+u4Qo-+X?KK`X3Q%@Ap-?N#tI$+NWbb^bHB&?&v==YB$)r5ei3W?zh^_ z)r-C4ZT7VhRT{jXJ&c`L+ssh_!1PIG>Li@tBH$IiQg$VEc!Uf00+X`v=fax=3ka=Cm{4)K>Qg*K~2BnB-$y{o+sz zxP@qtVIt6wxm-!m^LL3M_F%XGU#*SR7I($p?77P^lqq%<@z&Ko8-fE+!(_zb!S6Z8 zxwiWbVvo1q4vM_xNnwWse@0w>JAH72nwRvLH;MztDg?>>Bo%EX7l8Qemt49Dc|fY$ z#cSc}jPPESSER7`z-(D1Hq|(lYP=sflFdsJrv&Y8 zhNEPWNUI=DVfyMeT=UXfbu333MViZ%KgjT5t$7{zPEH%C*Iak9`!PhU+L}3(_94kE zP*{RG!qUpBTzO=|n0ov_yRD`MT_`FliEF`b9xMS9NR+#Ghf>%XB+GesyH##HHwtiY z)7dBJ+Bf&rJw**II_}He7E>SrpZn8xu{1kgdlgak*A<9Aw)xw*snpoE$FQE?EF-1d zs@;0|%{^bbTPrw!%w5Mp`)H0dpwnR#(@TVIGWFj~!%Sdo$9AB?ecNT)x^t>@Io|{C zLj+;$&bsc;g_(iFD*F>%q2@JzM?~o#A_l-(p#AbPVIRE@BcB`($(l0_`bO3wAtza~^~$E2`frm~U>=_IvrI!ks7ceayLu zC3*!8h+}hwul*$H&}r%XfT+F($jof@N=351kg)Srv+5s*<@+%2*|h=))o!wMFXA2% zk~)kdXchwJ3eh|OgxDBt4lCBi0n}bx|((^LALbPq)uqE{&e=R>8W*7vm{3ekD(k)PN{*gtRc%tUJ`_F*7S>ajr)Z zt>%V?11!`G8mL@jo*+EyyXLbAcNIg;N4PMx*Jf4=Y6v zXN?*F=4Atzz=gl#PzSvRSrNnA!U4ht`EFR=5hw7NuM{1)huT?KKEl`pJcyu5TwE=%l#HpQcbbf|Yny02Y^*G(UM`!5VQXYslQw7=gx_STI6x=&0 z)}j*5Bp}zmoP-c+*{>$uFMqQMrf((UlLs(my{f@U++O|>qSpxnR){29oqoh-pYnNm zl3ZB2FUoC>n_$#gl9SSkGl^r8QIvjr386a0aS1CNas1Dd`V{U$VQtQt(4id$3p=eM zt1vDqrzJXIl#$ycbs)<0L`Yk%xpBQ0+4SAe&X=F{+9tt2#Y7;1*w=38Gi`D77!QDL zQaGqLQp=j8WOnpN?n%?<{CmwRdylENvwN~{0WUrrJF2pO!9PqAXssL#`)3udDr;$T zpsH90uyg+|n_~Id(w`gHkD!Ye5KR%KveR(=7->@vfq<`VI^3u8kOxSy*Klk&yZyi&4y^6k?GiP1& zf18!an#@GG4elGiaTkPC6Pi;ys=38i3K2696o_L}J3bssg}MDTu-%psVDb+@0XPEt zLG-V&)WZG8tOzPTHYLBcWBC&B6udfm%|p+-ylT4VDo7I;a1d2gHxzl>rEhu7da7^m z=m|fH(_0Agl($@-QuuMw^P8a0L|_IZ|8f}8dk__q^WnbCJl1Or=yp`U8v2km*{9By z>)#Uu^!`g~XG!v`{R=Ts#F}t>)uPs68h^dN*QUZFBrnxceoD7tjAEFk^zY(@-&NMy zA9;Z8LrT9gvF_OT)+5TVgeHb?X-no=%8{kQPYFr`;~!UU_>lwVF?2ZIi#S^iRta(` z7*5;-SgN92@k1G^a@UMpbHy{ii?Py|ED%m-(m~PTrdgw$1zuBz{mGin+lGdBq|nw^ z5)KXui|F@g*5unZo7ZabVL5MjL`vb_QAM2z-jiFD*0t-We5u3h2G*mrEz0o(%C#!MY7MnPhuU*hpe@N zi=m+qfIJQxtfG4Hw5&b{@Wj8os3qeuI+#EqPrh)wPuKCWNdANK?y`#zmnC_H_W*H@ z5}V?hYsL2)Mv_y-H1L*%khEH!{LHYrD(WGfdD&zE!}ZDopf(rN(-1LSn1NwnXzMQp zTM2M3N4~70d$%Dt%3$#!y7V(0Fe8C>on(_%@SAiNKJp;&Nq261RJ@eFuuy8R(f!&* z38pQ=k@0XnOweV%n(`N zY1ze`GRjipj1c5Ac{vd%pDZJnm=$5!sCO@`sGRQq_6s2-)omNpul!*xXW#J^{*{|B zC;UfZ9)K5Bm^xo%7B8r+8s1aup+=~}lXcqtK8+F|D-+0smuB1)V!Y-l|JW8G%w^X9 z+|FFd{6V!mxdv^HcLGb@p>zIxKvgzYP%+L&(V8>EL4Hztt~=^(DcXC(bEJ;tG%^A4 z^I6+iho(O7QKS&#@v2mkBmn#n!jz8dr6ThYRuq|TSaDsk`fHT=48Iy5;xj*-i(>d%um>eq548?P$vfXv{^aJj0=G z$u9_}+c1oRiE*0V<4I@|N9y^e3)Nj5z`ybm4+aCj-~nX-2@_O|;go>T)Dh;tmt%{$ z3WI)o*n$<9OZ5s(0>BOhDK^8c0f?f4e=VQc!-gpNOrTM(?n%Mb6JPD;Y|_o&BCG0y z;Du{5@VyaiaM^nb5t@f7?Bz6MD=JJDOT0#*(ZnQFIJf6b`;S%-vDf#suc}{a?siu0 zHCbTFe4h5@8V@Y27v-@h2B@0Lf-4Ag&R)Y>w5U~7bG=(jrrTU5$ifPdJr(=_7*c3I z!{zsdQGQ9IQTz&}Mu}jbXZxg@87@wqcJ^CgC+lM%qU?cx|M)m^|M$PWWsyU&t24k& zc=rPI22PPfSvnW3W(*D#hxt)=C4P~IcO51jBlG|qKqzIIZ7W|wIEz%_)+ZoHM^nGu zbGp~-CsN7i7!_^&$LV7I2t)KOm`nuzNJ?iQ>vii<=Lq(2jG%ogi@`*eT(#WX1wF|VFy#9nq{ zTE`b{gdVpr{Z=Gy3fR;hCMEjGwA5*vEG8G}QBqFfU8T^%{uKQYhmU>F{93T?#AV>M z&Dis;Zgd>2wa4AS?~gxDPf}|l;owZ-w2U702M%nOqjjSAI=M zDrtRfc}bJ4y1LciX!~mne%l-^$Y1tJ=r!IR3?h%lIoZh3MnynyrQH4k-9H8YCI$>Q zf@cHXvW5kRWwo66y}CFo6n1l2Prt)(=(xS^U-tK$ccf8E*U<JT8lFlEF% z-{pIvzQ1aPN3u!^Fl#3Z6b){WGYiV;iF@L?uR}b;%_6z%JU+;j75f&1? zi9Db#>#HuLUK&LEweO5K6l zfo=2mC#h&+uiMQHlCftzUne&J>ww zKRwMc)iUxsZ0g%BK1pxSb9{gKXLi8xdo5%NEL3D;DuJJ-gOKW!i9alfR-JwGPYxYt zM#PT`&NC-;)s*yhoPL;7TO1-V;7v@mipWq>-a9Ui%ZGU!R+`)NN%eU0Di_=tP}|^1 zv31TJR%pphu)g(Zg_S`4QEM9y&d|he^5gfw_#hfJ>-l>fb@?a$wrsE7Bk@h z>i#pbX2v_ZF#q?*MDAS;c~i0`Y?#SJ`HT7U4d&WInjD0ON@r+vD^#GCPw;h2QJ#D& zm>kW-XGMDjWji!CVsNQ>y}mjqX}JD5Ymuz&rPjjW!PhQGaFWR&z;yg1F8T>KwsY^P zV@jZ^a0DdcM%Hy{`rcRi0A}>qiQS(4zWBbz1(x%_W6ld0;-HGU^SMiuh-)alvAEze zjTUS-NaNs6v_+puK8rq*U~iAj(CqP@n8D=OjP&1SFo@;(7OpWtu1Dbxu$~Nq&~bZz z#9yyvyN+ZZ%w58-cnJAN&~&-{?>el$IZd#mzmC}YXnW#H9(!6!vFI_O zjJP*5v>{cEssk;n+r94;qcW0%Yio*dyE;a)03tttI zN293Ut@7SR$HigmP_j_5{(dqbU0$^fSTFD)js+$pR1)Gyxp70@kZRs{$~``FYEI-U z>iG=_eCg)4!{a7ljr#RN(y3Q_j7NmPC@-QYAo88b^0OM(Nl$CGXP;S8BcCUwH;K!T zNEfd=8ug=h7ec{BW+WYbaw_5T0?LH@oB zl4Ahhd@yc$axqW-tXrF66i3SXU|NxpZ^PG<-Y&R`kD-HhjJoX`ziI3*O_uHW-`HH} z)2H`4^7_K-4;VA;$#b^;(cL&UR=$0&p&~kLVE0U9i77r5_gON50B-C(!gL06Gyr1u zlLu7aPb!AEx7;yj%Eb3)r%vn<0I&u*3`T1j=Id}YQ=E+MaQtL4 zA-Bw|BI!_Q;d>&LO4+$(p7+C!+bFOH;)KI>{*$fZi$#Di-Y}+7>tysMCr2QTJ?qms z#vKaE(?WxdfUZ=UNT$J-mi)v?1j zM-2J;XM1bXLU=+5DSeaw)}X*LVSw&=UJwL1A>`J$-1@iJ6rje}1#uX=)zAx`A8X#? znr;Lrkc4Ka_ny4lOuXRGo#Ocd(dE|i`{~cmt2i-|ONrgC08P z>E!Yr2HZ0J9|x2QyM2eF`9n$B#spF&dw}Y`dFi_I54r5&oV5mBe&3(A|8(GqV+wBb ztJ6n~JNnfl+i&#MP!@t2MB4VjwJfUzva#Tq<1U6Kl2I7rgci9{{*n)GKI5R#W3&Cu z`;U6?hS5X!*tRl$e*fdn`LF!*s)H}M3jk(avfFVT7LEO7#{~t9(Zd4|*{gj^x-_j7 zqNpo8Dg&gkbk0+AvxXYf9lqmMvUuWg9N1xty=GoD;l&pVE}ZUv$ewYaJS7TnUUZ1a z)WMNyKzBYYMEx7+qqaJ+s#uK)-9igp&ExVmn)%Nz4%QI76o&6})uO*U+i3syw zd^8OpkY^sVV|&gFkv6XiB0Xhd0TX}|9=iBv?U)sb*hL+HIk6xRdi>_mnOoj@-GgH% zefrh%&Ab2ns8i4VMRm6-C@2A0Oqt2ySXZpah+xga=Ehn&;a?{m^qZW!qyIJkz2oem z-OD`?rp$bP_p7JoZBB+5KlHD!@l}J|TVxUfV%3H=^QPuLtOxD7NfDbmIRkeXg6ijte>HbNL&VYhY@Rtb zO<5UP0O)vthc^12b)<&Y z&>#{*q*R)qIgnl`zVFs)%gJ+ec0e)WXI$i@4z!!`+5D|`mSO05p4qa~BAbL96<8^i zF>E0%I5KsSpn6uMIYrR*DXk%hsXkpXZXDftw_5zY0{fs8*w2gzZ%{)=o_cPFFJw^? zEb71CXG0E4S5){ydO`};?E4Z#!edroV}ULJphT9*5@UcK!~(k2$4&S-5t+Xx4Ji^5 zxzXIsbhB1cC`X)h6xo*OPD76{&Dr_WOuS+0l!JPdu}%I%1O=8%bKZS3XFZ8tH(fro z5&%iti(}7oyz!vt&(FU1=wDH^jH!Z1A}PDK_!kDpMgbwV4j@4${xdb{@2Bs5?!(c` zHUJ=yXa4JxzaF=J8$_u{c(+m4_qqOv4|A>36#zNr+XkNsu zG>MjCUQC%G>I6WV2Wj!rI7+~blve;j6AAkIzn5%%Y_7aG>VNZYJfyQx{E1AOPz_Bc zsJW!?Y0I9O*Y3!x0K7kZ`-0XjXZGu+h+E2aY5mw}bkO{%@8`@sa*K*$OI69lD~#~d zce8?06O7tt8zchQnK>z@$3f^i_IIM#E+*4#2*3Z}j^7@1&I8L5Ta{6reEN;=UpH#^ z_ED?P-k1(Y7L4%INw+mvL_5Lcq1E-rupygL94o7j3 zu@8n(x;c^>Sy=fJ@JI?FJP% zICP_l`@UaNQc_V-5d?wBBWk2}qph1I{TOTTVtvw$3ZI``GR^av+_0cGoG7w)1jRy>L}F!m^4F}#vc($P@BUq_}__} zH?#{62Mp}KMGLwvt(Yi3O(ra$Zo%~2u`fGx+d5XCH~jHLH*ezj2n#1nD7dhXVFP+> z5;YIv7Ft3>x5WMW_A3Lx%K1|tx#EPN!(Q1MIsg^mxPMLfg6|r=dwb&8p3YUYj)E|F z(Zq=bXZffe&|@jVNa@pcw>&fJf2QPhN5JIp=G%uS6kHz_Q*w77RUV zX_sw0@&sv52q}FNuR$aQYw~^2dQvpcKZma9B9;a9ilyf3i3fIKG7&X|I5JdzJLA6DD{|L7s&9J;W+jc2 zX(qBU>a;NVmk>`+Mw!`?LpBAi!_kb%l-MX#`s;rW+wK3xewVe-1!Gr^sjke(J(@{? z6%p-m+V6J1>a8ic0qFpMzr8T$m%Hq+fselh!C3aui_gD1b-{`jSTB^d*}V6F!w>AS zSylyD6gc)nw{923A6uE47fz4rFqA3LsK zp$&Tt>DMtYxuv7%Wa_2Ng$RH6Vo`D#4+HvcQwpFsqE+TdY$`_7eDuQ01s6_NA8dSu zvdfZ=gmQ`g2@{NjBM^f#^{x5C013%;OXq(v{hgQZzq_F#T7B`j%g#T1 zk1_#7&1|z-E#sovvWf4p%1+zn%o#s#S#rd)yBi&j;^1U-hhuH9W(!JdDPgm=b9oe}<^V5V{0o_XKjhseT zZljl6B7n9ya@1R|9I~Q)&moC_eWS7|Q9{c(3xf=TA|Es_3&>(A)h;IskP6Mw0McYAlF3#VwocZs!=8fK= zOOQWn zpMR~c@G^7Mci%4fVRa}G#o?L{3?W&Y;9QYPt*TwIWXYm0=gpix`Q2Cl^}>`?eZ~_b z$$_We{-<+C4BWY0EYuMZCj|7I<8nA6YCr$qs|^&<&r(ainZJCs(xme`qD*clMPYqy z&B`T97A^SV;~7)li;HL>2A*;IAI}*+Xyj%JOM(H)Mp!Pu7@h0y~-Qmh3Lkx)d$q`)AC=Xo-%YPRoG`QaSSwnxtq zBMI1S+KgpeY!!x~@B408R&iiv(yYK_6NmvUh_qrR!~(jBJrA`8RIq4q`2!E|qyN>Z zwB1fJYn%O>j0v{!<}%x@1#zjc<)LoV_FoM-^y_~6DCrpi-G+@Pg>L|!=K%dfy$<@#;rba65fA$r)^H=$^6=weJ{ROAS zZ<`x=gfC;+Z4d!7A>m>DvG&B&VHur_y4(Nb*`67AV)rP`^a`{P`KhkSh4r8 zgE97@`~^lH*kc_Jc+J_!?}#-Z9zX!oIICHyv&>saZc$pS7wE*rijIl_n)_ixuG5%# zPWMjdtktd(8v0Jv7oL6cQHKuf+ogThB2h2?T5Y~zl8*>8n6Kr&1pVmEwSMouW^^y- zJm}|s*pPQWW}Vw(>vPw2cRN*Ic=pLZA2N8)ZQJI~qO5eA>;3##6Zh;wo3oeoozyhy zau5o6-3gyBQSsYhd=RZ6rK-cx%yBZh!?89bv;S$W1^F7vOfU0fD&+$zEkbB8>192- zZvNpMk*A+#Z4lVx)7j#ng8|sscE?X5za5j4q%mifi9Jt43x)<0NH7!_igl=2P^_Vc zfDkN#>C;N@x?894~49Th?=j`NM{O*R88ZCiYxf2|H=A zV%%4ZIBxx0>;hIC4}!q>w;fQ{wSVV$a3c$D)k8HaGjkTM_>Q@4)=_MvtsRG>m^c~T;aD4TB6f`;sg&}B z7b+!)6oiC;C(8U_*$&$n0ljf0z3t~;DzM}X#rZ9*hWyrKGWgnJ1a#|!?#JU^nOOm8 zt&F^`!W0w$EtIYt`wZ^Am%scPKXwr_dohkK@hDlDP|}lIAfQglrTg#q#SsUuZrff6 zQA$En#-N-~G6gNAFYx0-%#dx*HT@3Y<^#BW-2ZB*E`K1>MFE-%ZNB?}x zrm2(y`y9Q0+3F}NvCyg2E57_<=JZ!z%Pyj`Bzo==eE!@1-L4sR@9S5b(z6W^w=0TD z5C9Zg)6ZE>1>w zIMxy&gi=wIC-) zTu;g#v(`eh)*vC}cZ5D>APZI0gtkC&8`nDBD|Ce>#$KHc-Y zAPDRftCbs}9DoqQ_`q1L+zzLpY}WgQaBxDDVZw?J-pKcP9Nn)AkQL73aI^wsA_-l> z*N6aM>6;^}ugG0t{yn&eCbu^!M+22+!p8583e;+aW_LVh&QkXq8r2u??)9E|kbmN$JUO9i? zEtxcJux1IFT7AW=zyEr~IS)-Y6VH13g#{+I_M;` zSf%{lN5#haHAS}wEe{Ol}1cwcmx4jwqw_+zaKsEx-km|4f17ar6}`#Swhky z2!@fx0T^+-yu3UJf~u;j($Z2RqgzZsdPzx1Sy@?WX{iz1&2%fK2SH%6jG7Sj91R_D zh|Ni@(c0}Mo3K@|0 zNeE9#V!`A|&x^cS%F4M))Qo-}jBYZnSdildiS4`9+O}ZX|M> ziPUVw3h4F)HUE9p`3tQ(xu-Au{I&bO&Y703KC)j$vlB8Lj`fGgsXKY{Jp=E^vo$~O z`B7bh?5IiPtQhO6=F66ShHhDKf7#v{+P>lc+*8jzvc1sIyk-L&M3e+YFL?W(x#?a#9N2G{PJk}X4{M3HKocFa1|pR( zcaHFxiq@|a#eWdM1ZK79z4r<(=c9VS_H78s@rBkNkQ2?kSbmL_K0>kyfBn|t4JsBadhnV{mwlg{qA+toO&w{$R77obJ&{vZ^NVg&gRS%JZX4%Kd`DBx z2hGfj8!n>#cc`M=eq3o2IN5Quxu+3r4!q>QQ~x$Bo{;J9d2U3nv))=v5X?E9of{GY zsP3)HPRNS`;99}h5D%%$CJT6OE?ZR>A6Lt(-W`q>N(*~9IULOs^Yj)%XhA-tWF;cU zBwb2gi7$TGzKdD1@keXrye|_`B<@+b_QcsiwFzyA)$=IQL2Dg`VVJHDS%+b$b?7Z! z+V0kWwAt?f{P7a~`FxH=b52;YP~z{JVC5eHq}x<}F=FW3f4_0&Nhj59x{2_;KnA{$ zf%Js%hzQUg2`PQg6GXDCtgN)6+^FY91UC}7i8ME1>6Mk0HUb@S9#JEXoBX1_?^B#9 z)U-`)o7*m#(^Som`O0t3I({m-akXDgyFB})5daSD)80Lh9jzPAXrPRxPyRmF&PAfv z?dK0pOfa`ZvMUn+l5fidZ|_4+F1WYsYHMS@yOO`Xxge^a{PNg>^U~Er zc5Ne)rO}cd#h+{{0DuAmVwZF7e{@)f{LS9i|BSIqwaHjs45C9*-!9CpKUpnW9s;xh z?w3S#Q~q6Hf4fr-9FC&lywM$wwSf|Ljb@4v!br3L6v+2|#kCA@$N-ctR&7#VwX{~n zZ&L-Iu|cTXe)Db3Hd}{bNE_lY+}cTWLU7J>09HfiP=%~DL1mMl+yUF80QviXl_Mt6IX7nL6JAP5l ze0BQOr*-o4RGn2@1}KVi{h_ZPG# zNS$}`&&slnpt0jg_)4#uJ~2Nl29DalE7qG`@*1N7p>(=-RRb2r%>a9$&6vDm?mBLy zN%JLVZcPzmJ}Fc00RYv0I{ujkF4@4nI^ai2k@-~xcR^_P^GpAXv1jGXP2=fde;!wV z^Uwmhan}(B$m`HyOCW1lQkneAF}qe3`F;RUQ&W@k?vQ-TTSGKO4q_~bQOc{*$+_RJ zT(KG=T!&wle@G^oCjwr(l0d0@D%SZht1t6q6U-gB>>Jx4X%+DSy~WIk&^CW5%E@e3nTcQn94EZTd| z1=UBc=&-3rLdF*4$@mc=B0b#*=%yWPjaiVeUI7pUfyp2Wz)mzIjalp<$>{jw{+^ua zj-q3Qyt-*GJ(M#qkRu01{?5hI`=XbhsAR{fO&JXHQdHNveW&lzzA1K|TY*$I zVU){)>DLu<83HhB-@-|l)*P|>p*L*O;de`ywS99+=TG}<14VRnzb-$vxq=@vG+ab)e&SEn$8T1YiZr?p z+Vwka7+$->PA-w>K6~47ZQ^AB*c{I5PV_3*z+4f%hPtMX!%;k(jP7u(6IQ15fK*~) z;LCK{lZrL8U;?nT*LEG>pKa8sMxLteKc0m{4ndPAjcLZ@v+>-(Z3%=ZLQ+Sbfpm`-H`16kl6#Fbz&I})K^t3Joun51`dEx zyI^3^}zbl!~Lx zb<_~|MBs^)+ih#|%{Ts3ZM)!WO_18)yk?TD*&+XH*haVUD>{2ffoZdZKuyd5Rs>ToMIHQ)b40n2ry$U6|tN%xj-n{VS8?3%`P_J zYk8#RM8~vx;fGH>cRNqkNvH{ zV&@#b!`f|Mqzc_Kly;9$#~Kh99+9bg89?1@_x+>b@~II+_HHAPsH+JYghuoWvzYj5 zO1?3=FNg28Wu||9?S8`AAWGY{nC3yO$1PgADmQiT1|hq-Rd|uCe>UjBWPPrm{6Yh+ z)BT6+S+UN0VpO%=s^H9VFMqW1=i67U_aZ|eM!P+$FWj>_Zp<@-jBMI?1n#;Mzh8)S z?tR(vNL-n?g;p$|sCXxuSb*v$zwlJSeu(sehwN3kHU~sV{t(fwO#?;rrH^Wk*?z6| z@RMOyL{dR^I^@*L4mmYC)7cRN>wAxxC>EXP>QdXO`rdR<8v}(U#!HR7=yLeB7jR`Ve z?b+73?FgZ@CX!mGwaNaZ!n9TdFmwA?-oQO~V%DcgKNb1zZVQGCTeZcUwI4YE03ZNKL_t($kb*SJ2vS-Ip_m~ASV+MTLX?!0_`c7~CdNF+ zzlDg50eVtZHzDdqQn&ss`2xB*QOUUVeD@(|$I(Ox0Fr6(q>1_S{}BUY zS$pGAWx^a`OA%ij&4g$egfS6feEr`sALTD}#eg1by@UL!JKbyF9#!^cav@rdhKa?d zM8G4ka`FRD*A`s7=TZAqu>wiTSVR1H>0)5%)c5j@(d&M{cMmFt_d+(B%Qo%5cge%A z*0!L)+hcxpaQkL+FBjX&9so4Ld2f!(9nBVT)NY%vdl7161D}1jTA-@o`RlOL!~+5* zP(?EdV(6Sa80(3QA_; zK0oTe*2vb4NZlC!&)#*%Nl~Qj=dJ4LnN1`GBq*qWfC?gD21zQCRZNKYsb@a3XE^WF z^UmzunR5>4nF%ID0TWF${gEW68c*7MV4rmDKCdb+y8 zQ*S-*w<|XgimO*d)$8KvWJ&-M6yE7!0_jTDLVq5$+l$Ap+UV$=T(i0}FsL&a8r{HP z%aH4TM)RAB$X1lLBxPJ>5nK=)A%t=qrZUSCq70kc@7(a?uPV;pWi+3^U`^{*wRscU z2g2uSgAk=uz!wLBK}yFdW5-nl7fg!f`t`*xyueRB?XL57FDRtn;zoPGN-Y-y_pq+d z#k)m?OAZ^bxc{L}vItUH!UB|)Oe#_WLMamD3Sq_gajoB?t;GY$@<6#o6X@Dms8?tI zPPKDU9TjN5XxsB36Zoup_@@j1T!us6hG4A!eA3IYKpQ9a+qDs(T#&5MIdDi!M(CM6 z1i9b8d*z5@{{4kkz>t88&KErU)TJkM-zAv(GtlpdqtChKKXdLsbDwj^0KlC`AJTKd zXQSE^NwX7Uu!Rutk9&ha3qQGfbzCbWDK8z~K2^=^*RT7@b>e|tcWOd`by&UN-3;m} zDEomKL<$h@f|<`oL>@dybUwFxYa$6K&7N0ofXJGza~4c}JvVY>-@PQG4n0bXh2O1OwP^!ol#{H7Cm@MPTFP-8*Gjc$+i|xYQZ=YGTp1#A`FZMAH?_z@F$698 z^pp(YC1yx_x0`J)6SYH16D1pt>=XeM0%5PGl(&4_BOZ1$$X$|D_#05l(Z z)5c%U{&x8a$H`>M5=5lH#MN;zN-B>~{lFFq=-iMpxU-`$F> zs=9&L82j7FD)#$PVL;fL3H)$2XNG%R1?Ff*Kf98RWa$S~2UR+}N`7dUdj@`v&~<#T%P)j(P3BcVl?ghIQj<&0zb6 zCcAxYmLETPH*czh9M*T&1Tzz5N8w6x_AC{D{^W@~!sr9`YEFPlT(f(qRe*3Q(R}yL z&3CWcVygk48FEpVzfyL9s~=s5AgGm}e3&=R#_&EJx7K$hGec}#xwIT&S20A*j{AOY z1OPJMUQ(#vuCa3cLgMBoh0WS@ZPq4Iv8{vGY>Q?FAvR7N(f6Re3Mh!(deSr3N`^q8 zH>FOdYW{XLGq3*igS<%+x`}T2-G;7EfN*L3ie=^PJxHcnzu&MKQ{*X%@V8p3hR!q3 z?YsU0qCRw01_r+q7#iKcpvEA9GC&AoCdtzEkIE8MLRhwyS+o1jl@6_nQL<wQET(_SOU$V>%Xq+Dy2LEolrbwig@gCHFv%f{iy>2J$M9~G}jM_D&x?hXD)=5 zJ-RI#HgxSyEv2LcKt#5*^vP2tBmhBD08A`oGL^8bq|MAp%LlEeVe0iK_q}>-IQFk^ zFTDP+UGrQkzU8G#t9Ymcj3ioUf+kAt(p-?P^z>QAp-d8aQRo;P|-L zd7A#vpdt`LJ@ATmUd^-F1EBQ0-tF@Z#g(_N#d9uQ^;;|~A%`E*%3@~eF<)GlU90qc zPJ>;l`EA^qhpbiY;qt+hGd)by_41jSiPCf5do^!tx^Lg^jkoG|@oco$FMi{b&G}O_ z$ZrO_74Wv39WE5S<4B=#&iZK0BVRsN4|9d z6J+)^sgwT1FO8^d_SF1MG}E{5zSVIr3S@sM0YI+*>CKPJX`&^1u3ODgs))!BPM)zm z`-hbgs%lLmXo`96kjcqOW?*1YyD&7mfx(s`Hl+(hT>!X%u!Ng&J=#|wkw_?2mX?s( z;iYA5+@ZK+<%Wuju$5}GX*a%EgH~2ohlGQSU$l`L`;(4I7AkCLg&JgwrwX8Nh!0u zd6*p6@+_J_538RC(|T>U4&U%ROq2(v5Ltr=|Hmo!u%W>=2LZscX_IqfPB^%Y|54QR zflNrStM?83DjLRZiK}g?IiVYtuQC&q$odFH_# zLbkNkdUQcM&v~D`2KwEDXZDVA=p*0w;noA2Bf7>5mXSmxbIpAkBoq18x&{VSg8+ba zKTY`|r)_n*u3x)C{jmz&SJ>D}0b=?0b7CnhdH5l%V@m7(CE4s%U=9h7<cXC4q_U#;Q z7ewXU=yvt6Y8KmSJ`*mtZO{Hd)W-JP-!|30Gs9?wfJL)!Ek||wjNZG|NFmEV`?%b= z5nZe4A2Nz;?;54d>+&%NLNU4X>qxS#U?j6_DsM{{zIF2Y2n13pi|3TrME}^QeT@{h z{PP**#*OIObZfHCcC)#|dftIPvgs1cjceDxD}y$~kBlTRg?`Xro;P(nc zqZ=6104VCtF$hn{gd-I@q~M*mTH9f_7BjLmdWu-zY98Ji1m@M60`X z`F{A|^(}W10wOC=u1}g0h=gy$B7{gLlZiwEz6ML!{9HQ)&8y$y-KL)=rr#3&t-{9X z2HPbzd^P@^9AWh1dUY?Lt)$sFF;$qXc z-F$p;Wbtc`jv8z^Y$p#v*?h;AD33wRB7CyjhX9toKPGOCUUvQwovljc(*#9^q^v0- z5wW+2nbwwf0!}tlLcR|E|bZmteN{KDuK`V8$*T}c-JeiLG>`QWAe zqA>tq+gsCGLW)t50iE-0sN@E6zJ+Iv!gq>mshmlaaICO1Rs#crx`3h44Gd}$dfb&# zxUM211}kPjF>^wQWFoO@w-(ywElm3chR=aDbjjjnRyoE{VQeoJ>tQL9aClgxg_(n2 zC9p;(B8L?_Wkk|-Jp!FKZ*KU~i~RW0ymGZxJa==f&cl=MU~?k&n=AhV0O`jHpe$wo z*01lvBMx&5i&&5)gd!w_1Ry0bXL)b{QcBylZQBl8od=35Qp)o5TfDjnp{a9b)<*8| zTTx8B#jK>ab13!A%rQA3pDV)2Bs$&y_oIAT zFYHAv%M>tkt5g0pX7=in9-ImQef~J+&f7+HO2yCD8yIXU@(x*j_G;`$R^Xc}`eyh$ zPruE7{ku)ElxH8cZv{&0E?9cRw)4Yl_ucTHhaUUI?M$LkyRJR@4>;=ZA%}L{kywBf zAtdynYe>$T@8^8*-a8+B{Kd>~W-a@TH|@~0Rg*@0w%K#9L;CbRXumEk8+!D+_fOr) zP?QG-zPbCvju(urJZU|~UEgjvuU!$k_1U_1e3jTBZLy`%0qG#jko1p4m zmm%o4&mNx`?@I$*yx&$Bya&ygz-t!1`Q&4dk9}qSuOvZDns(`O^pH`<4nLqpo((F~ z`nM~Te)0Cpc_W;D$MoDP7TsS(uK4Wnw{qNx`?$Qvu3K3|-p?85~Ywm(y ze-(_T%{z4LbL60-h7Re{LhpA*G&XCc>H3?jl#FFA_mUnA}vCAzhR)|Vlf!wMu0^nuaH z_so9uoUR2Ts1pE2`p1u6zWMC49{M7_8MYXhj&Zp2MgW~ozwg;Q&)%mHi0kTZ!}aZ| zdE=*VqoQjJKd#P{*I#WlvX90eVV(R5kJz(Owe-u^%$b%OSbAR1_K}>J$Ltovdisn&$ysp zfvCvos6l;&0t7PUH_`rGT6o=N^~XUX+W7VKH_LCLO^U14L>c14He)xDdSLtNWverOF0(YNu_%s$hO+U|>*F zFf_V>K@C6=1ru(elx10ICqqO`EXgGz;sjHfwC$v$Hg;^?Xxi81nUMz*js7xGz5<+w zur+#pCRiyd^Bt(4YfX6~y=L*GX|;aKX63?lGRiyRUGVA0iH9D+r?Ug;6|IA=LZpo5 z%4O6zUB|j12j|)dJ$y!20c*SLy=cU+)w{HoASuX3f-G0UQpDOZou;!>Bq6N=+ae;% zvcmc;%&ZO10VEQMWHJd~?*kf`{Ao^AY*7H)KO+JK(rk_~crn-lge;^K zD4#A>CUg>_{MUh*L*tyb7{ym_#@+U&&l`0}LAff^&~gpLpa0`n&7oW9bM>QVHk|kH zMR!c`QapFw0WU0lf87l|Qw+g?z_J;)oIL0+?*^)`vdgH`hV9>dw-S5xx6>}Y>5(Aw z1&^G2z~ggXTXpY%1~Pg-+w7Gg6gJsy`#88(0a)aB7E%-NCDHxNCFg%w|JSokwJMOA zH}&1z(1CsTvElpq^xG>DVd=Zwjyo3sxF_#@01Ss-x9~>BKv+*PC>={84c(loyCz<`4^&3^lUW^WnzsoW-dX0Hz9X{Kz|IQYw~S>;6~ z!c8NZfAzvIFOSIU zI-rL4f)qp0rko#{EESQUF;jE{gSvpB(G3i002Wbp3tmc<$p{b=03>8GEnMj`Q?iWG z3Ru%&_mC@NZ7LKLo_3oyKDPp@)J*tQUYew%oKv@6r_*KDS6ZdNfAisqp<*R`3jN3`C zlqfE9VPH@hLW<96UdJjHed_+L{Ew;vgY@WoApn3EO}_t&Sh9;xKDc7ukyw;XzP|gl z?*KrjzfAt*hF--49J^nW;|{vU(_JlfZ`|*y{Y!5jW`j1*c%taQQ+2q+o)9{i zQ0{ssKC{?jQ1ruhkDt^2w1>Q)Ki=`_b!T^LWl2cJDgD}xZhzJo9h1SUN1gH5%CV<3 z(b9;NFUOjJAi&ui-_=9keRo79X7vUJ1~m>tqZ=61Fa)zF>)|LCmZLHN6ftw!773Ne ztZCb#yq)6U%rXH7BrB)Uw+n0ZK<*~^5RTGcT~@B+YU6bMS1eoF;K`@l7hhG5tA7(0 zkRkK)yz`~JI|<>F;6Z{-&6+G9Jb20e`@2#IAreH|2As&!oVg-pkxhc7OaLm-ZvkMD zV3Acqmr`1ml}siB9z1Ku6w+@A+=n8(e-Qc_sKFTg4`TDGublYYchu3{Awc1sAFk$$ zOynQ5&>S}bDE;)mcgK>IUOjjp&-G%QX$+{V*ck}F0PViW_iH-WIX2b{$ z8bls}gQ>HYZ#ubEgFM&P3Y@Rrjvu@6B03+@b%(9*UKHFlUwv1OmJyIS^q_r8s$YPb zd2id(9s(e-=f7r8zo=`8t}x|H*>9fm-Hm&9)0;-w4%VRFgW!BUX-eKGr}L5BcF^Z- zs%ItbU*fF#_PcU7b25Do?pj>Erjk=D1_(cmIV<4M|M0@>CywnJCfVB^b;{t2$G#p2 z%8ft$i3OuB>0JF28&${hIa6aHZHv9mDsYin2h}hzFfebLfk6!*S8#)wUG1()ibNtI z0gx1$GL~{f(}vlU;j8?=3TPr^7rSyMJ*YrEv_=n$x5Vtw!%>doWHPSfI7&e&RWNgA zgR{;m95~EH{J3r(pS9s#I0*r z190xR`Q%m7yg{(23$jI4=CwTm^VQ#gw!KmSwysN)W74gJKoZkdz$t)eDc(y+QsRK#Z; zgjEy&xyxveLqC7gq9>2tJKhkB8|^G3rl^-rny;H}EicBMUzf+dvmCWgTm7LPj_L*m z|HClEje$W8z%!`^5VAogf)D~KI}s%E#6UK*Z<)O|luzu1JTz6+o$Y$Vp=UWbO_95< zs|oZVFtAC_WHPSnW-^&fCZm)i(&+{-z0hFbAbHwZYQ{{!(=q4VthZ#Y5bR8(6V~#> z`%U}L&9g2zf6Z>Y>IWh1gk@PmWEEO8lWtj7K|w)LQBfk1NTpJm1eYMqdTZNr+qMe} z3zNyDCc*WE!PD2&xppENvrpFu?9Dt9^#JJ3sqk4BPsqAu(w~Ay1gaXa9!JsSLV{`FZn+?HoPGNfJbwVYvb#l-u@0FdbX)X45YmVvU0n#PjOfA|sYzx2STXTNk( zcletD5qQ?!Zf0FHe9p2pmEK96BdeLS{R}%1BZXS3cC4jvCil1-yBlP=*1Gw#0RSw0 z`I3pbp*;`Z%l3W3_~(ZJ0E=eo0~VP+{kk`%@-j83Blyo{$Iko5V#Y6B$JLy9`;9B_ z#T-qevGnuY0}UFZ`gYV;Me4%Y9I9HyMPEO=Ax_U_v5qtOBf|Au|Jo(}6V&(Wcb0`? z=iPUem-FdkZ$EU0Xb->cr|+Y8y6o2sEUmB<-R;|I!488eqdKkn=L(x>yn_V*H~;c3 zr!qkcu2vJ}$cGKDUD7{6{jPpzS-481k3|H3ew{S>s9SW@fln{Ev;Qv0-N$7+rzp=B zyq4E=rQgk(^p`L)a=k8Ob)9Fkm16R4}j8e+_ z<<|zc{j2zpKI)%0t7TO(@CnFq&YAF0PROPm8h`hPlcwMOpRY!abQ(4)kKhgr%r$|Y zN~NTfnn2gdw5UrmnJg?Uv~4??Oa?jVzdEI5SwRs2I}d+q6_E9YK>r;hbr)bcZyK>DCh29fGV_{i64MS)mcVcGS6;{&pK7 z{Ag1<@7_IjJaqD$71ew=elHh@7low`k!QPl?VS9oC{wLH8P(JeuNcXTPXFO#znbOM(EAlXs{x ze#2JIhKefPvLxGOhbeMEH#q|E{i{Q7pX^}D^`9+{3Vr&Hf1n7?M>qZX&CMGDVAM0O zkM2m>Ri)Bt0ATT)*z^N+v!L6waORX?JJ$tZ$$nj%`A3}1o~waD9l~g%8yM6ie7=}1 zVL8H4ib)X>xm*TFN2-Jp1-7-iO*8G{QUGq$s|kmkWcE!JmRnLzxk2eQPR>>_LuMw$ zt^l;Sxe%n71+h}3Sg}%oQp$BRN+}maM5)=cQ;$CCelT4d@{1}PL6GlFG!_Wou1f$8 zu)cGrg~JA|+N~W~Bp89sI6{);`mYeewrv2mZ3k%r&!RewZQEM=MF)nJd;-^?fjmp# zH8fnqAm@5>dcdIW5PdhRrx95p2m}$7qU;=FnHI$*Raa2ukat9H*}G|&JxM95U7mjNg`_Rz*b3dIoo+tP)33hjH#f@}MGve`PfaQ^I@pyjF)fJ8`!+-UsPbNI{= z6A5tfp?^FB&)j1)Qt`3nma0 zu0C&{Y$G5SvhAsq#GvnoZW99Vh+=}w{v<7t!ihgD=g~mbOt-b#4%$fXl-b|d% zNAzk+*@2QnOSMpwtLRB{FossRZaQS|tfvC6H+P{u9C+(R@zt28yaYQ3d!ms&Ef*vg zy>ZALbD>?Q+&Zc;0*64JkqVJu;Fp;>J6m@6uu_n7P50XyfBhm8QMM^Pze{@%pa>$E zv{!wmZ(v|hZJ0TkfkBNSGUpQjAQ?pD3QpM#6uAjSiinw6SR0!*1mZ(oXweM-4Tab{ zmkWy`HnFHBezxLL0{s?;6?RUt>|GH`B#pkc<&>@i^8zPZNT9zG{fd|C5Wm#I^ zTfk?hr_fZPgSG5;7i^s*^r3&w((Im@BL%pVN40Ac2tTOM=e(fT~HMwxrpm`~SM zrSm5ifP%u}NB*hx%{3%C-u>Fets~arDpIm%OTOvzSH|mrzwO^To39||jq@f?ixp?f zQLl}^Y!5I+`ICA0UnZt-_27M0ds@_;Ie)fm(tH0pEYNyQNfEEiwD{q?W$7NGp& zfPOdw#6l^BMdJ_bby42T(}NG{nhN?);fnzXEPU_m$*Td_^2|Yd#oSk#{s( zwq@D!;69Prcw)h)->(OAxjql8fY9kN_?i;hJu;~*XPsF*_3@?oGdR9yO9Bz;cIai3 zZH-&d?No9j4(B=P8D`bjO~2vRj{!(@zP;Bj!DXL5f1mzz$^`>TNMy-V2Cbj_z+H>N z`6V#ynt{6o0yVjZO%3V>o=zz-f`%1doid=9yz_|)3^3us?L3Q)Yo zyY}QWG3A8+FdAt$kmk(*zlsFqN1WAt#2OIZ_%{4 z7C_etEX&F@Ki6r(Zbji+xa$v^l#jU&%_9q7@H;?ON0szB>srRnody*~dympm>1|i# z2Q#sM`qg{Q8GvGDms}zypG-6`s3sUhYNrwBo?TKL4!-rC38e~^Xrw|gDL`Q5#1R)p z7O@9CHSWA!ZH^32xr2$qrte=JUkV^8FB-UOVdUudhHuBcQyROV-^(`)E+&Ei3%x)k z?FUuYC)|zyI`^?}qT=Yq3CZl!4ra1lf8lGyDR7|R4=y?2f-`oDrF>=bTzw=WyHyh$ zTq9`8Nt>W3 zz70AL?iEgu!JE?;t|7!7CRYl-*HAt&rw3KVfqI(engeG1>-Wo3oj&E@PSB)e#8El1 zCsHJ;F7qIq3i~LP$!aNP?;$(wU-aC4TDRKmbLQ|izPiT7`OiGJ8GtR%Jg@r>5$8#S zwNuADy&=+PW-dDI@Dc*~=W78Nor=1L*9|HO0tD#>Mj)ar>n+IJ?|}d*EO_tg)#WtN zL-t?}4i77TKU->*Pgw<<=^%w&v1M*ACJo_vr#6~1K5egECK9)R2TtYK~K+*KF@ z*f{6j+dc(gq4(G`4=86zD&T(q&V-1aij5NnbZFp}SUWrBI@e`$K8uBq?$(-o9wEEg zVRr2e3~C={W^Z6n17K!7l@4r>SqRN66A{1(nF3T&S&9izifCo~-SxnyV)Ig+kMFRw zSF&<1qjhZEOhj7!+;v?ofDWH$XJ)0q4rhqDEK}x`Ib~^PQc4xfo!9WfKiU0`#N*Go zrDZatz7ov;bB$f{BG8%8w&(hiwH)yI#0FnIX2P=aKx@o=!TMX~`mEgiIx4-_^ zNYrzu{q^%z6~7k*5DUhN=Z^bBgrGeA#WzNGfVXjjPP--mlwE)HK9=B6 zOLiB06mwsek{91JxJ|J274QehnyUt7sq`10#yQg?yEY-uRM{+P>oa^ihNxvC^L`ip zEtb;0ZR|&z!UKBDn9-Zd(DKRW>^j72PMt6O_g{v^i)^3@q8+FpV8iqqZ~a(*z4^rb zg37V3n?YT|Beb(mmw;XO?Hx_zPMP;hHO4_d)4&d0cPYNK3$xytT3|2$5A9Cq&DX7GE} zRHNP6S^(15kKWf}Kydbu(26&2eSaf#C{*8d_UySo8JQKrd@fN z-$c(D)GTVx6nJ_@vZST7066#EF}w*yHh#io{rGwKFdTsN(8IbGdL`!BWv?lyvLENp z2?yBn%znFMSpxH}7#P$g%*@Qdpau|@Cf6S%vt?PDN0np&E|Fw{AeNGn39+_qGxjDV zK+dZeh`scxf|pU$(tuq~amq(P2kSunH|;tOE0uA|oD3;q=Hl@a8XR?$IQdj}>U2FT z2~YX;p}}D6uXGY1d;*;TNnp!b*5{y)Z@uxe%l^D-kB&lU_nt{x+Cm5-DItXruo9X9 zPo+`?#h!kPCeQ~*ldbHJ&tfs5qKES~rZ2%$BX5@mqM}(84 z-G@d$SB@WAKab5bpV_DFVC{X*mZQgic>5)noEA%Fzdn8X=J-f3`{r}TXy(1o9jA6F z$@-1onwv7H9w=v0&9FN3h!M@xKm9sW{l^pT8M1O}L=+reaaJw)@UHWF-#$0*^)9}A zecGIiccBQ)GkmIgi+Y}tZl|AA{&FMXJ8AS0;tHLQZ#i2xU0a@c^^kT5lFD5!o4aiD zCWo&)m>?L6*e7Sdn|R`spc{7qq~uk9?9n*97&2S++YF?4V)6}k3_u0u&*{~RKf3$e zoF?k6fLwez>7zLu5h;q6vqd%;#obOFRZ$ZyKOg7QTmIxX(KB=t<==i+eG6m2`h;DYW+@ryMZZ&lm z6%-L5Z_(N~UEg~~DFAZi%A#kU#ebj2rcxD}f9JXeMQ9eKs=%ZJAfU8i$+Ce*{Me_L zvJyfFEuP|uk_#e+B3LA}VYuedwfj(L_opEZ7EOz5Etf!pC7i$$>Iu0I4Nt!UC7-bB zOT}EdAy$4@2pge$bYHFQqXcKn3AE42m*B=zgQ(=+p8f37{dy#-RIW$3um9@qqYk;? zUGKQ=T?6*;M0aRXfJJE00V@M=RNi6jNOkKlXZvt#|t*05Wwcm zo1HalSFikO(YLc+n)+qMIX!oLw-=A^bIciCTkqUrmxcwlZKu;|f?d?M=P|>&H>`4f z7)+GvbJjob(AoLZeE8*tv%42(Z`6BJh-lTsYY(`=V^K%Fb#;#r&&dEG;oAZ!ec(g8 zK%D>F6R{FX?>^f9B~|#)Pf((nb<{ODd)nrw8Dl4Y^3`T4VRro{x_HsIv&(6sS)Ki- zkMH)}@qLatqwCJCTkPB@+e90-={axH$y`Q4 zH^Ax{kB{zue&EjN+G#7#Z&!({1_OhtgQ#H8L-SwV)H$Fj9ZWr=Ym;$zjl1`hVY`Iv zJ{iu68RM@x{4{Ok>!HuhAHQ)$*U*xffXb+rys-+ae|Y1Q$m$fGt{dDoQI)%3fPVPw zvQ;a>ftg{04lZFZ#dJT+3b(#O#Q%EFsbs`6vmaR2_3X*n=lhpE_jBHP`O^L!6aIm` z%<84{-Wqew8UM&Se;anwC;z?DZ=A)$?s%x{8^_J@Cvpzn8*$3r-;FzecOo#>fAny} z0hfChUO4vJp3!Zjh>V6o-6Ha{7xzB)XpDU@_?~fJ`S9m|?AdAy<vC+o)(5xW2JZ;LUBHMqk_Xyy>rp{EJF-KCkC4 z;R^|7q%bh3JD6d~z@R1(*1`@euSt>#OC*Hl88|ZmyrM%}Jw)cdhrz5|0EbpV*Ci~s zT_eWnfmDm@x=J}(vn2=z09R!)8Mw-E95zd5nw=ws~@PF9oOtBRv=_Wy&= zl~YcFfJ1kL_~noTX54ba>?^nf!1bdCH0*Vj z4ok_aX8mhuUEGsFwXjp)LE(q!;;Vb7e;-Rz>3bbbAh7(a8mnIxF|~^Pk{UU%dR{;2 zxs!IxjmTi!(39@{BJ0Fal`Z}3snK0`A9;fpaQcgDE<7Mxc<2@bGoK)2{m0{D($enG zKM!eX!I$9<(t5v@=_$7bDER%Ce^VRTvsO!Ix6-5`So_`ZPB~3<{Lqu`{=(19gnDMYH3==z|CBU09RLK+5w8%sl_ymqV$f+v)g2tG3y1 zU|>)iFxKb>2DJiBYTHt#0oMhy!w?F35~`$>g_gac%}x%%%IAn)g+3gTERf+n_bB4* zc9jt@@8o+24d`GkeGX3=&u5SoW#9^EVjW63iiGR95`?wuO8)yCJvByc+*FO}t^hdn z7ycPO*H=O>ZBV@Qhyg$L?X422gph(jL}W>ch~>Cu(gE1Et$A|*+MGNf!KIYiFQ{$X zfqqM1X)c7&w&%I#=V6oo7^QAtP=6shUH$DVU-|y-T+F|`XVVYveC_@-2Dd8kydja+ zfi2s#^oOs%`23^SUVPx5aSMVB`rh=yqZf|cwIFiZ+Q6XZP|)*FW7Z#e&i%Jsd-=mt zg3!qiT{HQiJgGaMam!tQJE#9HCAvqhPA|*=sj%n9C7(`?B{}7g_IZzJ@@P)AjrYg2dI9(a zPR#|QL4yXF;*@TpWreB6C`_ebp=?7bZ`!m;tlO|oV8ezDjCJeRA=X6OU3)?A26`Z@ z{4j^#G;~AKP4tAJx5wR?V8Vs_CMN&w(PP_|E}r@Jvv-aAA{%wVv%lPVY)mb#GW`?( z07WF3TK&m;v2=S4+_zDs_poJ9>?=TK&vv+9O}KAKD2aR#sM8TB_}cZD&JEcloxh=kE<#;Y5FMh%;pwW+5ZBCb#m36)U<%Y{wdveJkN%WX{_V7TDa*WcQYKBnG&2h3rDtvrR6a(^@c z5tTa+Yj$h>(~vo zX86D!I~75nH?N^)$-MsMquU)jHcO3J==1O|@0`*s?@_VnwE!)AnRXu;3GH*o;>j1b zrhr+~@@AS;b*T!hfk8ciHdmxzidMFA*3^kp-kxj4 z7weRqZ~uh>Lg~++y#305Uwr)D7lRhQ|FDZrz3fk?9K4%NxsuQZ^#}|sA9GgA(b@ey z3%y@jIdymw(mhz!A6{0)IHwEmP^J= zsrWL9Jue>j>6&Dg}qS?%tL8KH5QKbs2kcn6Ny|df)dGMET^cAyL-Q2Ythb}b)X3*ykQjdu1 zf*WVA{Y%%H6q7M9FxVm(8hty4q0#Fn!ZbR7j8d75Vs;(nq|@oLQsp>lr9>uEwsv#6 z&D-zo^1*xn49I-GHvtIX^3^MDiyk7=7&2tYjW^z?8FSmVi;9W@g1BND9nl$fAmI`Y z&n9r8lv1QJ8LbDWltR%v?^usM<}CPD_)`oD%{92nvtQv`ZFx)s0KgSu<$m3N7&>%g z(;bBnEXdbvu}Ha!Jo|Brgd%8>7Hwm$8S_A!MRVdxDciO+y&nEG^bKkXUI%Jx^xO@G zfQYZc4H+2JLnvnY_4A2OJoMm|59J6@MA7fezn^gI;6VrXXqk!}SP5QfLj@Yt41yMw zk4@TKx_fNi- z-!p!^`{-RSd^Nla-2RaT-~6#-*q#jeNU^+3t3mxi?2+knf0|?@z;)7YMk#`wOfk6v zQX3cx@;I9K9*lPeLcsT3dIA*E_!45E(CCn zi`u;Kj?rX$KLr+H%ahoE>!%@a>oBKjg^LO}Xs?xmWtF>`SUvzY{kHJ)_uij8>78lQ zUVi(_s435|Gq3-{=u-yu(({Bon*n;(To@0{<17I5K9a{{l?KJoiyl>U9yTRdXcSnYxMqTxm|9aH&`+FtIKydIJ_RW z<>(3Po;tinMP2e$K+XK;5k0PXC-|O{SAFJOzs3HI4Gauw4o1|)z@UZ^rf3~z*L9g) zfNV%usWfc_pvYCkfLhsMH%+7GTA&ATfkRUTd1>@8Nmhi zT0&SB2_k~vgwO(TiUnCx0$jLgrUu&yv^0}y)_vd=4-WkEohyI(=G%qeeD}?Y4NjTk!iAkIY|wP4om=d-OZ&F1 zn-*FTQ#g+`3eD&Zhi*_a2wIe;OZ-h$%|;cZN(xeldCl;x6#br@3AudbmJ|&j{msn# z*Kdf#o^WWup;xjWOp9N=?n3|phc40i>VfS5ggJDS{`TdUOA|Zoyhp1>{VD&&001BW zNklhmL@DSAbw50idYa?!AuPwb!wy0%OvdO=V?eP6kAjN|vMw zWazp`^(mrgl(j1-5)eN;effK_a_<_oZ!`y&+*R{tFH5v))v<;4>|(Z;wiWa*udTKz zdxQc&c30b9JbHV>;U=eori*BlKfRQdKHShcOL!SFg0@}MZ1+P(?s~|`Q-CK+oz0oj zGABa-Qptt|g}K>kODO<~ygs+wqVv2tg7CwF+v39LhxRPY=M#6Uk=@e*DD%yWQLntE zcOPvybOVEJ3qzwD7}Pw1)t6MvmIXj5c8QogYYqwF3Xw`!t6Md536kSnb9gC5K(AD} z^624t%obHri?;-q$8z(Xi-OrDW(6d_UzmLKQGRohHd@z&hwGE(Dny;bw?+@{rIMNe z46NN{=OsgqSk`S{078fqS+E5uBI01CC4|S1CvA%%5{XpIFKA$Io~z#y+-4wvuIws z-JteB@YlDRaG~f~?>xf3eltb2=#}icotb}~HZ3-~j_TVnR8mC?WcB%*m#q3N9O4f9 z^UxMDR?4i~4%_#dISCA%uyNcGh2Gw=N2eOpa}Z@8me&vj0{|0~*EYOx6?Irze zJVMIP7Q|WlDQFC)qpiR2X1B@y=U$4ZFAsvP=bn1&&Qng@F~7Y<1<=Y=E@|f4Klnue zv}1+b3!?2Knj*aUoz)`Gy{f#*FcXnvVgX|E?ZKHy=w@su3hhK8fC%r&U_?%*Wr==| zHqG7_1MbHY{=Q~qq~JdHAK$JhTu&nT#eYuda>e8XhP}CdZ2w|19C{ri)MR{_9oD;q z{t*h_(nu$wpc{;v7YXQYP@lbu98J(4tF}QB(shZe8!;1klZTX5lqxQY9+!-?Rox~v zdmikMR=v+<#>&q>jE4@~uW{9V4^*WT|4>Wtff&xr@wbHNdx_4E9J4PNOsbj(@(c_N zwi<>;H!!Fbc%-&I-|L0AM3hJ*w7j_M%@?tDr-n_It&MTb(fJ07N%TynW|WmyQe4$4 z7QidZH%mu|TX$X8*LZPDroJy8c}#t=AZ#xmm7B2^e*~Fvyvp=Pa8I47MH|Y(Ho1)UvxcAqA8e+gLp- z#jJQ2(Z>8Lpk~(N zdvDqV+f$3KI4k%@wZh9e5*2}}3NxO+#Hw)U!3XkcMV>eZ0a257Z&r{cG`)F5oZNJY zWSne;^ZsKu#EKqx(ZFW0dO8c9zHt@+k~=l5MDW9)R^V+IWp@SR0%ZAghqO%<<*u4! zV1^#bB%tZDrBqs>tVu`6fh}blst*zQ98mBifb2|ysPev-wXKO_2nGbGbne?@Vri~8 zXxB>f*&+mfO|>CEGZU4)|ML`n#yTutWs zb4pG^N{cs2v3B>?ximU*2IW4ff?OJ1sVuV{rp2>?f=H3(%a|Fiay{KT;Y)pH33S(W zwH-P;t|DOL`UcOxj3=K`Yu2gqm;GVJKe!9w+nB4+Rk0k>g{kF-4_Ms4Z#q>Vgs`L# z49#u_M0Qx^+_r5^qX*XF`c{P?A!H(v(7P1mI|2=+@7ne}5O2|$>)7y*78tW+59TLaL2OU+LnqphW;XQsinP-MHkycvH`p9)OlDW9FnZ&UyL z#M*FxjT0_9tPK!Z9;g|w-MV%)fb{uCbt&+|w#WBH-;<24?#g1(^%xXy61gdIK5n_g zkIGBQgJ?&Zm*S7ttUAYiysQLyYBkQ%k6s84u1UbP<*2^xi?<}pEh^rx!>SMd{Y+Lx zN}}_2_`r((A z=6qiKtQll>Ou4)MF3x>l2lm zrRj4gAA#+8EGpp8!{OnX9ioON#I=FBmSI82#vD=o z7Hvo#({Is#gKL4vCPz#S#=yY9z~J`)Zy@;ovj^8lm>mo|xIHN5%`7j{Uwk?%9dWyt zzUIWG@-k48^k6X=u7zw+L>XWi7L zk#C@FkOvz-pAzpduRZ&S!kAHT+1n3#hPP)P)x!>i>9#|7Hb$9r5F+JX9UAD53M4qD zfMQVJ;CuICxL`qxXJ%h{xB$|F2kci1&P9QUh1!xAo_ZtX)7ZW8UuU(F;R+fU7;F=4 zmm`ybLA^yx21I{JT2?^s0ss`CG<9ny66<$r=1@dTJTDGPrE)i)W5tDy(}NJDlnd4t z+(DoOIgZleEtyQFRHZYjOet0P{*(qMpK6UbT8)2`-FR;C(gB3kApCJ(mb4SvPF&OG!iQy9g@uK-Z5I_4rBW$PqmwWBVp*0DB9%(% zSe;&T+t;$^7|u zh+n>05DU5DsC@wihW~RZEShlSGrGe(`^Ehq=+PlSIwFpPc*Q5E*PyT6u7Q+FX24rBcEn%$D z4Gd}pLI~G&0Wh;GpnQdJA%wJT*L4A6W{XK#Skt_5vtL%L3VHM*68q-JqX*{aL7{#) z>C%NvuyO?iNuiXZeFy<=X_;$D%9Li9*#+C1OAB9q8IM1yR<2fn%5_;?x3mdZsfyN}nz`(%ZcLV~k{*$-g3WrH_9@3>rg`UR(d4Y{zOr92r z>G=0Qc5UF9qcRu_Dw}xSB|rkmq#inDpODuLB3~rkj6Mbi+Z$YR8x211p1mJFZ=R=+ zE+78eQ&$Z>y=`FbVz$cSNLUg1i=@2h#61fE0aCt3cKVGQ&IJI-vb#^;*CNja>vqK! zX1jOqXhMS#4=!7M{VI|T8#GChFB~7!_%^6-@C4ia!w|&of=TgB_bU$Cxz@^8M1q;t zzWL%lTWdud7#LIuhDJ9qsCj6Gas62cL9T+8EGsLsKxsg-3xHT9 zgq^Wmkr8X#wcKI(>Wb%yqI`LD%ko}i$8ogG3*Z9MvMg2(NCKQuu0a0C&N zC1uz!Trm^DcmA0GRI(tc?aJY6tx(7>sMc@M{zY}H=beT*;L|np9)w4{HW3BtF%jt- z!(td17#RHCu=(3b6Vl;;gdEYMmF*87d0puSYuBRo{SLs`aoLy-%^K@fxAut2^vi_n zv}I*VUNz(7E)dE;mql4ESu^?=7;GnC?bU!GAwez9e&p)&_P;(9dDj|`|xC- z>a;CuS|8zNHiW;H4e8iMN>4tET_XAG_57RKJ$A~2K~Mt2Ub&=K z#LcgPfx)(ec>@g$Y5?V#JnOGY3fFan5H5j;q-6_XL6DYqA>x&L>|W_Sk%2y`!t!EW z*Y)&UTvu0yh+OSNR5?m1QtUWRSy`FmI9dz6@r>yWPdTk%@Nm2|PPmEz3*Ac>amyVtC1|MKxa{h#zM1;SG;1+U^+*Pk93jff!5Q{^w4^ZU!K+=iT33yGH_G zVWb`m47Oj8K50n+DG=m-XS{Jz^KA5;BkuTqqo2|sj;4EbihO6A$)f^^;5=IAr^pJ!0E%qK` zIa7tLgP;|!+;!=y--3W1Pv0`6gqeb~-v$N-+Y;s_G%%TX*G&3G($mqW=m=r7JIF6%~%49N`%w|$d>CFwEeYU}X zf$FRa)XX{Ba6Mb+$|kL`3WRH|FU%zE8;mrwg77IoB-U6LdMp1qv$!W&;24LJVnl7>O3{rZeKs{w#F zEPCx^n;UfHy3feA}p21FzHJCr^6!{B{NYRRY@|;jA|X{8|UALIN{$ z=&Ql@0)|*K^MiQk5eGE!rwBE;w9K}U^`BpT>SNi6PS-s-dJjMln^}Z`LA`(xbulog zNyLWI;H&Tq+?a@LAvY%oir_M{tJAF6sqv0WS67^QifI32YFbFwMYHF6W~P-)G_UIsaeydLk2C|e?LdCMV62v z&}Jb$qhzpPNm5Dzgl*f}aVP*H7Q$x1f-G&MZ`-!kKo5BH;P=!ld9HU*A%s#Y_!|>I zH!v_TFfaf^kId=J`f#v?KL590OK2g1%Aruu<<3brKXAY~`g_`aXh4(q2Myb4!uY8{ zqVp#$y6e!U`7aNj88$b8r1mT_TrEC{(?0B|Q z5S)1*{Xcv69Vbau?tlDw&Z+L1O>6)bT#2&4?vf?vAd-}HQLhBAijuDPD)LhS1L{?Q z3wq5G4A(%GE3hgel9iwcNM0nkAS`Lwz^0k$uJio4@svopIpyPr3&*V0pU zs=B7CCw=Sb=iFMi@T^@n8=mK?y+|JX=9w24-Ys|Lm7mx=uFBufz{D!RN=3#543}bG zml!3-2URgI&P%Q9cUzJ;=N3+_{n}mpn(SSIvHz$ZeO-cznN>n6B59hMrLnt9wOUQP zDxp%1onFTM_5KN`d~DRAM~16^6|xLndWPWIYf163_59a*4x6{lRu6sQtUrJ4%P;M@ zdq{kelzq9B7mvp{+c}pcvHW~gxm@ee5(~+__uiM1#Fc&GoV2&Mj~zQU_HT)uSn_u2 zu|z%gb%|4q7SC<|D@DFlf0qaVu!hNg1g^XF+l!0$`r(B~PI7TT3-ymqM9RCKy7;fZ zJT0q9Pi0n~p_lz}KYeoEcMjYr8y|XaUOX58BaVt}{J{%!8b@7z+m6dy(YqFSP$H&XMy38cDSgBTI$+D%j zi&d#C>gX8#;;Xy=__zJ;@Rnsu4}P`#XZe8#AM}+keYvfztyF4LO~EZOH|a9bA{nEh(Cr+N1h8tMsS7ZS^4nBq z)?O-gR4U&45Q1o}J-T>J%$1Ym&Gpw_=5%zhkj>H=sYoj3L{l*@x=UNT@9t*qy{I!+ zsZ`8TO-kjER$XwGjDCIY+Sgp|ue;GI6>H(w25oc?zHTd@)uB6)Me9tObLb&+_S`M? ziF3}W_a*177H8*Kb_~AFtgWpr&H^e~k$xVv#{j)tE}L0ic%J9)`LMjddHj7P|HUQ$ zPzo*40RZTOnW@_PyB+oab~~!~pTPt9gVmX}t+(yo|GLfIh0PjvMB^tEu=)wI@q1pr z{FJvGe@Sh@`G=i#_`Lt#V`6PBU-%*>rr94dB5u8H_k7>Bdx}VQeuA0PYz7HnxM<;y zj+xY^F-t{#_f7P=-v?9{JbX|6ehzv2I+Ch-k)S%rFL1M350_NTi^~t}sS8g(qcF4R zXCM7C89J~EB1Q*>k#jE2{3#;UZ1T_A%%Wu{U1HU)><6~Zf6H4&y)>uTlQs0r(}UPp z=k{nH^~a87A`;{DuC&8h;#_+->lHb-1ql>Gwb!(X9rOGL_|^% z6IrnJv=LyT9bc%tHK~#2&hI+L_nqWA^&RqvuQ?JMhmEz_24m2Zm8zjjpPRNN_GqgNUdG zZ(6O@T>HdZ;>z>3-0ZC{&B-dwC5Smu5wR>!ccMXT&$jj~M)x6vYE_b?YF$g#{o_58 zuDhZ1>fB=Y70ov9|4@5QE}HhZXD^+Je`CMBpF8xBu5lAI@#0J^BuObz7gS=(o%d-e zWke+Qcdne z{Lk!uib+*OoJz?5_4yA{ZDpQP03)86skR^R{d+ICcbCsR`i6*f$(8T;z`n2EaLVKu z9NS=0w$($=-^qijWPjXZ-l{+EP_jb8#vZjs1jFM8p;Dd#S1{ zd+fJAd9k>svj4y_TdkG9kwU}``m5W-)YRggcoALl(7*3@X7}n(-0+*@w=Vu>0$|la zj1CN=m;x8xIA&%s)Al|wtrR8|v2@P#X-p3E(VuoIuUtYwCELnTPONSl$(w@6l z66ajvoH#EUob!nnt*CiXS8_=ZO}vQ22IzUcdGG!$u~5A@1!%EQz1Ra?vPeCi!+b!) z7A|Dy0Du;mnX0o`jUJ05d;Ro?WBS{Xh`QcsJ3oqmHH4~)i6n3P^qs$cZsS8QUbIj| zWag>soj)U-xwopC*c$&0A&58$Do%TTbIe1_AcJj=0rW3>qggF2kN3H?utr5|MddwS zhsz%L^#!#*x@)@rih#Y?LKfiUv_*&@CuN1&4 zhZr3gMnP3oLkOxWX0b7P2vw1gn5f0dbn~ihiGOL`wL6@)hwkV*7Np1YJXo!$eCM{d zvPhT6cICFSpL>4SGtQR0V%@&>G8)-wmyh7{)y9TM*hQk+b(Xa_X!bj@eSx%+~PVQJskNF4{FSb#c-qM=1=3U3L@4EDbN*ebKq!yy#DV z_cD3=Q_lSEe;zWv!RvF;AHMPZx`m%SVefMM<5X27#9Hz}ACJVZ0_nW#^ZS2r=G@xy z{my@E=E)n>hH!@oSQTmBbOIwzwOWl2%&c0iR;yJr3n6rNc6M}hgb>m+Ems#$NncsH z$GL_JA;cIxgitlBR4UbK8m~@AXJtu8M^{%@n%a_%j+gy<`~2{yQ(l;pPxu*Q^oqq& z^x6^;Id{SQgGPdZXK$9ihlz+2sU-gOz4n-W*r7`&PRK*>yt#R7ADbuI zNs^RGZKaYADv8#HNmfN3Hz}9Pu>pE)&r*s3S*Tgf*`tOVhapZo1T*kjR;|7Is{ zS2s##U8&Pg=&@|Z`TuKAyEipMLg(4}WEc#JBVZJb;yi zYIIJ|@h{$C} zPaS>Z^OqdDQEeRG5=2A_?a}!ri4|?mMJIf!e%UYXeeJ~UCKnc%y!p$sKUp{G?7e4D z)6Mq>ijM^wBBFpGph$V>AiWEOE+8fJqM&pLJ+y$L(u?#CN++TBl7LE+-aCX&sEMHk z2!tDd@ciH3mv`pw48x@Do;`c^oX;uW-8dNu+fV2#*)^WdpXxE0nzl&nkL#W2cuh|6 zvz`Foh4dZOW1Zw(?yCkY6ggL0IeD9-uDIxVzU>dinLS9TZaVJfG*(ZVK|hRnnrQXd z`*d+zH{FIQR@ggR+=Je9v#oZ+g<@h2s;M7d*;P#IDkE^z%~Cx5e+7# zoXosLXuOJIiX~m=X|leLuiL*jXdi4Evi!xo>A-|3~;~ARt{NQB5_wI2QWPZ|C zoACDjUJsUq-o6jje`*2_@*h?hI9rHUhldunr(8SYq%i>goh1+Et%cQl%!nWmDDbE# zF|f=?p*@L+i1Uu^%SJXJ>?Nro`b7qgzXr4;kP5Hba4FF!xw4-gao?`TjN&J7lir6- z^EF;OHIyFN!}(@@1WSp+ljMR41C)o7ZUgwbhXq$7$s7U91LJ$W2sGEK zF*oWKDG3RQ-iJo9Fd#60`(WOUapo+2Ia(TXkHXtuHe860BuD`XVSyhVsrMv~mLcu8 z_+t;KhodB9@aVJtCUpS7ujIoHtnPHVwTVh+M=nVEcZ)GloZ)nJ6^m60z@ji&)Px1ry6otuv%FqiYFNus*U9e=q_LTzUGd;v4vPY7Smu3Nzm1% zWQz^+-q0A%Yq4-+f48oo@Jde4m*L!0*uR&PlyUd8*;jw2JG4<4(^tGb)|QY?&S6p1 zsGSLpW{?usU`)k{L=VI=hvKAFVlB=Smqr~cZb}{cv-h(brFjbJ%(4-uT@J09hJW#n z#!SbzFO6!7ZO+c1=zTjMfm^CkGm7M65qC&#d_UCB51nzSYgLR6l}fTZlsLx}I6j&w zfFI9hB&ECWTRWv?m8dDKd=1AmEXL3EU_r;l0y^InM!vOF_mKK+obyas9^O+T^z`c} zKGG|ykNmF|AhD^DjYz@Uupx>Fc15Ky(H?`V;8y`cs<0$_u?ixY@Tn$$8oFAq7+q;Xj?9zhx2p-(nA15N0UuW2 zv#*(f{m5u`a1iYzBnFz+rA{>#X8-kuoHbdL|BewS2y-SPJ@V%t*i(yriU=CWHI)&; zTBWj74-X)8%z6ib^ik;DNhsY`tJfd@Qrd`=5+ol1ggZHcw%480-K<0aTyvc2r5j)x0#RJlQvBWbn=D zB#}DwDzaaEkkkp(E)|l)`9&`63vm$%O!R5emnHh;UUT#BL$3&tv@k-orETI6`nz7Vh8ye003wr z3SaAcWf@TD^xdnMM2}rJC;AQX@2OQ{eo@Hh`xZJ$_XAUa(6`u1mW+%9)x2FF+fNE( zZ!!{015V@E&%K@nEy!|(*bgt)Vlkf^Wgdn3UL{UVkCAvgX{D3r+i~xWQkvS= z=z9I1Jw!WSuLuhbiPzoJ^Z(8QA{e7Jk#^o5ZG~&5^KF z-gsjjN^6O8Z7|_T2us5;=ukIP%eV}?{S};k-Q1xkGR&4gx`h{7O~110 z<(&;&vg8r+B&|_@VPd<)WPAStRw>VoBevGt+(j>zr|TpeE)Ln+$JKRA$*MEgg0&Lv z-B|`KOEmk4D3UYvO!x3^H{nL`+mwpY90{r}P6NpwI=Lj)=DbPwlA}Arc8#+3<<1jb z8=mOw5_MZ6>jqiQ-szs>c*}JnWyD4!8#46qt#0pN-q&1T%&?#kWgN5+JU+G2PSgmo z%!bwIqbOz-Xu{;uEbJPk0Dlb2&vDnyDv=NEDX-zbIpf%*-F`@z&)JevV9hLp7<}W^ zz}Y()F!jf&n)jiI75hBv^F%nUsgKqAFl?WdSBCB7Un@dX9CjaQ=nW_=8o&F>z^X&3CZRy5p9a3}-_;)>5+vz~?!>WONiz1cmC4fRNATcG9@)i?oY#3M7pYDBb zhB#KWeJe0%h7I)GwWW}V$$YGierwEV`cb+F=))hfx4a_ z`MoMuiB>?zj!kzG3*Po6&4;T_82(2R2~81^7ms9tBZ7TBjd7!a0s`hGp2q-_JX&3a zvGjP=y!%kMe8*aJ)xeDyfc^E2(2x|pcJW@tqJHuXpc>U&<6?&rVGFNXnro*qqqdU= z$gqQ^7Unbc`!dS?o1nV0v*W13Ubw=tsS-=v7zpnoU7}-1JD%Lh?*fzb9(cZMk(10y z?{GoP2crHXGDz;Gw~&un5jPVOFQ{Il%b_0_Ewu16HW&T|=D1QP;yVN#wW2-q&2v@i z9QKuvFjF5<=|A(I(x#Y#oKWRytH8bVc@l;Jlqfsk3UXqzTP;u9*x0zF-Fv)&#cI6* zr-p1{$zSw7H6?DftwEMM-OI~`$#CkJ+`k)%gyhY^%fFtVMQfa-jvi0|i);t}6f4mU zq}Jm0HTUS(_rUsWo#hy9yl6sLPMOm85Jnre4+M7*0lY>W3F*8n7MrR_m=`Jo++R~y z=Zl${o=$g5^}?t^sqm$3>5%>PA%5c|IrAg~uB^YS^H)ZXL^1Q)U}cXg=)L8xODWa6 zY2p5c<`Jwm&ljpGq!pvv_Nrt%JyDgv#dFD|hJy)u*q?XDEVZQ^bJjHd-v8eElfLlV% zCR!A33xrU4j^&8>__IAl7rZ^Ey6E+dkYdEWV$r#-8UeKoWoLfLq_19&fCU;vr;yl9 zNxVlV4~m}$1OhP%+3EInB5*EmW10WTuKk>;uKmH5VO&ama3g`+!%*ys_(hlF@7mUX zge8uFg8_L=RJyUu8@HdS#J;In!V0PzhZ1l7+tV)6br^nd70aw*L1oU9WC<<3eq27u zhM1gV!T4uJGyk^_Q;A|meta z)0o}qC1swR6o=CCHA$GrM9mH4@hz_pX5G1*X6`d$xW%;MlPZ@04oOP(OjiNMg5oY5 z5dYp8Q=trh#J}Coc8@zjb=6f&B^F+$hHPh1L=lq-MY`!af-=Hg|LprY`meOQnqBnw zA?AN7BCNv0ED~+96d2;(ex+Zmj7MGPu`*+Vfh~h^dR<)|io(0MZ?BWznmR`GDS4m# z&1s!E{BFx* z5Ql~5s68>PbK4vw0{g#>I3GO*Y5_ZxiCq!+0c=?fq$)o$6sRKBsl{b$+k5 z@E3ZJWZap!lHD-{lTZ$ecEuHs_sb>QY?!`S;&u?&U-~Vn2!fnn^!kIAXeA78?S6wN zr*+!xUwOaI&#xH^09b(BF^GrV1A7F%3Q+{w`^$~>iyyoUAnLP(Vw!ip7~^ykL25Um zP%tw=Y2}n-nRzv$?f1I(k>AB0Uy9VA$i(@568VzJRQTk$BrgL90roC_N&akQ$Qy$S z8%gXSC#4;^U@M8eC~-fo{&w40`efmbw6IUQFV{O5uHqxzV#C_lei$^gY^Bv zE1c@4ug$pVK!}MjHy)>C>-Bc@X1loiI%vAq!^x<#Do7;k_I;$q!C0Lh38 z@M5*WyMoo!rsJQB?-jpTCtCei?e&tM?+dnld3G(<{o;c+K%$N-=78h!%>cbzDo4}T zF5cI>CFpTQFSQZ5{_Gkt-Vmakny;I4$pF|tLvstXN6e|C-H7Eu>l=+ai{qD%lk(B==rN77^yOe1u&v|jP)O3Eg zj#c?^I;4pQ{gIFUf=rqx7W*;Kw?aP6904zdPB{8|b=w1}Z@H)t`~$rp###|Q@;AM$ zlb6O&te29`C)(95O>)-^Nr%7%w<|Ipdj*aHlZ&7aOWz?Vo5(z85P)MTyu$Nlzlrmj0(1S>AZQ9yq-=9k z3}qpa#IBPc-?JK2C%^m3Z#Y+FI!|p>HoFu zl+1ivB_$=|S#kNccJ%aWura&sRMQgAFZTf^+xeyws&t>?CXzc}&-A8;3oWa_5itX# zX@w(gcvtozBe4eR5~JU^!LhMNWyK-6wy79ll~{w13~EC}==0a)OcVe0FV9w~#IA5# zBs)F)kN?miC8&W(x)SVIuInF@jhK~09Tk?6kZUM4DyY?($%BHL-n1VpRXP^VOUKb4 zJ^UY~yCIWwxp`^8{h^;n?Nw^HN`1fJjD#={c-~?_H1_a2&GX&059?JW=xV>xdR2w}`M-AFj(0 zs{G`!{Gow|+3$50%>m2sWDE97-ha6AOp&q3LL+q|7e!{a8^i!5#&m^-?DUBs+13tO zkOv@o$jDxf1fy*_Ibd6g;Y}crBPl67rD%M!vr29^)-9BH^5#kn?D+%u1TzJYUk4TF zmUr5$T+APx)}}0FhOK8-iS^pBL{U+M!ge1@m%U9gqc^?Wk#}$MpC|+MBQwVmjJc%x z!{g;|=FCjX=NWlCBg?U1+rKZD`HSfDifyeA*Sg9S#lQ?cn{8Le)d9Okb|&fOxP+}L zm~C}-oZ5A^VR6>;NW5JQEpJ80L(0SYw?sFJFWROeSt_9A*KMii7bE`I3?xP}IBQ#@ zy1bBcdDh|NNj@GwLv=s7G0E0YeX|}3yHS-4C#C34BrW49i7MGpAf}pJc-T!IQxu8o zYpW}yd!Yb*MLmblnXuAI$b>wvhUH*y-+ezn>@bS5ZUQ2sorf!FC{A7%?yYr6axbHYVH_q zuQD+mOOWqINyUEIsCX!amXZEFp*rA8%trsO-S|ixp=SxyCFd6IC=X!vrwQatVDm&!lz%*0l-$M`f{7vnDKPSn3lzjVt8@z4(xj{uv_(Q9P-mTO<64REhl?Rm2}8wSB4h zWB7Y8Sjp6!n*H69w@~9l=;&S`_H=lK!Vj6HR4I-_s`wDT9R+=A+`e>Me=PhZ%sYvE zBP9qm1$#$4Ge3K+(I62fqq~W`|N4}#R%8wo;`!lk6q zkWZiATv`Dedj6A}dPy@>1$QI6Y+Z!4P$p(^JciR60{d^Z^@B5c%hXzZ$-m0k5H%!! zAm)s#{b94Hn{B*)y@=nXt3$%gq(J{O^+3K1rU*K$$1(6dNd*Q{bB_3u+e3oeO%Jp@ zH2%XrckdC08~-ycbhmpe);(-czud~jlej@d>yx3ljB;v;*8MX8Wcw10y_^rx(WmU= z7)g^_Yb>K_p919R-#IX8tsx^t#U+h9n&ANZ@|T7%=r;d}T^=~k+blAZcYrYtR?2tP zafS&29onOw z|L*-7Ry<6ZpNBfeZ<<)Wg`{>n_KQQtG(KeV()PIM;*GPihQ7Q<4eI!p)pB@VADkh` zq_;cV#j|4A#Ah5jq5jfHzrzft5h(kx;c~mu{A)2X1~A1%e{@oN*z}9b`f$!!bvVd( z%QR8C-uiOZ|ML#Q2A2@Goop{gB7xBoq340@ZSsrPcf~9&aV!Z*sw*e{@>?V%1|CFQ zeEDkdA^+vJAR$rzfBQCh!<(s3R3hd66R8FPt^f7kO4J3v#fa&Cvi=ewzkg}%3>!j{ z4NVE9O!=}3?xOep6No`Ji~aA`Ru-j+5yo%7dv>lG^>%02IJ&$Z^U~T)p994ATuzmQ z^Vae9pbl{8et4()ojVF`+Cxu&_KtFmXHF1+3A(z>qtewzw?T@;`zkJ)fvsRrEe(fN zqQctGHezi_kqF3wn0K=9_Li+UQ^PI)@&~+nWxII^|4BHn@Sps7A+TexKfGPQ7;w^s zV(>Zr-XbHuwK^4!_Fwy6+AsQ}CxUnf!<-ks&Z)Ain!6V1zr`&)<5N`>$CjvIcV^Q2 zYIJ?;|2n+Rf8u-#)O_+AQP+1mmS7IwpI~BIQW(yZ_u=i@_B}Pk$n5{QN4zwSSbUFAP{(>^jzPpOyH zxD-ATB?CUn{DY8b##B;*xv4YF>E0*V7*t=# z$5K)X?K~Fu2Ko%CbOC{3H{AMdtqWfH&roeeuN~aFAdZ5Fh6gME_)HaJ7@8+KK@iL9 zQak&+=c{F?ZAo#N4^Nkht*IiAw1PC=f0`PXJL&F9;hZFVqaV4vf>CO)UQnuMe(MU2_T(B40Oe*Lu*Y`9ug>?XW?&N8Nlhz=m!*#F2wN4xg+m z4BwcMIc_)gbn;!Q7av7{JkY6C1nzMV@-eLoXOFpiFv!o% zirA%#&G6&5;x8eay;5(CQ__b2W zx4U{x3|_+xNt46GtDRRO{5|nGI6_a&KpR;@NC{sRmk9W5R7q!gKKs|s4YR*GstZnd)e7T&sVp zOJ7u{k#d(MwMX2khP>KGkpEqe;8>-xM0)w?n!bO~tLwu^grg_x@~XXH^@cZR)C2>* zhga=1Ksjxv)hE4fIwKi<-S7Oujr?)*WyF|F-0Od*6OZ*F%jbRe$o}^yNsNsL={t%I z4#GX-lqiNuQO{ra()x{fm*q6FriDNl)jh!>^s^9E=s0sl$-(`JQ|DdEAywmeiv{Rh z+6r)|#>6;}Cs$Z)Sq}J!>;YGJfqXPS6Odkc++;l`2MTdWPKcKv7HvJM@H#Z|f!>Hq zT66nhhk+P4tWo-4ni8PLR*eG&l5yF?E7_~mbxrZozJt%f6Ab72lma~`EBiw>$b-pX zVX3>93{OyqK*~ItF#T=py#&`Oa}uuX3pgc^_D@N>==FG;&iadq+6LgsozCn=4n)#@ zR_~Z{i*(-fi0(^Q{*w*0OB_eFBqAgQX8@$TQ#LL$_3|;2YJITjPoedh9;;?t3~3>v zF0|p}C4XEaAuDmo<-t~US9~NrN;VtyWE}hCHiztJbKXS;Gg>TxhL`f(V*~8I+;-|w z-2^s*_;M|>Ym!t=kjs?(hUi*0o=31b*zY^1TMyh4yf*e$Och4F%BL4PK87muX=(NK z7YfOw#AY=9I{Q>Tsdk}TNeotr0#&FN0soWFXkPE^UnOe}If7>>h7zl;fV{%jbUvhp z&1}RsY0Q^SeHd{{AKUfl4gO+qr<8X03skzv_^U$Q!H%&>boNGb+~5s+c?kYK<&e<_ z6Ez2WEsz~Y_A?n80qctMSN;w^dwZ8^HSoN%y#2S0t)H3H2yp_3X9~HW9&@?U{N9$5)9If;Qu&!^9}} zvT5T;DpodG4Yi`LGB%MyME?`FS&%o<$ zsODPd#U;M?o6~nPAqe~Z^-#<4%xc24y(Vo&jkkyk$In+a^NssA>@$)>?Z8;qXnxtM z8@v@=DxMwbA%Ct-k z#>BJ_$N|PC`cuM`J-T8Q)Fi|k#VylKOH}dexspEHh5R`)3d?Wt+kW*9`tlS)u;e@r z=^0~>pMlyY#NxO2b9HyNl0^8cBk#et zKXkFpjxS89foBhYr!mSnm*{!w^zvkcz_F*#!RKgjK>ddGeA8l=wD8R0(TI%KXcPG~ zC~0FWq6&Sp`AciRZ?esiZry*i0Bw_S%f-`sloZz5oXnb^q8KFnb;Tsgzjn^jyJgm& zXEr%C9iw5G=It)FO&q+Fq7&`+Lt-9rF5x-j*;t18G2bsi>i8x3le04s?U2;s(p@Fs8vWZ?TdB{_!-{{Y9{bQw{0G82o_{?};u zPf~3tq=4tA$Mj(Q^z%r4|NSI-89z;9mrxI-?+|?z9Ji+HeEsgIM|4Z|V)7kA^U+9J zwC!7K@7wT|iuv=UrmU0RylCPr$3K}dgzbSA_wEV_r_tf{6B;jUZ%zS&H>3=H0LO0^ zo2mnM8fpZv^PnrcQ;M z46>Kk6abmR_2avN(IRBUbTgYF16gNS@+TGZRLgelM^?7Q+Klk1B=pggg0_6;iJo}{@&&)8Z@?Q(+q4HJ2b zF^QQ0vrBAJ(D+D?jXkib^AB;*97>AYYMn_tL4sFwXYjGTqX*$CXy0f`O2*n?(szfX zcnt4IhXBa{&0Dr&1>8?>_+~hde;}5PdHb#DYl=Ge)Wm*j_B&qQ3w$?Hc+W?;zagOU zs9ePu9k4lZBmR51G7x>zeGBjKbvpoAQpKD_RWmqfC8oJ{^dN&+hW)qk#oo`sh_~pHa>Pr&| zAe@$AM&%sKLX{7&S(!u4a}<5jF?xNH)-82W(tAOM*c^sPW#%kpx0it_2%o*{U99*_ zZ{Lx}Cit)2l-3x*<8U0$dc&lOFlSLh;+843om8{-E4lF~L~ZWgqW!#-{|H3$Y;9Lk zZ9kYdqx@hxk9YRPj9uS+o|nwGXE60XyQvm6%vrbA78){*NhFi(8_->i8ekALjc!?~ zu*3BmOQf9X4({Ef`QKDYBDmVt&jz;x+z76kRs8hkGJde{$>f#P)`mijp&`tctQxd3 z{mjp=5DPRi8fQar!qt!Mu$ToXAd+Q-#J zfp>%_HmuqNAWa;dv?+D8+@yAQxuh{TZ}ngE&7Md8DCucjIT7do*uaAjt3h!Sk0q=O zCuT)5A!~#gp8BPG6!ZEJY_xRs$0#%RF5k}a)b#p~vCZ9W4;7Yo0^d5qmlOaBfqgBTIczes=6l$ksIzs78K)|2kbN}B-tD{F z5FKx?|9U8$|6z}GQz9NZ>%UzjBeSm0m_EA6Zt6GEH4=sJb81+lZEfBq9Gg$Nnn4)rNK7HLT73msn@c({xcYYgsi- zd*Wf)T1tpSWYdzUl-on0m4-iy|m z;GU2w3gJq_^?s@&tZ%Uqa0lV|$=2oxDUZ$=QwX(WtQt=QreP=jQ3`HZkfkVC^ZC!c(slcu4b=G_RzPIkyV2pNTL5G`%T^nz zu$bowS=pS^lx)F`$7!B#9I!c{pc%(WiZ$7BwbR}w%=+N#y{{NgGSNrad?nX5LxGl~ zA*s3k6 zI$&&y(FfI^rVgE}y@{<=>de+BVC!T|kK3dDR}a_J_i$%FVc>LOG3kv!6oZ$8hL8#% z5K6A1!hrCMCeNC90~-l&9k?}Po2OQDSdwovq+*N_w9FQ%T21x63|ts!g$x<*Er8SV z^BB)ov(@GW6od1`8V%AbMmz#WLF7r|Af(%NynLxqWg&L@F=NXjIf{WlPa;o90H~&b zu;Ey%VoSp<)SNe9LiM?v;90Rx4$?%*q-;#)6;`=B*E=)8C=rc$-?LhaZaXWEDZ@

mY#>>tj{ZESf!!?x%mFzWOqpq?8b;@Q|^>Nx(^CQy;G&J zOeb9B4;_)2U0-0V7^yAVndb`H_>8*HoHT~(k;qi-h7BlvEseyh$Bpg-Uu|omf4$7w zs0eQv6qL^*tOhd>toY@Vj3zu#3hiyixHxqmyf04xfxIA!Zr)k*Q3GKCb6$f_>~)<@ z7275SdziV5OM`67?id5_SbJw=$Ux>DvmVP-EHY?&pXx`$xvZ8lLgJFYtC?<8sWl}E zNe7meimE|X!IXcNh?Quw*^TQT8Bf<4$%yx;Mq^qwM(3uPdj{`NYXB{Sc&4U2yRZl|NW4|H>-L}A^Oas)77|jF|TSMBLxR}ylwggY`(Vw z(wu2J<_-@Wn#lwk=kPEwF}V_Lp63`xDX9x!uFrTkUd;RfYVsi^rHZx8XuV`W3+U{i zRYE0NA7D=1-wO~S9KEL&G(#lT;(U+XoX&8V0lWH+o`^D;vmAN0F$5-e1MA>ATL%)e zb!`Q%!a#oIt-F2392|8wh|l(21|t=zEcO$70|;GKFggEw`d{4ng3`ZJB{zE=s;s($pZ*daiqI&sFhV^-_QB!d@b1%fwJadYZMD* zipTL6azS>5tdp~zbGJs63x^3spn1UdPh^jpYuk{7CdDnQ zaeXJpVF>I;dSPnhyel5rw+h(^B_$yJeDnoI@}f^y?8%}4fa%kXiS%j+$5dY|m6JwD zNU`riv~(S~RVcuJDIxLjf_Rc*#gHNV1Xu($`pWk()U2p6%}1Z$xkJ4slKxqs;ZH?62Eb=PK|!MP9VZ?`dpY}xfY4riQLTR zhOB0pvJPi3l2@!1xxep_02`|*n8=LHb3E9^@m~|tqOV#UE%A+1Q*bxg)06`?p_>+e zec7WcJxe;5fWWjjxj~%sC}6+DOd8@0!e}SD(oujaX5#&?KI4mu-rN*0zxm|PDsH3z2(sVRe?&3$W}e({k&;ed zF)|UI$WEWo2R7+xJAqhm3a7hdGgYo*gBff^1wF>$QtAf-Ee*AcVU;q+5v{_z`K(2$ z)H|35)>Yr3;wg>zB-Y}yyz2<3*4fjxz^cQ{$!XZ7)isbJVqeYnFN5`Tic?wT6KgqK zWmn7Z(=lI6#BT22m znS3Q!=G;EV{VsXovJ4rv2gQ6{)>-MSbWSY+OcMuY@3HjP_y-yCx3rOm$>%5I{8(FB zDcLMTx3_RZD6s-(-miA?tq)@=qyNDdiGb-NIWXj;FhiB&fjdc(Xo#pl+`H~ljK)gk z$(SR!&!;gJ9b4@hcbQT!P=BpG9hN_~Zo2WlP6lD1(Dq8tGbnT55tQ`>uEAJ>_COzN zd_F@+OD(b)ZP zH_p~6LbqxOcBMydX-oXxzO^LQ8}+-!o%R&~5h8iMH;}QvZXc8gqYs)r1>(0&DZ$2^kEsp8s57w5Xgqv><*Ft( z?c`gw%6T5TTA1CoY?k#pBug8H58(Yio-sQnP0K1puB}k*Jj;z>t)4!ZE~euZeH%w^ zI_<8!NBzcYu_1_hx+mglK}*dzo%PeQKBJAsFy$BGSmGl^>6*my0Fx=Uot$dP4;h!W zC9tchjnymMzG!xYgvs5e=EgulknRJ(Y!7aJ&TExI!f|ka9@10-BFb z-87|fz0U`v&X&}1!jh3vo+H~lFUzSJ8eog5u`-)GAjg_j2suJJZrjMYhwMU^*#B#> zzq;Dv|8xgV+7|k52f-p8k4)&-+hU7L2*XKDZ76Q>Oi-*UEpR{>_CG|xS)Z|HfB8(@ zXMriuj$RWOsQGYsTdXSU93Ng~-C6I~ua1)*G&eyOSUg3Zi5iZ3xpy`dXi%6=L4qy@ z{4hq$;OsWyW0Ky_U|WU4^FnL}Elg&%LMM{7-`Yl`x!{_$>p0&JmmX% z*&tzPOzH35v~%p*m6=G!-5=$hbw$Cj*z&-Qbn>q3V`0R)QW2Yb+_Ho7a=DSMJ|hd|Iyt} zvRWC(*`shOZU?@ls7`bI(#N>qQ}3#~bCsc->h2p?1pwy4E#r!RHg<~{{KMS;=!oy&CH-x3mI0jsJra)+k%#vAtC0jE8dpy@02WDwk4 zA+|63I(a99c?Et)!}_#$GYAPwAiB8%E+Mr`nUv+yyJaqUvM+I?nv=SEN`l

nP@ubWZNm5tzG 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 literal 0 HcmV?d00001 diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 55bd8e51d4..e015dc76df 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -63,6 +63,8 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? +:c,image(JPG/pair_body_rounded.jpg) + In "Fraige"_#Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 5f43ebee63..4c48b5c1bf 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -64,6 +64,8 @@ explains how contact is defined? Do we need an equation(s) that explain what the params in pair style and coeff mean, for damping and spring constants? Or do we just want to reference the paper for that? +:c,image(JPG/pair_body_rounded.jpg) + In "Wang"_#Wang, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). From 27dc7f3205f5da2c7379ef3141df66546c054557 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 16 Jul 2018 11:44:45 -0500 Subject: [PATCH 22/29] Added a tex file for the equations of pair rounded/polygon and rounded/polyhedron --- doc/src/Eqs/pair_body_rounded.tex | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 doc/src/Eqs/pair_body_rounded.tex diff --git a/doc/src/Eqs/pair_body_rounded.tex b/doc/src/Eqs/pair_body_rounded.tex new file mode 100644 index 0000000000..54e095340f --- /dev/null +++ b/doc/src/Eqs/pair_body_rounded.tex @@ -0,0 +1,13 @@ +\documentstyle[12pt]{article} + +\begin{document} + +\begin{eqnarray*} + F_n &=& k_n \delta_n - c_n v_n, \qquad \delta_n \le 0 \\ + &=& -k_{na} \delta_n - c_n v_n, \qquad 0 < \delta_n \le r_c \\ + &=& 0 \qquad \qquad \qquad \qquad \delta_n > r_c \\ + F_t &=& \mu k_n \delta_n - c_t v_t, \qquad \delta_n \le 0 \\ + &=& 0 \qquad \qquad \qquad \qquad \delta_n > 0 +\end{eqnarray*} + +\end{document} From cfa6e8717d2dfd9c5ec2c93dfafdd88de2d8dfb1 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Mon, 16 Jul 2018 12:45:23 -0500 Subject: [PATCH 23/29] Updated doc pages for pair body rounded/polygon and rounded/polyhedron with equations --- doc/src/Eqs/pair_body_rounded.jpg | Bin 0 -> 146978 bytes doc/src/pair_body_rounded_polygon.txt | 8 ++++---- doc/src/pair_body_rounded_polyhedron.txt | 8 ++++---- 3 files changed, 8 insertions(+), 8 deletions(-) create mode 100644 doc/src/Eqs/pair_body_rounded.jpg diff --git a/doc/src/Eqs/pair_body_rounded.jpg b/doc/src/Eqs/pair_body_rounded.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e7136ddd20c2acea0e89fa8412497333f15cb541 GIT binary patch literal 146978 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

&mla2Bv-j9_LOV>rgc(FYfl_PM7S)w>bPe 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 Date: Mon, 16 Jul 2018 14:52:18 -0600 Subject: [PATCH 24/29] doc file changes/Qs added for body DEM particles --- doc/src/JPG/pair_body_rounded.jpg | Bin 0 -> 35619 bytes doc/src/JPG/pair_body_rounded.png | Bin 650896 -> 0 bytes doc/src/body.txt | 61 ++++++++++++--------- doc/src/pair_body_rounded_polygon.txt | 67 +++++++++++++++-------- doc/src/pair_body_rounded_polyhedron.txt | 34 +++++++++--- 5 files changed, 105 insertions(+), 57 deletions(-) create mode 100644 doc/src/JPG/pair_body_rounded.jpg delete mode 100644 doc/src/JPG/pair_body_rounded.png diff --git a/doc/src/JPG/pair_body_rounded.jpg b/doc/src/JPG/pair_body_rounded.jpg new file mode 100644 index 0000000000000000000000000000000000000000..cd745c44e27e96585be021b3dcca342f686e15e9 GIT binary patch literal 35619 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

nP@ubWZNm5tzG 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 diff --git a/doc/src/body.txt b/doc/src/body.txt index 0e64e6ad5b..be5b3d4edf 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -27,9 +27,9 @@ styles supported by LAMMPS are as follows. The name in the first column is used as the {bstyle} argument for the "atom_style body"_atom_style.html command. -{nparticle} | rigid body with N sub-particles | -{rounded/polygon} | 2d polygons with N vertices :tb(c=2,s=|) -{rounded/polyhedron} | 3d polyhedra with N vertices, E edges and F faces :tb(c=2,s=|) +{nparticle} : rigid body with N sub-particles +{rounded/polygon} : 2d polygons with N vertices +{rounded/polyhedron} : 3d polyhedra with N vertices, E edges and F faces :tb(s=:) The body style determines what attributes are stored for each body and thus how they can be used to compute pairwise body/body or @@ -180,11 +180,11 @@ The {bflag2} argument is ignored. The {rounded/polygon} body style represents body particles as a 2d polygon with a variable number of N vertices. This style can only be -used for 2d models; see the "boundary"_boundary.html command. +used for 2d models; see the "boundary"_boundary.html command. See the +"pair_style body/rounded/polygon" doc page for a diagram of two +squares with rounded circles at the vertices. Special cases for N = 1 +(circle) and N = 2 (rod with rounded ends) can also be specified. -NOTE: include a diagram of a rounded polygon body particle - -Special cases for N = 1 (spheres) and N = 2 (rods) are also included. One use of this body style is for 2d discrete element models, as described in "Fraige"_#Fraige. @@ -220,9 +220,9 @@ vertices (x1 to zN) as 3N values (with z = 0.0 for each), followed by 2N vertex indices corresponding to the end points of the N edges, followed by a single diameter value = the rounded diameter of the circle that surrounds each vertex. The diameter value can be different -for each body particle. These floating-point values can be -listed on as many lines as you wish; see the -"read_data"_read_data.html command for more details. +for each body particle. These floating-point values can be listed on +as many lines as you wish; see the "read_data"_read_data.html command +for more details. The 6 moments of inertia (ixx,iyy,izz,ixy,ixz,iyz) should be the values consistent with the current orientation of the rigid body @@ -235,9 +235,10 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a square particle -whose edge length is sqrt(2) and rounded diameter is 1.0 in length unit -and initial orientation is determined from the 6 moments of inertia -(ixx iyy izz ixy ixz iyz): +whose edge length is sqrt(2) and rounded diameter is 1.0. The +orientation of the square is aligned with the xy coordinate axes which +is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = +1 1 4 0 0 0. 3 1 27 4 @@ -265,14 +266,14 @@ body particles with a wall. The {rounded/polyhedron} body style represents body particles as a 3d polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the -"boundary"_boundary.html command. +"boundary"_boundary.html command. See the "pair_style +body/rounded/polygon" doc page for a diagram of a two 2d squares with +rounded circles at the vertices. A 3d cube with rounded spheres +at the 8 vertices and 12 rounded edges would be similar. -NOTE: include a diagram of a rounded polyhedron body particle - -NOTE: 2d objects can also be specified as a special case, e.g. -for a triangle, N = 3, E = 3 and F = 1. - -Special cases for N = 1 (spheres) and N = 2 (rods) are also valid. +TRUNG: What are the special cases allowed for 3d, if any? Similar to +the N=1 (sphere) and N=2 (rod) special cases for 2d, descibed in +previous section. This body style is for 3d discrete element models, as described in "Wang"_#Wang. @@ -316,9 +317,9 @@ moments of inertia followed by the coordinates of the N vertices (x1 to zN) as 3N values, followed by 2N vertex indices corresponding to the end points of the E edges, then 4*F vertex indices defining F faces. The last value is the diameter value = the rounded diameter of -the sphere that surrounds each vertex. The diameter value can be different -for each body particle. These floating-point values -can be listed on as many lines as you wish; see the +the sphere that surrounds each vertex. The diameter value can be +different for each body particle. These floating-point values can be +listed on as many lines as you wish; see the "read_data"_read_data.html command for more details. Because the maxmimum vertices per face is hard-coded to be 4 (i.e. quadrilaterals), faces with more than 4 vertices need to be @@ -340,9 +341,10 @@ position of the particle is specified by the x,y,z values in the {Atoms} section of the data file. For example, the following information would specify a cubic particle -whose edge length is 2.0 and rounded diameter is 0.5 in length unit -and initial orientation is determined from the 6 moments of inertia -(ixx iyy izz ixy ixz iyz): +whose edge length is 2.0 and rounded diameter is 0.5. +The orientation of the cube is aligned with the xyz coordinate axes +which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz +iyz = 0.667 0.667 0.667 0 0 0. 1 3 79 8 12 6 @@ -375,6 +377,13 @@ and initial orientation is determined from the 6 moments of inertia 3 0 4 7 0.5 :pre +The "pair_style +body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can +be used with this body style to compute body/body interactions. The +"fix wall/body/polyhedron"_fix_wall_body_polygon.html command can be +used with this body style to compute the interaction of body particles +with a wall. + :line For output purposes via the "compute diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index d611e8ec98..588a7d6ff9 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -28,9 +28,9 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise -body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 of -the manual and the "body"_body.html doc page for more details on using +body/body interactions as well as interactions between body and point +particles. See "Section 6.14"_Section_howto.html#howto_14 of the +manual and the "body"_body.html doc page for more details on using body particles. This pairwise interaction between rounded polygons is described in @@ -44,36 +44,50 @@ multiple contact points. Note that when two particles interact, the effective surface of each polygon particle is displaced outward from each of its vertices and -edges by half its circle diameter. The interaction forces and -energies between two particles are defined with respect to the -separation of their respective rounded surfaces, not by the separation -of the vertices and edges themselves. +edges by half its circle diameter (as in the diagram below of a gray +and yellow square particle). The interaction forces and energies +between two particles are defined with respect to the separation of +their respective rounded surfaces, not by the separation of the +vertices and edges themselves. This means that the specified cutoff in the pair_style command should be large enough to encompass the center-to-center distance between two -particles (at any orientation) which would produce a surface-surface -overlap. For example, consider two square particles with edge length -= 1.0 and circle diameter 0.2. The maximum distance of one polygon's -surface from its center is not sqrt(2)/2, but (sqrt(2)+0.1)/2. Thus -the cutoff distance should be sqrt(2) + 0.1, since the surfaces of two -particles that far apart could be touching. +particles (at any orientation) which would produce an overlap of the +two surfaces. For example, consider two square particles with edge +length = 1.0 and circle diameter 0.2. The maximum distance of one +polygon's surface from its center is not sqrt(2)/2, but +(sqrt(2)+0.1)/2. Thus the cutoff distance should be sqrt(2) + 0.1, +since the surfaces of two particles that far apart could be touching. -The forces between vertex-vertex, vertex-edge, vertex-face and edge-edge +The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: :c,image(Eqs/pair_body_rounded.jpg) :c,image(JPG/pair_body_rounded.jpg) -In "Fraige"_#Fraige, the tangential friction force between two particles -that are in contact is modeled differently prior to gross sliding -(i.e. static friction) and during gross-sliding (kinetic friction). -The latter takes place when the tangential deformation exceeds -the Coulomb frictional limit. In the current implementation, however, -we do not take into account frictional history, i.e. we do not keep track -of how many time steps the two particles have been in contact -nor calculate the tangential deformation. We assume that gross sliding -takes place right when two particles are in contact. +In "Fraige"_#Fraige, the tangential friction force between two +particles that are in contact is modeled differently prior to gross +sliding (i.e. static friction) and during gross-sliding (kinetic +friction). The latter takes place when the tangential deformation +exceeds the Coulomb frictional limit. In the current implementation, +however, we do not take into account frictional history, i.e. we do +not keep track of how many time steps the two particles have been in +contact nor calculate the tangential deformation. Instead, we assume +that gross sliding takes place as soon as two particles are in +contact. + +TRUNG: The diagram label "cohesive regions" confuses me. Are you +saying there is some distance d for which the force is attractive, +i.e. the particles are cohesive? I think when d > Ri + Rj, since Ri + +Rj is the surface/surface overlap discussed above? If so, then the +discussion above about the specified cutoff is wrong? I.e. you can +specify a large cutoff than the surface/surface overlap to get +cohesive interactions? If so, this should be explained up above. +But an additional confusion is that the specied cutoff (Rc in diagram?) +is a single number, but depedning on the orientiation of the 2 +particles they might have a suface/surface overlap at a much +smaller value of Ri + Rj. So what is Rc then? The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, @@ -82,6 +96,13 @@ or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +Effectively, k_n and k_na are the slopes of the red lines in the plot +above for force versus distance, for r < 0 and 0 < r < rc +respectively. TRUNG: is this sentence correct? + +TRUNG: reminder to copy any change in this file +to the pair polyhedron file as well (and vice versa) + [Mixing, shift, table, tail correction, restart, rRESPA info]: This pair style does not support the "pair_modify"_pair_modify.html diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 52f6294d85..621254bd72 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -33,6 +33,20 @@ point-particles. See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using body particles. +TRUNG: I think we need a paragraph here about how body/sphere +interactions are handled. Does this pair style only do body/body but +allow for a body = sphere or rod or some other degenerate case? Or +does this pair style allow you to model a simulation of mixed body and +point particles, where point particles are spheroids. If so, does +this pair style do body/body and body/point, and you use one of the +other granular pair styles to do point/point? I.e. a pair hybrid +model? Or does everything have to be defined as bodies. Actually +this paragraph would make more sense in the body.txt file about how to +create a model that includes non-body particles (spheres). And in +this pair style file just a couple lines about which part of the +interactions this pair style computes. Ditto in the pair body polygon +file. + This pairwise interaction between rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and edges, but is rounded at its vertices and edges by spheres centered on @@ -59,8 +73,8 @@ surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two particles that far apart could be touching. -The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge -and edge-face are given by: +The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, +and edge-face overlaps are given by: :c,image(Eqs/pair_body_rounded.jpg) @@ -69,12 +83,12 @@ and edge-face are given by: In "Wang"_#Wang, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). -The latter takes place when the tangential deformation exceeds -the Coulomb frictional limit. In the current implementation, however, -we do not take into account frictional history, i.e. we do not keep track -of how many time steps the two particles have been in contact -nor calculate the tangential deformation. We assume that gross sliding -takes place right when two particles are in contact. +The latter takes place when the tangential deformation exceeds the +Coulomb frictional limit. In the current implementation, however, we +do not take into account frictional history, i.e. we do not keep track +of how many time steps the two particles have been in contact nor +calculate the tangential deformation. Instead, we assume that gross +sliding takes place as soon as two particles are in contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, @@ -83,6 +97,10 @@ or in the data file read by the "read_data"_read_data.html command: k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul +Effectively, k_n and k_na are the slopes of the red lines in the plot +above for force versus distance, for r < 0 and 0 < r < rc +respectively. TRUNG: is this sentence correct? + [Mixing, shift, table, tail correction, restart, rRESPA info]: This pair style does not support the "pair_modify"_pair_modify.html From d23788831c8833ed78b1bb603ad417e021af98d2 Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 17 Jul 2018 10:54:05 -0500 Subject: [PATCH 25/29] Updated to the doc pages of body rounded/polygon and rounded/polyhedra and the pair style: + added examples for special cases with disks and rods for 2d, and spheres and rods for 3d, + corrected the definition of the cutoff distance in pair style command --- doc/src/body.txt | 38 +++++++++++++++++++- doc/src/pair_body_rounded_polygon.txt | 45 +++++++++++++----------- doc/src/pair_body_rounded_polyhedron.txt | 18 ++++------ 3 files changed, 68 insertions(+), 33 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index be5b3d4edf..85095f7fb6 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -238,7 +238,7 @@ For example, the following information would specify a square particle whose edge length is sqrt(2) and rounded diameter is 1.0. The orientation of the square is aligned with the xy coordinate axes which is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = -1 1 4 0 0 0. +1 1 4 0 0 0. Note that only Izz matters in 2D simulations. 3 1 27 4 @@ -253,6 +253,24 @@ is consistent with the 6 moments of inertia: ixx iyy izz ixy ixz iyz = 3 0 1.0 :pre +A rod in 2D, whose length is 4.0, mass 1.0, rounded at two ends +by circles of diameter 0.5, is specified as follows: + +1 1 13 +2 +1 1 1.33333 0 0 0 +-2 0 0 +2 0 0 +0.5 :pre + +A disk, whose diameter is 3.0, mass 1.0, is specified as follows: + +1 1 10 +1 +1 1 4.5 0 0 0 +0 0 0 +3.0 :pre + The "pair_style body/rounded/polygon"_pair_body_rounded_polygon.html command can be used with this body style to compute body/body interactions. The "fix wall/body/polygon"_fix_wall_body_polygon.html @@ -377,6 +395,24 @@ iyz = 0.667 0.667 0.667 0 0 0. 3 0 4 7 0.5 :pre +A rod in 3D, whose length is 4.0, mass 1.0 and rounded at two ends +by circles of diameter 0.5, is specified as follows: + +1 1 13 +2 +0 1.33333 1.33333 0 0 0 +-2 0 0 +2 0 0 +0.5 :pre + +A sphere whose diameter is 3.0 and mass 1.0, is specified as follows: + +1 1 10 +1 +0.9 0.9 0.9 0 0 0 +0 0 0 +3.0 :pre + The "pair_style body/rounded/polhedron"_pair_body_rounded_polyhedron.html command can be used with this body style to compute body/body interactions. The diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index 588a7d6ff9..b4135a4065 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -29,9 +29,10 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise body/body interactions as well as interactions between body and point -particles. See "Section 6.14"_Section_howto.html#howto_14 of the +particles (modeled as disks with a specified diameter). +See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using -body particles. +body rounded/polygon particles. This pairwise interaction between rounded polygons is described in "Fraige"_#Fraige, where a polygon does not have sharp corners, but is @@ -50,14 +51,8 @@ between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. -This means that the specified cutoff in the pair_style command should -be large enough to encompass the center-to-center distance between two -particles (at any orientation) which would produce an overlap of the -two surfaces. For example, consider two square particles with edge -length = 1.0 and circle diameter 0.2. The maximum distance of one -polygon's surface from its center is not sqrt(2)/2, but -(sqrt(2)+0.1)/2. Thus the cutoff distance should be sqrt(2) + 0.1, -since the surfaces of two particles that far apart could be touching. +This means that the specified cutoff in the pair_style command is +the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: @@ -66,17 +61,6 @@ are given by: :c,image(JPG/pair_body_rounded.jpg) -In "Fraige"_#Fraige, the tangential friction force between two -particles that are in contact is modeled differently prior to gross -sliding (i.e. static friction) and during gross-sliding (kinetic -friction). The latter takes place when the tangential deformation -exceeds the Coulomb frictional limit. In the current implementation, -however, we do not take into account frictional history, i.e. we do -not keep track of how many time steps the two particles have been in -contact nor calculate the tangential deformation. Instead, we assume -that gross sliding takes place as soon as two particles are in -contact. - TRUNG: The diagram label "cohesive regions" confuses me. Are you saying there is some distance d for which the force is attractive, i.e. the particles are cohesive? I think when d > Ri + Rj, since Ri + @@ -89,6 +73,25 @@ is a single number, but depedning on the orientiation of the 2 particles they might have a suface/surface overlap at a much smaller value of Ri + Rj. So what is Rc then? +Note that F_n and F_t are functions of the surface separation +\delta_n = d - (R_i + R_j). +In this model, when (R_i + R_j) < d < (R_i + R_j) + r_c, that is, +0 < \delta_n < r_c, the cohesive region of the two surfaces overlap +and the two surfaces are attractive to each other. + + +In "Fraige"_#Fraige, the tangential friction force between two +particles that are in contact is modeled differently prior to gross +sliding (i.e. static friction) and during gross-sliding (kinetic +friction). The latter takes place when the tangential deformation +exceeds the Coulomb frictional limit. In the current implementation, +however, we do not take into account frictional history, i.e. we do +not keep track of how many time steps the two particles have been in +contact nor calculate the tangential deformation. Instead, we assume +that gross sliding takes place as soon as two particles are in +contact. + + The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file read by the "read_data"_read_data.html command: diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 621254bd72..3f0a2403d0 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -29,9 +29,10 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 3d models of body particles of style {rounded/polyhedron}. It calculates pairwise body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 of +point-particles (modeled as spheres with a specified diameter). +See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using -body particles. +body rounded/polyhedron particles. TRUNG: I think we need a paragraph here about how body/sphere interactions are handled. Does this pair style only do body/body but @@ -47,7 +48,7 @@ this pair style file just a couple lines about which part of the interactions this pair style computes. Ditto in the pair body polygon file. -This pairwise interaction between rounded polyhedra is described in +This pairwise interaction between the rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and edges, but is rounded at its vertices and edges by spheres centered on each vertex with a specified diameter. The edges if the polyhedron @@ -57,6 +58,7 @@ in the data file read by the "read data"_read_data.html command. This is a discrete element model (DEM) which allows for multiple contact points. + Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, edges, and faces by half its sphere diameter. The interaction forces @@ -64,14 +66,8 @@ and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. -This means that the specified cutoff in the pair_style command should -be large enough to encompass the center-to-center distance between two -particles (at any orientation) which would produce a surface-surface -overlap. For example, consider two cubic particles with edge length = -1.0 and sphere diameter 0.2. The maximum distance of one polygon's -surface from its center is not sqrt(3)/2, but (sqrt(3)+0.1)/2. Thus -the cutoff distance should be sqrt(3) + 0.1, since the surfaces of two -particles that far apart could be touching. +This means that the specified cutoff in the pair_style command is +the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, and edge-face overlaps are given by: From de69e2455102bbeffbadfa7a3a4192036aa72d6d Mon Sep 17 00:00:00 2001 From: Trung Nguyen Date: Tue, 17 Jul 2018 11:05:32 -0500 Subject: [PATCH 26/29] Added replies to Steve's questions --- doc/src/pair_body_rounded_polygon.txt | 8 +++++--- doc/src/pair_body_rounded_polyhedron.txt | 10 +++++++--- 2 files changed, 12 insertions(+), 6 deletions(-) diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index b4135a4065..ea77fa9247 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -71,7 +71,8 @@ cohesive interactions? If so, this should be explained up above. But an additional confusion is that the specied cutoff (Rc in diagram?) is a single number, but depedning on the orientiation of the 2 particles they might have a suface/surface overlap at a much -smaller value of Ri + Rj. So what is Rc then? +smaller value of Ri + Rj. So what is Rc then? - I added +the following paragraph to address this. Note that F_n and F_t are functions of the surface separation \delta_n = d - (R_i + R_j). @@ -100,8 +101,9 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus distance, for r < 0 and 0 < r < rc -respectively. TRUNG: is this sentence correct? +above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c +respectively. (TRUNG: is this sentence correct? - it should read delta_n, +instead of r) TRUNG: reminder to copy any change in this file to the pair polyhedron file as well (and vice versa) diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 3f0a2403d0..cb4ec00917 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -46,7 +46,10 @@ this paragraph would make more sense in the body.txt file about how to create a model that includes non-body particles (spheres). And in this pair style file just a couple lines about which part of the interactions this pair style computes. Ditto in the pair body polygon -file. +file. - The pair style supports body/sphere and sphere/sphere +given that all the atoms should be of body rounded/polyhedron. +I updated the above paragraph and added examples in body.txt for +specifying the special objects (i.e. spheres and rods). This pairwise interaction between the rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and @@ -94,8 +97,9 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus distance, for r < 0 and 0 < r < rc -respectively. TRUNG: is this sentence correct? +above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c +respectively. (TRUNG: is this sentence correct? - it should read delta_n, +instead of r) [Mixing, shift, table, tail correction, restart, rRESPA info]: From 843b96e8dd579f7c02cac30948b258186664b0a0 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 18 Jul 2018 08:49:42 -0600 Subject: [PATCH 27/29] more changes to new polygon/hedron docs and command names --- doc/src/Section_commands.txt | 6 +- doc/src/body.txt | 10 ++-- ...{pair_body.txt => pair_body_nparticle.txt} | 10 ++-- doc/src/pair_body_rounded_polygon.txt | 59 ++++++++----------- doc/src/pair_body_rounded_polyhedron.txt | 50 +++++++--------- examples/body/in.body | 2 +- ...{pair_body.cpp => pair_body_nparticle.cpp} | 24 ++++---- .../{pair_body.h => pair_body_nparticle.h} | 12 ++-- 8 files changed, 81 insertions(+), 92 deletions(-) rename doc/src/{pair_body.txt => pair_body_nparticle.txt} (93%) rename src/BODY/{pair_body.cpp => pair_body_nparticle.cpp} (95%) rename src/BODY/{pair_body.h => pair_body_nparticle.h} (90%) diff --git a/doc/src/Section_commands.txt b/doc/src/Section_commands.txt index 3dabdbeaa1..3b73dee150 100644 --- a/doc/src/Section_commands.txt +++ b/doc/src/Section_commands.txt @@ -664,6 +664,8 @@ USER-INTEL, k = KOKKOS, o = USER-OMP, t = OPT. "vector"_fix_vector.html, "viscosity"_fix_viscosity.html, "viscous"_fix_viscous.html, +"wall/body/polygon"_fix_wall_body_polygon.html, +"wall/body/polyhedron"_fix_wall_body_polyhedron.html, "wall/colloid"_fix_wall.html, "wall/gran"_fix_wall_gran.html, "wall/gran/region"_fix_wall_gran_region.html, @@ -914,7 +916,9 @@ KOKKOS, o = USER-OMP, t = OPT. "airebo (oi)"_pair_airebo.html, "airebo/morse (oi)"_pair_airebo.html, "beck (go)"_pair_beck.html, -"body"_pair_body.html, +"body/nparticle"_pair_body_nparticle.html, +"body/rounded/polygon"_pair_body_rounded/polygon.html, +"body/rounded/polyhedron"_pair_body_rounded/polyhedron.html, "bop"_pair_bop.html, "born (go)"_pair_born.html, "born/coul/dsf"_pair_born.html, diff --git a/doc/src/body.txt b/doc/src/body.txt index 85095f7fb6..cef40cc643 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -286,12 +286,10 @@ polyhedron with a variable number of N vertices, E edges and F faces. This style can only be used for 3d models; see the "boundary"_boundary.html command. See the "pair_style body/rounded/polygon" doc page for a diagram of a two 2d squares with -rounded circles at the vertices. A 3d cube with rounded spheres -at the 8 vertices and 12 rounded edges would be similar. - -TRUNG: What are the special cases allowed for 3d, if any? Similar to -the N=1 (sphere) and N=2 (rod) special cases for 2d, descibed in -previous section. +rounded circles at the vertices. A 3d cube with rounded spheres at +the 8 vertices and 12 rounded edges would be similar. Special cases +for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be +specified. This body style is for 3d discrete element models, as described in "Wang"_#Wang. diff --git a/doc/src/pair_body.txt b/doc/src/pair_body_nparticle.txt similarity index 93% rename from doc/src/pair_body.txt rename to doc/src/pair_body_nparticle.txt index 7899da832b..8c5b6e155d 100644 --- a/doc/src/pair_body.txt +++ b/doc/src/pair_body_nparticle.txt @@ -10,21 +10,21 @@ pair_style body command :h3 [Syntax:] -pair_style body cutoff :pre +pair_style body/nparticle cutoff :pre cutoff = global cutoff for interactions (distance units) [Examples:] -pair_style body 3.0 +pair_style body/nparticle 3.0 pair_coeff * * 1.0 1.0 pair_coeff 1 1 1.0 1.5 2.5 :pre [Description:] -Style {body} is for use with body particles and calculates pairwise -body/body interactions as well as interactions between body and -point-particles. See "Section 6.14"_Section_howto.html#howto_14 +Style {body/nparticle} is for use with body particles and calculates +pairwise body/body interactions as well as interactions between body +and point-particles. See "Section 6.14"_Section_howto.html#howto_14 of the manual and the "body"_body.html doc page for more details on using body particles. diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index ea77fa9247..caaa0746a1 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -28,11 +28,11 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 2d models of body particles of style {rounded/polygon}. It calculates pairwise -body/body interactions as well as interactions between body and point -particles (modeled as disks with a specified diameter). -See "Section 6.14"_Section_howto.html#howto_14 of the -manual and the "body"_body.html doc page for more details on using -body rounded/polygon particles. +body/body interactions which can include body particles modeled as +1-vertex circular disks with a specified diameter. See "Section +6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body +rounded/polygon particles. This pairwise interaction between rounded polygons is described in "Fraige"_#Fraige, where a polygon does not have sharp corners, but is @@ -51,8 +51,21 @@ between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices and edges themselves. -This means that the specified cutoff in the pair_style command is -the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). +This means that the specified cutoff in the pair_style command is the +cutoff distance, r_c, for the surface separation, \delta_n (see figure +below). This is the distance at which two particles no longer +interact. If r_c is specified as 0.0, then it is a contact-only +interaction. I.e. the two particles must overlap in order to exert a +repulsive force on each other. If r_c > 0.0, then the force between +two particles will be attractive for surface separations from 0 to +r_c, and repulsive once the particles overlap. + +Note that unlike for other pair styles, the specified cutoff is not +the distance between the centers of two particles at which they stop +interacting. This center-to-center distance depends on the shape and +size of the two particles and their relative orientation. LAMMPS +takes that into account when computing the surface separation distance +and applying the r_c cutoff. The forces between vertex-vertex, vertex-edge, and edge-edge overlaps are given by: @@ -61,25 +74,10 @@ are given by: :c,image(JPG/pair_body_rounded.jpg) -TRUNG: The diagram label "cohesive regions" confuses me. Are you -saying there is some distance d for which the force is attractive, -i.e. the particles are cohesive? I think when d > Ri + Rj, since Ri + -Rj is the surface/surface overlap discussed above? If so, then the -discussion above about the specified cutoff is wrong? I.e. you can -specify a large cutoff than the surface/surface overlap to get -cohesive interactions? If so, this should be explained up above. -But an additional confusion is that the specied cutoff (Rc in diagram?) -is a single number, but depedning on the orientiation of the 2 -particles they might have a suface/surface overlap at a much -smaller value of Ri + Rj. So what is Rc then? - I added -the following paragraph to address this. - -Note that F_n and F_t are functions of the surface separation -\delta_n = d - (R_i + R_j). -In this model, when (R_i + R_j) < d < (R_i + R_j) + r_c, that is, -0 < \delta_n < r_c, the cohesive region of the two surfaces overlap -and the two surfaces are attractive to each other. - +Note that F_n and F_t are functions of the surface separation \delta_n += d - (R_i + R_j). In this model, when (R_i + R_j) < d < (R_i + R_j) ++ r_c, that is, 0 < \delta_n < r_c, the cohesive region of the two +surfaces overlap and the two surfaces are attractive to each other. In "Fraige"_#Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross @@ -92,7 +90,6 @@ contact nor calculate the tangential deformation. Instead, we assume that gross sliding takes place as soon as two particles are in contact. - The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, or in the data file read by the "read_data"_read_data.html command: @@ -101,12 +98,8 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c -respectively. (TRUNG: is this sentence correct? - it should read delta_n, -instead of r) - -TRUNG: reminder to copy any change in this file -to the pair polyhedron file as well (and vice versa) +above for force versus surface separation, for \delta_n < 0 and 0 < +\delta_n < r_c respectively. [Mixing, shift, table, tail correction, restart, rRESPA info]: diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index cb4ec00917..4a58e0119b 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -28,28 +28,11 @@ pair_coeff 1 1 100.0 1.0 :pre Style {body/rounded/polygon} is for use with 3d models of body particles of style {rounded/polyhedron}. It calculates pairwise -body/body interactions as well as interactions between body and -point-particles (modeled as spheres with a specified diameter). -See "Section 6.14"_Section_howto.html#howto_14 of -the manual and the "body"_body.html doc page for more details on using -body rounded/polyhedron particles. - -TRUNG: I think we need a paragraph here about how body/sphere -interactions are handled. Does this pair style only do body/body but -allow for a body = sphere or rod or some other degenerate case? Or -does this pair style allow you to model a simulation of mixed body and -point particles, where point particles are spheroids. If so, does -this pair style do body/body and body/point, and you use one of the -other granular pair styles to do point/point? I.e. a pair hybrid -model? Or does everything have to be defined as bodies. Actually -this paragraph would make more sense in the body.txt file about how to -create a model that includes non-body particles (spheres). And in -this pair style file just a couple lines about which part of the -interactions this pair style computes. Ditto in the pair body polygon -file. - The pair style supports body/sphere and sphere/sphere -given that all the atoms should be of body rounded/polyhedron. -I updated the above paragraph and added examples in body.txt for -specifying the special objects (i.e. spheres and rods). +body/body interactions which can include body particles modeled as +1-vertex spheres with a specified diameter. See "Section +6.14"_Section_howto.html#howto_14 of the manual and the +"body"_body.html doc page for more details on using body +rounded/polyhedron particles. This pairwise interaction between the rounded polyhedra is described in "Wang"_#Wang, where a polyhedron does not have sharp corners and @@ -61,7 +44,6 @@ in the data file read by the "read data"_read_data.html command. This is a discrete element model (DEM) which allows for multiple contact points. - Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, edges, and faces by half its sphere diameter. The interaction forces @@ -69,8 +51,21 @@ and energies between two particles are defined with respect to the separation of their respective rounded surfaces, not by the separation of the vertices, edges, and faces themselves. -This means that the specified cutoff in the pair_style command is -the cutoff distance, r_c, for the surface separation, \delta_n (see figure below). +This means that the specified cutoff in the pair_style command is the +cutoff distance, r_c, for the surface separation, \delta_n (see figure +below). This is the distance at which two particles no longer +interact. If r_c is specified as 0.0, then it is a contact-only +interaction. I.e. the two particles must overlap in order to exert a +repulsive force on each other. If r_c > 0.0, then the force between +two particles will be attractive for surface separations from 0 to +r_c, and repulsive once the particles overlap. + +Note that unlike for other pair styles, the specified cutoff is not +the distance between the centers of two particles at which they stop +interacting. This center-to-center distance depends on the shape and +size of the two particles and their relative orientation. LAMMPS +takes that into account when computing the surface separation distance +and applying the r_c cutoff. The forces between vertex-vertex, vertex-edge, vertex-face, edge-edge, and edge-face overlaps are given by: @@ -97,9 +92,8 @@ k_n (energy/distance^2 units) k_na (energy/distance^2 units) :ul Effectively, k_n and k_na are the slopes of the red lines in the plot -above for force versus surface separation, for \delta_n < 0 and 0 < \delta_n < r_c -respectively. (TRUNG: is this sentence correct? - it should read delta_n, -instead of r) +above for force versus surface separation, for \delta_n < 0 and 0 < +\delta_n < r_c respectively. [Mixing, shift, table, tail correction, restart, rRESPA info]: diff --git a/examples/body/in.body b/examples/body/in.body index 5879ed5e45..815b853154 100644 --- a/examples/body/in.body +++ b/examples/body/in.body @@ -8,7 +8,7 @@ read_data data.body velocity all create 1.44 87287 loop geom -pair_style body 5.0 +pair_style body/nparticle 5.0 pair_coeff * * 1.0 1.0 neighbor 0.5 bin diff --git a/src/BODY/pair_body.cpp b/src/BODY/pair_body_nparticle.cpp similarity index 95% rename from src/BODY/pair_body.cpp rename to src/BODY/pair_body_nparticle.cpp index 8c12c0cf36..80b45beb4e 100644 --- a/src/BODY/pair_body.cpp +++ b/src/BODY/pair_body_nparticle.cpp @@ -15,7 +15,7 @@ #include #include #include -#include "pair_body.h" +#include "pair_body_nparticle.h" #include "math_extra.h" #include "atom.h" #include "atom_vec_body.h" @@ -32,7 +32,7 @@ using namespace LAMMPS_NS; /* ---------------------------------------------------------------------- */ -PairBody::PairBody(LAMMPS *lmp) : Pair(lmp) +PairBodyNparticle::PairBodyNparticle(LAMMPS *lmp) : Pair(lmp) { dmax = nmax = 0; discrete = NULL; @@ -44,7 +44,7 @@ PairBody::PairBody(LAMMPS *lmp) : Pair(lmp) /* ---------------------------------------------------------------------- */ -PairBody::~PairBody() +PairBodyNparticle::~PairBodyNparticle() { memory->destroy(discrete); memory->destroy(dnum); @@ -66,7 +66,7 @@ PairBody::~PairBody() /* ---------------------------------------------------------------------- */ -void PairBody::compute(int eflag, int vflag) +void PairBodyNparticle::compute(int eflag, int vflag) { int i,j,ii,jj,inum,jnum,itype,jtype; int ni,nj,npi,npj,ifirst,jfirst; @@ -336,7 +336,7 @@ void PairBody::compute(int eflag, int vflag) allocate all arrays ------------------------------------------------------------------------- */ -void PairBody::allocate() +void PairBodyNparticle::allocate() { allocated = 1; int n = atom->ntypes; @@ -361,7 +361,7 @@ void PairBody::allocate() global settings ------------------------------------------------------------------------- */ -void PairBody::settings(int narg, char **arg) +void PairBodyNparticle::settings(int narg, char **arg) { if (narg != 1) error->all(FLERR,"Illegal pair_style command"); @@ -381,7 +381,7 @@ void PairBody::settings(int narg, char **arg) set coeffs for one or more type pairs ------------------------------------------------------------------------- */ -void PairBody::coeff(int narg, char **arg) +void PairBodyNparticle::coeff(int narg, char **arg) { if (narg < 4 || narg > 5) error->all(FLERR,"Incorrect args for pair coefficients"); @@ -415,12 +415,12 @@ void PairBody::coeff(int narg, char **arg) init specific to this pair style ------------------------------------------------------------------------- */ -void PairBody::init_style() +void PairBodyNparticle::init_style() { avec = (AtomVecBody *) atom->style_match("body"); - if (!avec) error->all(FLERR,"Pair body requires atom style body"); + if (!avec) error->all(FLERR,"Pair body/nparticle requires atom style body"); if (strcmp(avec->bptr->style,"nparticle") != 0) - error->all(FLERR,"Pair body requires body style nparticle"); + error->all(FLERR,"Pair body/nparticle requires body style nparticle"); bptr = (BodyNparticle *) avec->bptr; neighbor->request(this,instance_me); @@ -430,7 +430,7 @@ void PairBody::init_style() init for one type pair i,j and corresponding j,i ------------------------------------------------------------------------- */ -double PairBody::init_one(int i, int j) +double PairBodyNparticle::init_one(int i, int j) { if (setflag[i][j] == 0) { epsilon[i][j] = mix_energy(epsilon[i][i],epsilon[j][j], @@ -459,7 +459,7 @@ double PairBody::init_one(int i, int j) store sub-particle space-frame displacements from COM in discrete list ------------------------------------------------------------------------- */ -void PairBody::body2space(int i) +void PairBodyNparticle::body2space(int i) { int ibonus = atom->body[i]; AtomVecBody::Bonus *bonus = &avec->bonus[ibonus]; diff --git a/src/BODY/pair_body.h b/src/BODY/pair_body_nparticle.h similarity index 90% rename from src/BODY/pair_body.h rename to src/BODY/pair_body_nparticle.h index 94fbdf34df..9c7d832b64 100644 --- a/src/BODY/pair_body.h +++ b/src/BODY/pair_body_nparticle.h @@ -13,21 +13,21 @@ #ifdef PAIR_CLASS -PairStyle(body,PairBody) +PairStyle(body/nparticle,PairBodyNparticle) #else -#ifndef LMP_PAIR_BODY_H -#define LMP_PAIR_BODY_H +#ifndef LMP_PAIR_BODY_NPARTICLE_H +#define LMP_PAIR_BODY_NPARTICLE_H #include "pair.h" namespace LAMMPS_NS { -class PairBody : public Pair { +class PairBodyNparticle : public Pair { public: - PairBody(class LAMMPS *); - ~PairBody(); + PairBodyNparticle(class LAMMPS *); + ~PairBodyNparticle(); void compute(int, int); void settings(int, char **); void coeff(int, char **); From dfd40c1b70c04ac3d3a8c24c4a2e0e399aa5168b Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Wed, 18 Jul 2018 10:48:29 -0600 Subject: [PATCH 28/29] more doc tweaks --- doc/src/body.txt | 8 ++--- doc/src/lammps.book | 6 ++-- doc/src/pair_body_rounded_polygon.txt | 10 +++--- doc/src/pair_body_rounded_polyhedron.txt | 39 ++++++++++++------------ 4 files changed, 33 insertions(+), 30 deletions(-) diff --git a/doc/src/body.txt b/doc/src/body.txt index cef40cc643..e7baf626f5 100644 --- a/doc/src/body.txt +++ b/doc/src/body.txt @@ -186,7 +186,7 @@ squares with rounded circles at the vertices. Special cases for N = 1 (circle) and N = 2 (rod with rounded ends) can also be specified. One use of this body style is for 2d discrete element models, as -described in "Fraige"_#Fraige. +described in "Fraige"_#body-Fraige. Similar to body style {nparticle}, the atom_style body command for this body style takes two additional arguments: @@ -292,7 +292,7 @@ for N = 1 (sphere) and N = 2 (rod with rounded ends) can also be specified. This body style is for 3d discrete element models, as described in -"Wang"_#Wang. +"Wang"_#body-Wang. Similar to body style {rounded/polygon}, the atom_style body command for this body style takes two additional arguments: @@ -447,10 +447,10 @@ determined by the {bflag1} parameter for the {body} keyword. The :line -:link(Fraige) +:link(body-Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). -:link(Wang) +:link(body-Wang) [(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 0764c593f7..9c0216412b 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -280,7 +280,8 @@ fix_vector.html fix_viscosity.html fix_viscous.html fix_wall.html -fix_wall_ees.html +fix_wall_body_polygon.html +fix_wall_body_polyhedron.html fix_wall_gran.html fix_wall_gran_region.html fix_wall_piston.html @@ -419,8 +420,9 @@ pair_agni.html pair_airebo.html pair_awpmd.html pair_beck.html -pair_body.html +pair_body_nparticle.html pair_body_rounded_polygon.html +pair_body_rounded_polyhedron.html pair_bop.html pair_born.html pair_brownian.html diff --git a/doc/src/pair_body_rounded_polygon.txt b/doc/src/pair_body_rounded_polygon.txt index caaa0746a1..9daeb08e9a 100644 --- a/doc/src/pair_body_rounded_polygon.txt +++ b/doc/src/pair_body_rounded_polygon.txt @@ -35,9 +35,9 @@ body/body interactions which can include body particles modeled as rounded/polygon particles. This pairwise interaction between rounded polygons is described in -"Fraige"_#Fraige, where a polygon does not have sharp corners, but is -rounded at its vertices by circles centered on each vertex with a -specified diameter. The edges of the polygon are defined between +"Fraige"_#pair-Fraige, where a polygon does not have sharp corners, +but is rounded at its vertices by circles centered on each vertex with +a specified diameter. The edges of the polygon are defined between pairs of adjacent vertices. The circle diameter for each polygon is specified in the data file read by the "read data"_read_data.html command. This is a 2d discrete element model (DEM) which allows for @@ -79,7 +79,7 @@ Note that F_n and F_t are functions of the surface separation \delta_n + r_c, that is, 0 < \delta_n < r_c, the cohesive region of the two surfaces overlap and the two surfaces are attractive to each other. -In "Fraige"_#Fraige, the tangential friction force between two +In "Fraige"_#pair-Fraige, the tangential friction force between two particles that are in contact is modeled differently prior to gross sliding (i.e. static friction) and during gross-sliding (kinetic friction). The latter takes place when the tangential deformation @@ -129,6 +129,6 @@ for pair interactions. [Default:] none -:link(Fraige) +:link(pair-Fraige) [(Fraige)] F. Y. Fraige, P. A. Langston, A. J. Matchett, J. Dodds, Particuology, 6, 455 (2008). diff --git a/doc/src/pair_body_rounded_polyhedron.txt b/doc/src/pair_body_rounded_polyhedron.txt index 4a58e0119b..dc559feaaf 100644 --- a/doc/src/pair_body_rounded_polyhedron.txt +++ b/doc/src/pair_body_rounded_polyhedron.txt @@ -34,15 +34,15 @@ body/body interactions which can include body particles modeled as "body"_body.html doc page for more details on using body rounded/polyhedron particles. -This pairwise interaction between the rounded polyhedra is described in -"Wang"_#Wang, where a polyhedron does not have sharp corners and -edges, but is rounded at its vertices and edges by spheres centered on -each vertex with a specified diameter. The edges if the polyhedron -are defined between pairs of adjacent vertices. Its faces are defined -by a loop of edges. The sphere diameter for each polygon is specified -in the data file read by the "read data"_read_data.html command. This -is a discrete element model (DEM) which allows for multiple contact -points. +This pairwise interaction between the rounded polyhedra is described +in "Wang"_#pair-Wang, where a polyhedron does not have sharp corners +and edges, but is rounded at its vertices and edges by spheres +centered on each vertex with a specified diameter. The edges if the +polyhedron are defined between pairs of adjacent vertices. Its faces +are defined by a loop of edges. The sphere diameter for each polygon +is specified in the data file read by the "read data"_read_data.html +command. This is a discrete element model (DEM) which allows for +multiple contact points. Note that when two particles interact, the effective surface of each polyhedron particle is displaced outward from each of its vertices, @@ -74,15 +74,16 @@ and edge-face overlaps are given by: :c,image(JPG/pair_body_rounded.jpg) -In "Wang"_#Wang, the tangential friction force between two particles -that are in contact is modeled differently prior to gross sliding -(i.e. static friction) and during gross-sliding (kinetic friction). -The latter takes place when the tangential deformation exceeds the -Coulomb frictional limit. In the current implementation, however, we -do not take into account frictional history, i.e. we do not keep track -of how many time steps the two particles have been in contact nor -calculate the tangential deformation. Instead, we assume that gross -sliding takes place as soon as two particles are in contact. +In "Wang"_#pair-Wang, the tangential friction force between two +particles that are in contact is modeled differently prior to gross +sliding (i.e. static friction) and during gross-sliding (kinetic +friction). The latter takes place when the tangential deformation +exceeds the Coulomb frictional limit. In the current implementation, +however, we do not take into account frictional history, i.e. we do +not keep track of how many time steps the two particles have been in +contact nor calculate the tangential deformation. Instead, we assume +that gross sliding takes place as soon as two particles are in +contact. The following coefficients must be defined for each pair of atom types via the "pair_coeff"_pair_coeff.html command as in the examples above, @@ -123,7 +124,7 @@ for pair interactions. [Default:] none -:link(Wang) +:link(pair-Wang) [(Wang)] J. Wang, H. S. Yu, P. A. Langston, F. Y. Fraige, Granular Matter, 13, 1 (2011). From 7d4de932b6945045779ae4e2a867b4e99f898d19 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Wed, 18 Jul 2018 13:13:57 -0400 Subject: [PATCH 29/29] reinstate reference to fix wall/ees in lammps.book --- doc/src/lammps.book | 1 + 1 file changed, 1 insertion(+) diff --git a/doc/src/lammps.book b/doc/src/lammps.book index 9c0216412b..56284812f8 100644 --- a/doc/src/lammps.book +++ b/doc/src/lammps.book @@ -282,6 +282,7 @@ fix_viscous.html fix_wall.html fix_wall_body_polygon.html fix_wall_body_polyhedron.html +fix_wall_ees.html fix_wall_gran.html fix_wall_gran_region.html fix_wall_piston.html

v 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 Rg#jD8>#$nFjN?$MP(=SVXSJ5>3+ak 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