History



v9.2

v9.3.1    v9.3.2    v9.3.3    v9.3.4    v9.3.5    v9.3.6    v9.3.7    v9.3.8    v9.3.9

v9.4.1    v9.4.2    v9.4.3    v9.4.4



v9.4.4


Date      Description

--------------------------------------------------------------------------------------

20240801  - Web publication

20240703  - Fixed a memory leak when applying fields

          - Fixed EMC setup control settings for field_bond, field_angle,

            field_torsion, and field_improper

          - Added force field wildcard recognition for mass entries

          - Added field alteration to emc.pl by means of ITEM FIELD

          - Updated the use of CHARMM CMAP files for LAMMPS

          - Improved exported InsightII files

          - Various additions to CHARMM CGENFF (see templates in cgenff.top)

          - Added EMC setup polymer keyword 'sequence' as synonym for 'block'

          - Addition of lone pairs for use with benzene and related structures for

            CHARMM CGENFF

          - Added the use of force field templates as EMC Setup references in groups

            and clusters

          - Fixed issues with ring recognition

          - Fixed double occurrence of hydrogen atom names in PDB/PSF for e.g.

            alcohols

20240428  - Added published COMPASS force field in ./field/compass

          - Fixed assigment of nsites in ring

          - Added capture upon writing of empty fields

          - Updated treatment of CMAP to align with LAMMPS 2023 and higher

          - Adapted group polymers to include monomers and dimers in polymer

            definition

          - Introduced lone pair representation

108,  - 14130-14136

20240224  - Fixed numerical stability issue in GrowSideConnect()

          - Fixed compression for use of ".gz" in name for scripting export command

          - Added selection options for surface grafting

          - Successfully passed valgrind test

          - Fixed issues with increment designation for polymers

          - Disallowed application of non-group field to groups with field definitions

          - Alteration of TRAPPE-UA acid parameters using J. Phys. Chem. B 2004,

20231006  - Fixed field typing issues for connective groups, e.g. in polymers

          - Fixed merging of clusters when using crystal command

          - Cleaned up memory usage

20230919  - Added port->links to accommodate identical atom designations in imported

            molecules by PortInsightMDFGet()

          - Introduction of emc.pl, a modular version of emc_setup.pl

20230801  - Web publication

20230724  - Changed Linux executables for x86_64 and aarch64 architectures to include

            OS; note that emc_linux64 changed to emc_linux_x86_64

          - Altered scripts/emc.sh to reflect changes in executable

          - Coupled set EMC mixing rule to LAMMPS port

          - Changed OPLS mixing rules from arithmetic to geometric according to

            Jorgensen et al., J. Am. Chem. Soc. 1996, 118, 11225

20230718  - Changed group site charges from static to dynamic array

          - Added system mapping after deformation

20230617  - Fixed aromatic designation when reading graphene

          - Fixed issue with implicit general field application in groups

20230609  - Included trajectory loading by VMD script

20230503  - Adapted ClustersBuild() and ClusterBuild() to improve structure imports

            with more than one molecule

20230407  - Added Set, Reset, and ReallocReset to simple variable modifiers in parse.c

            and parse.h

          - Added exceptions for TypeFamilyRetype() in type.hh to

            types/cff/{bond_angle, end_bond_torsion, angle_torsion} to avoid

            scrambling of constants as a result of retyping

20230322  - Added stricter rule implementation for charged species by changing

            FieldRuleTestCompare()

20220801  - Web publication

20220701  - Added interaction sampling

          - Changed typing formalism to accomodate structure imports

          - Added sulfates and sulfonates to CHARMM CGENFF

          - Updated VMD EMC GUI to v1.5.2 to work with newer Tcl versions

          - Adapted PSF output to align with VMD

          - Changed from qsort() to mergesort() in FieldIndexSort()

20210820  - Bug fixes

          - Corrected PDB import

          - Increased group connectivity to 1024

          - Release VMD EMC GUI v1.5.1 (see ./vmd/)

20210801  - Web publication

20210704  - Added [oH] and [OH] as SMILES possibilities

          - Dealt with doubling occurrences in pair14 in rings for port LAMMPS

          - Fixed ClusterReassign() to correctly create supercrystal structures

          - Added split scripting command to control the partitioning of built

            clusters at either side of the box

          - Excluded all angle contributions for sites with 6 connection with angles

            larger than 160 degrees

          - Added amides, ammonias, and carbamates to CHARMM CGENFF

20210530  - Added group connectivity and cluster range to PDB as REMARK

          - Updated CHARMM CGENFF to include general ether, ester, aromatic, and amine

            contributions

          - Generalized TraPPE-UA by adding bond increments for partial charge

            designation

          - Added bond and angle types to LAMMPS .params file

          - Updated script/traject.c to append either .dump or .traject when missing

          - Corrected SEGV for certain polymer build cases

          - Corrected initialization of group terminator list

          - Fixed polymer copy routine to reflect polymer name correctly

          - Changes units DPD pair interaction constant a to energy instead of force

          - Improved missing bond increment reporting

          - Excluded field region from field detection

          - Refined formatted output

20210401  - Fixed mixed use of standard clusters and polymers of prepolymers

          - Fixed imports of percolating crystal structures

          - Improved dendrimeric random polymer sequencing routines

          - Added progress indication for sequence and cluster construction

          - Fixed reading of groups with field specific information

          - Fixed missing rule warnings for additive fields

          - Corrected SPC/E water entries in OPLS and TraPPE fields

          - Fixed recognition of corrupt CMAP entries in CHARMM field files

          - Added ethers and alcohols to CHARMM CGENFF

          - Passed memcheck

20210324  - Added export of SMILES of all existing clusters

          - Added JSON format for all exports

20200927  - Corrected oxygen and sulfur interpretation of imported structures

          - Added polymer distributions to groups to enable the use of prepolymers as

            monomers

20200801  - Web publication

20200630  - Updated SMILES interpretion of imported structures by adaptation of

            ChemistryBondPhosphorus(), ChemistryBondSulfur(), and

            ChemistrySmilesSetCharge()

          - Corrected sporadic SEGV occurence while importing PDB

          - Improved single ion interpretation in CHARMM

          - Passed memcheck

20200609  - Corrected behavior of port/insight export

          - Corrected run.sh for running of multiple jobs on local host

          - Partial creation of polymer module: storage before changing ListDestruct()

            to ListDestructRec()

20200516  - Corrected increment determination and assignment of group sites with

            branches

          - Added wildcards to increment interpretation

          - Corrected construct/destruct imbalance in ListCommonRead()

          - Cleaned up memory usage of ScriptClustersPolymer()

          - Added formal charge interpretation for imported structures

20200427  - Added spline_n module for n x n splines

          - Added type sorting to support correct CHARMM PSF output

          - Fixed memory leak in cluster move

          - Added bond increments to CHARMM field

20200408  - Fixed erroneous entries in types enumeration paragraph of exported LAMMPS

            data file

          - Updated CHARMM field interpretation

20200301  - Added and tested zlib for GZIP compression

          - Overhauled file handling by centralization in format module

          - Fixed *()n* branch notations in chemistry definitions for groups

20200228  - Fixed output of bonded contributions based on active field

20200217  - Added multi-field option to cff field

          - Centralized field family nbonded definition

20200131  - Repaired periodic disconnection in crystalline supercells

20191220  - Miscellaneous

          - Fixed issues with missing mass definitions when writing PDB

          - Corrected typing of large ring structures using ring depth correctly

20190801  - Fixed bug in TraPPE force field read functions

          - Added error trap for inconsistent links when reading in ring structures

          - Corrected ring identification and crystal

          - Corrected behavior of crystal, avoiding crashes based on incorrect list

            allocation

          - Web publication

20190701  - Added flag field to script->pdb

          - Repaired segname to cluster conversion of imported pdb's

          - Altered creation of atom name index for pdb's

          - Added moves and types script keywords

          - Added cluster move

          - Web publication

20190425  - Fixed connectivity issues with polymers consisting of only terminators

          - Added group.branch designations while building imported groups

          - Improved typing of branched groups when using increments, thus aiding

            import of static structures

20190413  - Added patches and residue wildcard to correctly type PEG by adapting

            fields/charmm/c36a/ethers.define

          - Changed FFAPPLY to GROUPS for fields/charmm/c36a/water_ions.define

          - Adapted field/apply/rules.c to keep zero charge for already typed sites by

            adding charge to struct field_flag

          - Added OPLS-AA N+ parameters and rules

          - Added include and exclude options to struct focus, keeping backwards

            compatibility

          - Reconfigured patch interpretation for CHARMM to improve force field source

            conversion

          - Added multifield selection for groups

          - Repaired incorrect behavior of seed initialization for random number

            generator

          - Added interaction sampling based on focus selections

          - Added option switch for coulomb flag used in pair functions of force field

            families born, cff, charmm, coulomb, gromacs, martini, opls, and trappe;

            switch is needed for stable MC execution

          - Fixed instability issue with saving multiple compressed files

          - Checked and fixed memory usage with valgrind

20190201  - Added targeted typing of groups when using multiple force fields within

            the same force field family

          - Adapted EMC Setup to reflect EMC multifield changes

          - Changed moves->displace default to coupled

20181013  - Corrected SMILES interpretation of mixed (de)protonated acids within one

            molecule (bug 20180824)

          - Forced -emc_execute=false in EMC Setup environment mode

          - Adapted FieldApplyRules() to reflect different connected charges

          - Adapted MovesEndbridge() to allow for amorphous melts and include nmin and

            nmax options for allowed chain length interval

          - Changed port behavior for fields with possibly uncharged systems

20180724  - Change over to new version; see emc_setup.pl for changes to EMC Setup



v9.4.3


Date      Description

--------------------------------------------------------------------------------------

20180724  - Corrected left and right isomers (BOND_ISOMER) in grow.c

          - Close and switch to new version

20180701  - Fixed EMC cavity size sampling output

          - Fixed EMC setup link to field module

          - Corrected reading of PDB/PSF

          - Corrected run.sh -file behavior (needed for LAMMPS restart)

          - Corrected depth passing to groups by ported input

20180619  - Corrected PDB memory issue regarding connectivity xrefs

          - Corrected PDB recording

          - Adapted growth module to reflect correct stereo chemistry of sugars

          - Added packing of multiple executables per node by EMC setup for use with

            node exclusive queueing sytems (-queue_ppn)

          - Added setting memory per core for queueing system resource management

            (-queue_memory)

          - Rewrote run.sh to include Slurm sbatch options; no adaptation of myjobs.pl

            for Slurm yet

          - Fixed energetic issue for building stereo chemistry

20180423  - Corrected typing behavior of CHARMM force fields when using multiple force

            fields

          - Corrected behavior of PDB import for VMD generated structures including

            PSF through correct treatment of crosslinks through cystine

          - Added expansion on maximum number of rings by addition of a bit structure

          - Checked correct memory allocation by means of valgrind

          - Introduced barostat coupling options to EMC setup; using NPT for atomistic

            and Berendsen for DPD simulations

          - Added PDB output control to EMC setup when generating last frames during

            execution of analysis scripts

          - Fixed incorrect behavior for importing LAMMPS trajectories with negative

            tilt factors

          - Corrected MapDot() for treatment of off-diagonals

          - Corrected IOOpen() and IOClose() for reading gzipped files by adding PID

            to temporary file name

          - Corrected deformation behavior during run

          - Adapted EMC script analysis to allow for user defined analysis scripts;

            note, that resulting analyze, build, and run scripts are not backwards

            compatible

          - Added free volume analysis in the form of cavity size distributions

          - Fixed an issue with polymer terminators for polycondensates through

            adaptation of initialization during application of field increments

          - Corrected mass transcription for multibranched polymers

          - Tightened mass interpretation for FocusMass() as used by scripting

            function mtotal()

          - Removed terminators from block and alternating copolymer connectivity

            check

          - Added charge transfer to SMILES when importing coarse-grained structures

          - Corrected issue with reading of multiple force fields

          - Added volume sampling for determination of read structure density through

            scripting function vtotal()

          - Added Monte Carlo control to EMC setup (-emc_run)

          - Refined behavior of traject command for recognizing various extensions

          - Added scaling of length option for lammps, pdb, and xyz scripting commands

          - Added colloidal options to EMC setup and colloidal force field to EMC

          - Rearranged force field designation for fields and ports

          - Adapted CHARMM interpretation of impropers

20171205  - Change over to new version



v9.4.2


Date      Description

--------------------------------------------------------------------------------------

20171204  - Fixed chain and restart options for EMC setup scripts by adapting

            emc_setup.pl and run.sh

20171125  - Fixed problem with early exits when using comments in EMC scripts

          - Added PDB import of united atom structures (use lower case in element

            field when indicating aromatics)

          - Introduced PDB crystal option to EMC script for importing crystal

            structures

20171105  - Switched interpretation of atomistic SMILES containing elements from

            needing square brackets to needing none, e.g. C[Cl] now can be expressed

            as CCl

          - Allowing for zero repeat units in complex polymers

          - Adapted EMC setup to reflect the use of zero repeat units

          - Reworked EMC setup to allow for field definition in .esh by adding an

            EMCField package

          - Fixed EMC ports to reflect the choice of nbonded in pairwise interactions

          - Upgraded EMC group and cluster recognition of imported crystalline

            structures

          - Added expert mode to EMC setup to circumvent particular error checking of

            polymer defitinions

          - Added triclinic treatment of simulation boxes to EMC setup

          - Added crystal option to EMC setup for imported crystalline structures

          - Added ITEM FIELD to EMC setup for definition of general force fields by

            means of modules/EMCField.pl

          - Added ITEM PARAMETERS and REFERENCES to EMC setup for direct definition of

            DPD force fields

          - Added ITEM LAMMPS to EMC setup for verbatim LAMMPS scripting, to be

            inserted after equilibration

20170822  - Fixed SEGV caused by typing of coarse-grained force fields resulting from

            incorrect deactivation of equivalences in FieldCopiesDeactivate()

20170721  - Added -replace_build flag for ignoring existing .data files during build

            script execution; can alo be invoked by adding -replace flag to

            ./build/.sh script

          - Added use of -build flag in conjunction with ./run/.sh scripts, allowing

            for invoking LAMMPS executing after EMC build; uses queueing system

            chains

20170718  - Added -number for interpreting cluster fractions as number of molecules

          - Fixed an issue with empty additional variables as offered to

            emc_write_variables()

20170717  - Added -cut=repulsive for transfering purely repulsive potentials to LAMMPS

          - Repaired behavior of SDK potentials when ported to LAMMPS

20170711  - Added EMC environment testing mode

20170701  - Improved behavior when importing structures

20170624  - Addition of -options export to GUI

20170622  - Excluded DPD nonbond wildcard entry when -auto=false

20170615  - Cleaned up structure interpretation in EMC setup

          - Added :d or :double mode to environment loop variables

20170614  - Added PDB read, using PDB and PSF

          - Added group initialization based on group tags, allowing for recognition

            of repeat units in polymers, when properly specified

          - Improved EMC setup environment functionality

20170601  - Change over to new version

          - Added geometry() function to ./core/parse.c

          - Added functionality to ClusterUnwrap(), reflecting different unwrapping

            modes

          - Added a new force field region/lj in ./core/types/region/lj.c for

            simulating pairwise regions as used during builds around structures

          - Added periodic option to ./script/translate

          - Added ClusterCut() and ListCompare()

          - Changed EMC script read to literal interpretation of variables

          - Added environment mode for looping over variables in EMC setup scripts,

            supporting high performance computing

          - Added queue chain options to EMC setup

          - Grouped options in EMC setup



v9.4.1


Date      Description

--------------------------------------------------------------------------------------

20170312  - Added type SHAKE capabilities to emc_setup.pl and emc

          - Improved InsightII port

          - Fixed interpretation of cff rules using allowed and disallowed tests

          - Fixed issue with skipping of absent types for cff force fields

          - Fixed issue with use of nclusters() and ntotal() in ./core/parse.c

          - Fixed issue with absent atom names in PDB and PSF

          - Swapped first two improper atoms in PSF for NAMD compatibility

          - Checked for memory leaks

20170103  - Fixed ScriptGroupsGroupAppend()

          - Fixed behavior of reading literal constants (11BPN is not translated to a

            number with value 11)

          - Fixed usage of TIP models with OPLS

20161031  - Added environment mode for generation of project directory structure and

            parallel run scripts to emc_setup.pl

20161220  - Fixed OPLS-UA typing rules to correctly type PET

          - Corrected wildcard behavior for angles

          - Broadened PSF type to six characters

          - Corrected behavior of ListCommonWrite()

          - Addition of environment definitions to EMC manual

          - Addition of environment shear setup example to EMC manual

          - Corrected torsion transcription to multi harmonics for OPLS, TraPPE, and

            GROMACS force fields

          - Corrected OPLS-UA rules to reflect correct typing of PET

20161105  - Generalized ./core/field rule as template for use with various force

            fields

          - Added ./core/field/list/{bond, cross, wildcard}

          - Integrated bond recognition into FieldInit()

          - Changed behavior insight->crystal flag by treating all crystal connections

            in .mdf as regular connections

          - Added ./core/{field,port/lammps,types}/colloid force field

          - Fixed bug in ./core/moves/endbridge

          - Addition of environment mode to emc_setup.pl to allow for parameter

            studies using either LSF or PBS queueing systems

20161006  - Addition of typing by multiple fields as needed by charmm

          - Moved storage of io function to ListCommonRead() and ListCommonWrite()

          - Added fields to simulation->constants to allow for field ids

          - Generalized force field application routines for assorted fields

          - Corrected wildcard recognition for torsions (e.g. CHARMM)

          - Added fixed width for atom index in PDB file

          - Added recording options during the build process

          - Added general module template to ./core

          - Added general list template to ./core/field

          - Generalized ./core/field apply and parameters as template for use with

            various force fields

20160905  - Change over to new version



v9.3.9


Date      Description

--------------------------------------------------------------------------------------

20160819  - Fixed FieldRuleIndexCopy() (crystal issue)

          - Fixed behavior of SiteConnectClean()

          - Updated manual to include emc_setup.pl examples

          - Fixed LAMMPS input script generated by emc_setup.pl for -lammps=new

          - Corrected opls/2012/opls-ua rules for imides and esters

          - Added charmm/c36a/cgenff missing bonded contributions for (poly) propylene

            oxide

20160704  - Fixed SMILES interpretation of E/Z isomers

          - Fixed angle refinement Monte Carlo scheme in ./core/grow.c

          - Fixed recognition of 'all' keyword for simulation->types->shake

          - Fixed focus selection for parse functions nclusters(), ntotal(), and

            mtotal()

          - Added Born potential including force field typing and LAMMPS parsing

          - Adapted emc_setup.pl to correctly interpret neutralizing ions when added

            to monomers used in polymers, thus fixing issues with profile definitions

            for LAMMPS input scripts

          - Adapted emc_setup.pl to allow for mixed use of tabs and spaces in

            chemistry.csv

          - Corrected shift interpretation in ./core/types/charmm/pair.c; potentials

            are shifted when the repulsive is selected or inner >= cutoff and shift

            is set to true

          - Tested ensemble correctness by a rudimentary interpretation

          - Fixed a SEGV issue while copying in ./core/script/clusters/groups.c

          - Fixed missing terminator for alternate and block (co)polymers

          - Added options interpretation to emc_setup.pl chemistry file

          - Adapted emc_setup.pl to allow for use as an interpreter

          - Generalized interpretation of DATA_NCOEFS for force field porting

          - Fixed porting of DPD torsions to LAMMPS

20160509  - Added script option to sample scripting command

          - Added recognition of compressed files ending with .gz in get, put,

            traject, lammps, pdb, and xyz scripting commands

          - Refined ./core/script/retype to allow for retyping of non-build clusters;

            corrected reading of retype->n

          - Corrected script line count for files with both 0x0d and 0x0a at eol

          - Adapted ClusterSites() to allow for proper head-tail crossing to

            counteract cluster wrapping issues

          - Made GroupsBuildClusterBased() more robust to allow for better SMILES

            recognition

          - Fixed a bug in ChemistryRings() by introducing CHEMISTRY_RING_MINDEPTH to

            force proper ring recognition in case of alternative SMILES

          - Added types to charmm/c36/cgenff to account for polystyrene

20160404  - Added FieldCopy() to ./script/crystal

          - Resolved quote issues with string command line variables

          - Adapted ./scripts/emc_setup.pl to include surfaces

          - Changed ./core/script/{flag.c, retype.c} to exclude non-built sites when

            ranges are defined

          - Corrected auto angle interpretations of cff force fields

          - Corrected behavior of repeated additions to chemistries, i.e. charged

            polymer ([A-])10(.[B-])10 with 10 monomer units A and 10 counter ions B

          - Added REPLICAS, NONBONDS, BONDS, and ANGLES paragraphs to chemistry.csv

            file syntax

          - Corrected sequence interpretation of source and destination in

            ./core/script/retype

          - Added focus to ./core/script/retype

20160217  - Repaired interpretation of charmm/c36a/cgenff interpretation to correctly

            type ring members

          - Repaired typing of fluorides in opls/2015/opls-aa

          - Added an increment flag to emc_setup.pl to bypass missing increments in

            CFF force fields

          - Switched to hexadecimal representation of residue field in PSF

          - Improved ring recognition for structures consisting of interconnected

            rings of different sizes

20160125  - Corrected bond sampling to use bonded instead of cluster lists

          - Updated TraPPE-UA, OPLS-UA, and OPLS-AA force fields

          - Improved charmm.pl mass recognition, topology file interpretation

          - Debugged sampling capabilities by updating ./core/samples/{bond.c,

            distance.c, gr.c, gyration.c}

          - Added ListCommonIOGet() to ./core/{focus.c, region.c} to allow for

            recursive use

          - Updated ./port/lammps/charmm to reflect correct torsion treatment

          - Changed ./core/script/traject to use put, get, and sample; changed default

            of 'scale' to false

20160118  - Added ./field/charmm/c36a including CGENFF

          - Direct translate of CHARMM prot and cgenff files from src directory

          - Added cgenff.define to allow for deviations from automatic translate

20151211  - Repaired interconnected ring treatments in martini.pl

          - Changed LAMMPS DPD defaults in emc_setup.pl

          - Extended emc_setup.pl to allow for dendrimers

          - Added dendrimer extension to polymer construction

          - Corrected mass assignment of terminator groups during polymer construction

          - Created correct treatment of block and alternate copolymers

          - Removed double entries when building additional clusters during polymer

            construction (i.e. counterions etc. using *[A+]*.[B-])

          - Corrected crash when building multiphase systems by resetting sectors and

            images when reallocating sites

          - Corrected LAMMPS CHARMM dihedral output, including parameter file entries

20151009  - Added terminator specification to polymer definition in

            ./core/script/clusters/polymer.c

          - Added test for like polymer in _ClusterSites() for down hydrogen, which is

            needed for grafted structures

          - Added FieldRuleListOrder() to FieldRuleInterpret() to ensure correct rule

            order during interpretation

          - Added esters to OPLS-UA

20150901  - Change over to new version



v9.3.8


Date      Description

--------------------------------------------------------------------------------------

20150813  - Published version, which includes alterations to allow for use under

            Windows

          - Small changes to emc_setup.pl to avoid inclusion of carriage returns in

            resulting build.emc files

20150805  - Published version, which includes tutorial examples for the LAMMPS

            workshop

20150727  - Corrected SMILES ring interpretation to correctly reflect POSS

          - Added zeolites to TraPPE force field

          - Repaired crash in OPLS-AA ethanol/water typing

          - Repaired moves/reptate.c to include targets in separate list

          - Added fractional extensions for polymers in emc_setup.pl (needed for

            multi-monomer polymers)

          - Repaired reading field files through FieldRead() by debugging

            FormatCount(), thus correctly counting the number of elements

          - Added functionality to ./core/script/clusters/polymer.c to include

            fractional multi-monomer polymers

20150603  - Changed ./core/script/groups/polymer.c such, that 'head' and 'tail' are

            displayed in the output when using head/tail identifiers

          - Corrected OPLS-AA to include all hydrocarbon parameters for SP3 carbons

            (ct) next to aromatic carbons (ca) to deal with styrenics

          - Repaired OPLS-UA to correctly interpret acrylics

          - Added -communicate to ./scripts/emc_setup.pl to cover change from

            communicate to comm_modify keyword in newest versions of LAMMPS

          - Corrected behavior of selections in ./core/focus.c by increasing

            format->target before calling ListCommonRead()

20150520  - Reworked ./scripts/emc_setup.pl to include polymer definitions

          - Modified ./core/script/clusters/polymer.c to reflect new emc_setup.pl

            functionalities

          - Added description of new functionality to manual

          - Added a polymer example to ./examples/setup/polymer/

20150511  - Correction of port/insight.c to box angle interpretion

          - Addition of grow->include to allow for a grow->exclude counterpart

          - Correction to GroupInit() to correctly interpret counter ions by debugging

            group->additions interpretation

          - Addition of atomistic field to insight port to allow for import of united

            atom configurations

          - Debugged ./core/script/crystal.c to repair box geometry errors

          - Expanded ./core/script/translate.c selection options

20150324  - Streamlined SMILES interpretation by altering site layout for rings and

            repetitions through "()n"

          - Added link identifier to ./core/chemistry/ring.h

          - Altered bit representation for rings to allow for more than 64 rings per

            group: bits are reused when rings do not overlap

          - Debugged ./core/chemistry/{bond, link, ring, smiles} for correctly

            representing graphenes

          - Tested smiles with ./examples/test/smiles/build.emc: passed cluster test,

            which uses ChemistryFromList() (needed for import ports, e.g.

            ./core/port/insight.c)

          - Created new recursive ClusterBuild() to create correct cluster extremes

            and ring linkage recognition

          - Added a swapped array to avoid double swapping in SitesSort()

          - Adapted ./core/port/insight.c to reflect new ClusterBuild()

          - Added ./core/group/build.c and ./core/groups/build.c; the latter switches

            to single-site groups when no suitable cluster-based group can be found

          - Passed ~/work/emc/port/insight/test/{6-propyl-dodecane, benzene, branched,

            dodecane, ethO, gypsum, octane, rings, talc, triphenylene} tests

20150308  - Updated ./core/type.hh to correct initialization order in TypeInit() by

            placing TypeXRefInit() at end

          - Deleted coefficients in general porting of data in

            ./core/types/charmm/torsion.c due to variable memory use for coeffs

          - Removed memory leaks associated with the CHARMM force field

          - Cleaned up sulfate and phosphate recognition in SMILES to allow for

            RO:S(:O)(:O)(:O) == ROS(=O)(=O)[O-] and ROP(:O)(:O)OR == ROP(=O)([O-])OR

            (analoguous to R(:O)(:O) == R(=O)[O-])

          - Updated BASF force field to represent sulphates and phosphates correctly

          - Added basf as cff field to emc_setup.pl (-field=basf)

          - Corrected multiphase interpretation by emc_setup.pl

          - Corrected ./scripts/charmm.pl to reflect all aromatic bonds as partial

          - Adapted ./field/charmmm/c32b1/all27_prot_lipid.define to reflect sulfates

            correctly

          - Passed ./examples/field/charmm/amino_acids/run.sh test

          - Passed ./examples/examples/multiphase/surfactant/setup.sh test

          - Started addition of Insight port for reading .car and .mdf

20150205  - Moved ./field/opls/2012/opls.pl to ./scripts/opls.pl

          - Updated and added opls-aa force field definitions

          - Moved ./field/opls/2012/{oplsaa, oplsua} to ./field/opls/2012/{opls-aa,

            opls-ua}

          - Updated opls examples and ./script/emc_setup.pl to reflect change

          - Added alcohols based on sugars to CHARMM force field

          - Added ./field/trappe/2014/trappe-ua.define

20150110  - Updated version including documentation

20150102  - Added mass() and nsites() functions to ./core/parse.c for use in EMC

            scripts

          - Added ./scrips/emc_setup.pl as replacement for atom_setup.pl and

            dpd_setup.pl

          - Updated PCFF force field files

          - Updated ./field/opls/2012/{opls.pl, oplsaa.define}

          - Passed functionality test with ./examples/field/opls/aa/{octane.emc,

            ethanol.emc, acetic_acid.emc, benzene.emc, ethyl_benzoate.emc}

          - Updated FieldRuleListSort() to include new recursive rule_order() during

            sort to reflect correct rule ordering (wildcards last)

          - Added ./core/samples/{list.hh, script.hh} templates to generalize sampling

            routines

          - Added template functionality to ./core/samples/cavity.c

          - Added ./core/samples/{gr.c, gyration.c} for radial distribution and radius

            of gyration sampling

          - Debugged ./core/samples/cavity.c to include family->active flag for

            activating energy calculations;

          - Reworked ./core/script/sample.c to include sampling template functionality

          - Passed functionality test with ./examples/sample/cavity/build.emc

          - Passed functionality test with ./examples/sample/gyration/sample.emc

          - Passed valgrind test for new sampling functionalities

20141214  - Adapted iteration error message in ./core/script/clusters/polymer.c to

            read "exceeded niterations for polymer ..."

20141107  - Fixed a bug in ./scripts/martini.pl related to creating correct SMILES for

            templates that contain rings

          - Disallowed 2-membered rings by adapting ChemistryRings() in

            ./core/chemistry/ring.c

          - Added -msd flag to ./scripts/atom_setup.pl and ./scripts/dpd_setup.pl to

            add MSD calculation to resulting LAMMPS input scripts

          - Added -profile flag to ./scripts/atom_setup.pl to add density profile

            calculation to result LAMMPS input scripts

          - Debugged FieldApplyIncrements() in ./core/field/apply/increments.c to

            improve charge assignments at group sites next to branch sites

20141019  - Added SDK (Shinoda-DeVane-Klein) force field plugs for typing and

            generation of initial configurations for available ports

          - Added and tested an SDK example to ./examples/setup/atom/sdk

20141008  - Change over to new version

          - Corrected automated force field recognition for ./core/script/pdb.c and

            ./core/script/lammps.c

          - Corrected ./core/field/rule.c to parse wildcard recognition to rule

            testing; needed for correct recognition of charged substituents

          - Updated ./core/script/clusters/polymer.c and ./core/field/apply/* to

            reflect multiple types and partial charges at branch points and directly

            neighboring sites by adapting group representations



v9.3.7


Date      Description

--------------------------------------------------------------------------------------

20140923  - Adapted ./core/field/cff such, that spurreous extra types in rules are

            neglected

          - Corrected FieldRuleFlagCompare() for honoring both source and destination

            'any' bonds

          - Corrected ./core/field/dpd/parameters.c to exclude transcription of 'X'

            types to '*' types

          - Removed erroneous double variable evaluation from script interpretation

          - Corrected conversion of literal variable names containing '"' to increase

            name length by 1 for each occurence

          - Corrected script variable interpretation to allow for correct sequence

            interpretation by adding a format->transfer flag in conjunction with

            adaptation of VariableRead()

          - Corrected interpretation of triple bonds, avoiding a '#' being seen as a

            comment

          - Corrected ./scripts/insight2lammps.pl to correctly represent molecule

            numbers as stated in .car/.mdf

          - Updated ./script/dpdsetup.pl to use force field files for parameter

            interpretation in light of creating a data bank

20140616  - Fixed PortLammpsCharmmBondsPut() to output correct types for bonded

            paragraphs

          - Added multi-phase interpretation to ./scripts/dpd_setup.pl

          - Tightened command line molecule interpretation for ./scripts/dpd_setup.pl

          - Updated ./scripts/dpd_setup.pl to correctly interpret cut off and mass

            adaptations

          - Fixed E/Z interpretation in ./core/{chemistry.c, variable.c, grow.c}

          - Added chain length delimiters to ./core/moves/{endbridge.c, reptate.c}

20140528  - Added cff field recognition to ./core/script/field.c in case order of

            names is reversed

          - Added active flag to all type families

          - Tightened up wildcard recognition during application of force fields

            through ./core/field/*/apply.c

          - Added TypesDestruct() to FieldApply() to erase existing types

          - Added 'auto' option to port forcefield flag, supported by ScriptPDB() and

            ScriptLammps() through TypesFamiliesDetect()

          - Fixed problem with angle_style in ./core/port/lammps/dpd.c

          - Added rule to OPLS-UA topology to satisfy polypropyleneoxide

          - Added backslash interpretation to ./core/format.c and ./core/variable.c to

            allow for = characters in type constants in input script

20140328  - Fixed problem with aromatic ring detection when using Kekule

            representation in SMILES

          - Added auto equivalence rule to BASF force field for c3az

          - Fixed size and copy of element in ./core/mass.c

          - Added target to ./core/script/cut.c and ./core/script/remove.c to preserve

            chemical topology integrity

          - Added an adaptive roots.nmesh to SplineInverseRec() in ./core/spline.c to

            accomodate for inverses of soft angle terms

          - Fixed bug in ./core/variables.c: updated dest->max_var in all occurrences

            of dest->var reallocation

          - Fixed bug in SystemsCount(): added a boundary to

            ++ientry[isystem-system][isite->mass] as a result of undefined site

            masses resulting from using templates in ./core/script/clusters

            definitions

          - Fixed bug in ScriptBuildSelect(): cleaned up skip when connected to

            include a test on deleted and build site flags; continuation commences,

            allowing for the site to be retried at a later occassion

          - Added improper option to ScriptField()

          - Added improper flag and 'empty' constant to ./core/field/flag

          - Rewrote ./core/field force fields to interpret improper flag and 'empty'

            option

          - CFF force field always operates as if 'error' option is set for angle,

            torsion, and improper flags

          - Added partial wildcards to bond interpretation by ./core/field/opls

          - Moved global operator functions in ./core/list/common to list_common

            structure

          - Added ./core/script/groups/delete to delete a specific group site

          - Added mass and nonbond wildcard interpretation to ./core/field

          - Added ./core/field/dpd to allow for a coarse-grained tabulation of DPD

            parameters

          - Added c* auto interpretation of bonded ct to ./scripts/opls.pl for OPLSUA

          - Added ions to ./field/opls/2012/oplsua

          - Added CHARMM to LAMMPS port in ./core/port/lammps/charmm.c

          - Added pcff field to ./field/pcff -> still needs rule fine tuning

          - Debugged polymer build in ./core/script/clusters/polymer.c

          - Added error check in ChemistryRings() (./core/chemistry/ring.c)

          - Made name interpretation in ./core/script/field.c consistent to be

            {parameters, topology} for all force fields

20140203  - Added detection of alternate mass types for group ends with multiple

            branch points

          - Should add a xref table on branches for which connection corresponds to

            which connected group (needed for types transcription)

          - Forced shift for repulsive type option to avoid compact builds

          - Added shift for all pair types (including spline-based types)

          - Added target to ./core/moves/endbridge.c to preserve chemical topology

            integrity

          - Version sent to MIT

20140111  - Added dendrimer interpretation to ./core/script/groups/polymer.c for

            creating dendritic networks

20140103  - Enhanced ./core/script/clusters/polymer.c to construct complex monomer

            connectivity correctly (iterative loop for filtering out failed

            sequences)

          - Added pair15 to types/table to represent Kremer coarse-grained polystyrene

          - Adapted port/lammps to facilitate exporting types/table, including pair15

            in bond representations in .data and .params and exporting all tables to

            .table output

20131206  - Fixed problem with aromatic rings being part of branches by adapting

            looped sites in ChemistryRingRecurse() to SITE_NCONNECTS and switching to

            reverse loop in ChemistryNConnects() (20131113)

          - Added EZ isomers to chemistry.c (standard SMILES) and grow.c (20131201)

20131106  - Change over to new version

          - First version of CHARMM available

          - Changes to rule interpretations needed for CHARMM support

          - Addition of debug flag to field scripting command



v9.3.6


Date      Description

--------------------------------------------------------------------------------------

20130921  - Created .vmd output when exporting PDB format, thus transfering EMC radii

            to a VMD readable TCL format

          - Adapted growth of statistical copolymers such, that the number of

            contributing groups entered through nrepeat are distributed correctly

            over the copolymer (./core/script/clusters/polymer.c)

          - Added the option of repeat units doubling as both repeat and terminator

            for coarse-grained simulations (./core/group.c and

            ./core/script/groups/group.c)

          - Increased the maximum number of terminators to 32

          - Upgraded MARTINI .prm format to be more self-consistent

20130826  - Fixed issues with the cff force field implementation for bond_angle,

            end_bond_torsion, angle_torsion, and angle-angle energies by aligning

            EMC, LAMMPS and Materials Studio results

20130809  - Added error upon application of field without defining it first

          - Cleaned up memory assignment during mixing rule application

          - Fixed bug when reloading field by adding type data merge capabilities upon

            reading parameters

          - Corrected behavior of 'variables' scripting command

          - Fixed bug for pair calculations of undefined but activated force fields by

            adding a return when xref == NULL

          - Fixed bug in ./core/chemistry.c when using repeating sequences with

            parenthesis, e.g. "(NCC(=O))3"; corrected connectivity (not to last)

          - Cleaned up alpha carbon representations in PDB output

20130715  - Corrected index interpretation for cyclic SMILES in ./core/chemistry.c,

            i.e. indices can be reused once a loop has been closed

          - Corrected ring interpretation to correctly assign ring bits as needed by

            ./core/grow.c

          - Corrected mistake in interpretation of type->nbonded (use minimum instead

            of maximum)

          - Corrected problems with importing LAMMPS files with multiple use of same

            bonded coefficients, i.e. when two bonds each containing different mass

            types use the same LAMMPS bond type (should result in addition of new

            bond type)

20130704  - Fixed issues with OPLS bond and angle parameter interpretations

          - Fixed issues with CHARMM bonded parameter interpretations

          - Corrected CHARMM and OPLS LAMMPS port

          - Adjusted manual to reflect force field representation as given in

            literature

          - Added keywords 'head' and 'tail' to scripting group interpretation

20130629  - Added martini force field (types, field, port)

          - Streamlined porting routines

          - Fixed internal issues for torsions with delta != 0

20130601  - Added a catch for non-defined parameters in ./core/type.hh TypeExtreme()

          - Updated group recognition and LAMMPS import routines

20130504  - Change over to new version

          - Improved InverseTorsionDefine() to reflect correct 1-4 distance

          - Update of ./scripts/atom_setup.pl

          - Added ./core/system_flag.c to include control over geometry mapping and

            charge requirements

          - Added group->charges flag to reflect handling of partial charge assignment

            for SMILES sites

          - Added CHARMM typing in ./core/field/charmm

          - Added ./scripts/charmm.pl for converting CHARMM .prm and .rtf format into

            EMC .prm and .top format

          - Adapted ./core/types/charmm/urray.h and ./core/types/bond.hh to reflect

            three-site dependence of urray contribution

          - Reworked ./core/command_line.c by deleting unnecessary options and

            including better command line variable definitions

          - Inclusion of $arg# as internal variable, where # E [0, 1, ...] to capture

            command line arguments



v9.3.5


Date      Description

--------------------------------------------------------------------------------------

20130320  - Added SplineMoment() to ./core/spline.c

          - Added pair14 to struct types_functions in ./core/types/registry.h

          - Changed TypeTypesRegistry() in ./core/type.hh to include pair14 functions

          - Activated TYPE_INVERSE in ./core/types/charmm/pair14.c and

            ./core/types/opls/pair14.c

          - Updated InverseTorsion() in ./core/types/inverse/torsion.c to include

            pair14 interactions

20130316  - Addition of SMILES functionality to allow for repetition of chemical

            sequences

          - Updated documentation to reflect cavity, export, sample, SMILES, and

            traject changes

          - Addition of $root constant to indicate the EMC root directory

20130310  - ./core/solver module tested for both broyden and newton with line_search.c

          - ./core/sample/cavity.c delivers correct cavities for fcc and bcc

          - Both stable and instable cavities are identified

          - Addition of sampling capabilities to ./core/script/traject.c

          - Addition of ./core/script/sample command with cavity subcommand

          - Addition of ./core/script/export command with profile and sample

            subcommands; used for exporting analysis results in both .m and .csv

            formats

20130210  - Correction of SitesBackbone() to exclude torsion contributions in

            triangular structures

          - Inclusion of ./scripts/martini.pl to translate GROMACS .itp format to EMC

            .prm format; see field scripting in EMC manual

          - Addition of ./core/samples/cavity.c: working prototype

          - Addition of ./core/solver modules broyden.c, newton.c, and line_search.c

            to be used in conjunction with ./core/samples/cavity.c: still in testing

            phase

20121219  - Inclusion of OPLS force field typing: changes to core/types, core/field,

            and core/port

          - Creation of internal EMC .prm format for OPLS interpretation

          - Adaptation of types->atomistic indicator to include none, united, and full

            as keywords

          - Creation of FieldApplyGroupsCharge() to generalize charge assignments

          - Addition of templates to field and .prm format

          - Inclusion of templates to group and cluster assignments in scripting

20121211  - Intermediate version for archiving purposes only

20121117  - Increased charge limit in SystemsCheck()

          - Repaired recognition of deprotonated acids

          - Improved determination of inverse angles in InverseAngleInit()

20121112  - Adapted charge on sites in groups; involved corrections to

            ./core/field/apply/increments.c and ./core/script/groups/group.c

          - Corrected site flag issues in ./core/cluster.c stemming from junction

            issues by rewriting ClusterChange()

          - Version shipped to MIT



v9.3.4


Date      Description

--------------------------------------------------------------------------------------

20121102  - Adapted grow.c to include tetraeder treatment of side connections in

            GrowSideConnect(), needed for atomistic treatment

          - Adaptation of migrate.c to reflect tetraeder treatment

          - Cleaning up of field.c and dependents using memcheck

          - version increase to v9.3.5 to align with MIT

20120826  - Corrected pair cutoff implementation in field/apply

          - Corrected improper calculations to represent correct lists for single site

            force calculations in force/bonded; tested with acrylic acid and benzyl

            cyclohexane

          - Corrected torsional picks to 1) first site on backbone, and 2) sub-

            sequent sites based on non-backbone site 4

          - Application of torsion relaxation MC algorithm for distinct cases only

          - Made changes to ./core/cluster.c to reflect correct execution of branched

            semi-crystalline polyethylene problems

20120808  - Added 'name' to ./core/build/select.c to capture intermediate state

          - Added 'mode' to ./core/region.c to reflect hard and soft regions for use

            with ./core/grow.c (hard: full exclusion; soft: exclusion for first

            cluster site only)

          - Perfected ./core/grow.c for growing of atomistic representations

          - Monte Carlo relaxation of angles and torsions with high tension

          - Random pick of first backbone site for cluster off-backbone torsion

            insertion

          - Tested atomistic builds with polyethylene, dimethoxyethane,

            polyethyleneoxide, and benzene at liquid densities (see ./examples/field)

20120731  - Version for Juropa

20120715  - Corrected line reporting for errors by adapting read and write routines in

            ./core/script.c, ./core/variables.c and ./core/variable.c

          - Corrected ClusterUnwrap()

          - Corrected ./core/port/lammps/dpd.c to reflect charge parameters correctly

          - Added Deem rebridging; correct porting is yet inconclusive

20120611  - Repaired issues related to underestimating junction lists in

            ./core/cluster.c

          - Updated bonded interaction

          - Rewrote ForceBondedLists() and dependent functions

          - Deleted all redundant representations from ./core/force/bonded.c

          - Corrected TypeTrigToPow() to reflect correct derivatives; corrected

            ./core/types/cff/torsion.c, ./core/types/charmm/torsion.c, and

            ./core/types/standard/torsion.c accordingly

          - ./core/moves/diffuse.c needs to be revisted (double bonds etc. appear when

            checking ForceBondedIntegrity())

          - Added recognition of a leading "~" as the user's home directory in

            f_open() in ./core/format.c.

          - multi stencil implementation has unresolved issues

20111204  - Updated and checked examples

          - Updated manual (still in progress)

          - Updated standard and multi stencil implementation

          - Corrected coarse/lj disparate size interactions



v9.3.3


Date      Description

--------------------------------------------------------------------------------------

20110928  - Correct force field typing, multi-threading, working builder

20110408  - Replaced #include "core/header.h" by needed module header files in all

            header files

20110403  - Cleaned up small bugs

          - Uses #include "core/header.h" in all header files

20110327  - Working version with optimized multi-threading

          - Optimization by partial bonded calculations in threads

          - Cleaned up thread representation (through simulation->threads only)

20110326  - Intermediate version (partial bonded in threads)

20110315  - Intermediate version

20110313  - Working version with multi-threading

          - Optimized bonded interactions -> ./core/force/bonded.c

          - Bonded calculations completely outside threads

20110227  - Working version without multi-threading

          - Recursive bonded interaction force calc without list optimization



v9.3.2


Date      Description

--------------------------------------------------------------------------------------

20100624  - Start addition of force field typing

20100524  - Addition of field, working rule import

          - Fixed reading literal constants

20100510  - Addition of rules



v9.3.1


Date      Description

--------------------------------------------------------------------------------------

20100418  - Addition of build principle



v9.2


Date      Description

--------------------------------------------------------------------------------------

20090312  - Working sector, link, list, and pair neighbor lists

          - Pre-release version

20081202  - Working sector and link neighbor lists, list does not function

          - Generalized pair functions, Ewald not adapted

          - Changed verlet to allow for uncoupled lists

20081130  - Working sector and link neighbor lists, list does not function

          - Generalized pair functions, Ewald not adapted

20081128  - Working sector and link neighbor lists, list does not function

          - Changing storage to allow for list neighbor list