Change log¶
v2019.3.13¶
- Streamlined Site, PeriodicSite, Molecule and Structure code by abandoning immutability for Site and PeriodicSite.
- VaspInput class now supports a run_vasp method, which can be used to code runnable python scripts for running simple calculations (custodian still recommended for more complex calculations.). For example, the following is a kpoint convergence script that can be submitted in a queue
from pymatgen import MPRester
from pymatgen.io.vasp.sets import MPRelaxSet
VASP_CMD = ["mpirun", "-machinefile", "$PBS_NODEFILE", "-np", "16", "vasp"]
def main():
mpr = MPRester()
structure = mpr.get_structures("Li2O")[0]
for k_dens in [100, 200, 400, 800]:
vis = MPRelaxSet(structure,
user_kpoints_settings={"reciprocal_density": k_dens})
vi = vis.get_vasp_input()
kpoints = vi["KPOINTS"].kpts[0][0]
d = "Li2O_kpoints_%d" % kpoints
# Directly run vasp.
vi.run_vasp(d, vasp_cmd=VASP_CMD)
# Use the final structure as the new initial structure to speed up calculations.
structure = Vasprun("%s/vasprun.xml" % d).final_structure
if __name__ == "__main__":
main()
- Many pymatgen from_file methods now support pathlib.Path as well as strings.
- Misc bug fixes.
v2019.2.28¶
- Type hints now available for core classes.
- New pymatgen.util.typing module for useful types.
- Misc bug fixes.
v2019.2.24¶
- New EntrySet class for easy manipulation of entries to grab subsets, remove non-ground-states, etc. Makes it easier to grab a large set of entries and work with sub chemical systems. Also MSONable for caching.
- Performance improvements in core classes and Poscar (@ExpHP).
- New/changed methods for IcohpCollection and Completecohp
v2019.2.4¶
- New Trajectory class for MD simulations (@sivonxay)
- Lattice.get_vector_along_lattice_directions (@blondgeek)
- Misc bug fixes.
v2019.1.24¶
- Python 3 only!
- Improvements to local environment code including VESTA bond emulation (@utf)
- Update Cohp analysis (@JaGEO)
- Updates to Boltztrap2 (@fraricci)
v2019.1.13¶
- Pymatgen is now Py3 ONLY. If you need Py27 support, please use versions < 2019.1.1.
- PARCHG parsing from WAVECAR (@mturiansky)
- Improvements to defect generation algorithms (@dbroberg)
- Simplifications to COHP plotting (@JaGeo)
v2018.12.12¶
- Support for IUPAC ordering of elements in Composition formulae (@utf)
- Various bug fixes including returning integer miller indices, catching negative values in Composition and fixes to graph analysis (@utf), fix to Composition serialization (@jmmshen), defect analysis (@HanmeiTang), removing sites in surfaces (@yiming-xu), and fix to support the new PROCAR format in VASP (@dkorotin)
- PMG_MAPI_ENDPOINT environment variable added to support different endpoints for the Materials Project REST interface (@mkhorton)
v2018.11.30¶
- MPRester.query now supports bulk queries for large scale requests. (@dwinston)
- MVLRelax52Set which uses VASP 52 pseudopotentials. (@HanmeiTang)
- EPH calculations in ABINIT (@gmatteo)
- New ScaleToRelaxedTransformation (@richardtran415)
- New dimensionality finder, and consolidation of existing algorithms (@utf)
- New dopant predictor built on structure predictor (@utf)
- Misc bug fixes (@HanmeiTang, @utf, @tamuhey, @mkhorton, @yiming-xu, @richardtran415)
v2018.11.6¶
- Ionic radius based CrystalNN (@computron)
- InterfacialReactivity (@dbroberg)
- Misc bug fixes
v2018.10.18¶
- New bond fragmenter and bond dissociation analysis modules (@samblau)
- Improvements to MoleculeGraph (@espottesmith)
- Fix: bug in triclinic tensor conversion to IEEE standard (@montoyjh)
- Fix: insertion battery summary dictionary format (@jmmshn)
- Speed improvements to certain tests (@shyuep, @samblau)
v2018.9.30¶
- Fix: increased cut-off to VoronoiNN to avoid scipy crash (@utf)
- Fix: Outcar parsing issues with certain values of electrostatic potential (@sivonxay)
- Fix: bug in EnumlibAdaptor/EnumerateStructureTransformation involving incorrect stoichiometries in some instances (#1286) (@shyuep)
- Fix: fractional co-ordinate finite precision errors in CifParser, now also includes additional warnings for implicit hydrogens (@mkhorton)
- New features and improvements to GBGenerator (@ucsdlxg, @shyuep)
- New analysis options in StructureGraph, speed up tests (@mkhorton)
- New utility function to pretty print disordered formulae, along with a ordered-to-disordered structure transformation (@mkhorton)
- Ability to use pymatgen’s StructureMatcher against AFLOW’s library of crystallographic prototypes (@mkhorton)
- Make Chgcar serializable to/from dict for database insertion (@jmmshn)
v2018.9.19¶
- Fix to composition handling in MolecularOrbitals (@dyllamt)
- Fix to allow mixed compressed/uncompressed loading of VASP band structures (@ajjackson)
- New features and fixes to chemenv analysis module (@davidwaroquiers)
- Fix to include structure predictor data with pip/conda-installed pymatgen (@shyamd)
- Fixes to Defect objects, icluding allowing rotational supercell transformations (@dbroberg)
- Fix to BSDOSPlotter to correctly fill in parts of DOS (@fraricci)
- Added ‘@’ notation parsing in Composition (@tamuhey)
- BibTex reference extraction updated in CifParser to support ICSD CIFs (@shyamd)
- Various updates to speed up and fix test suite (@shyuep, @fraricci)
- Improvements to BoltzTraP 2 support (@shyuep, @fraricci)
v2018.9.12¶
- Use boltztrap2 (@fraricci)
- Refactoring of tensor code to core (@montoyjh)
- Support for new Lobster version (@JaGeo)
- Misc bug fixes
v2018.8.10¶
- Bug fix for pymatgen.analysis.gb and pymatgen.io.lammps.
v2018.8.7¶
- Massive refactoring of LAMMPS support. (@adengz)
- Allow kwargs passthrough for Structure.to.
- Updates to ABINIT support (@gmatteo)
- GrainBoundaryTransformation class. (@Tinaatucsd)
v2018.7.15¶
- Grain boundary generator (Xiangguo Li @ucsdlxg)
- Massive updates to defect code and new DefectTransformation (@shyamd)
- Bug fix for OUTCAR parsing with more than one space in electrostatic potential.
- get_fermi_interextrapolated to support wider range of input doping (@albalu)
- Update to cython compile to support Py3.7.
- Update VoronoiNN cutoff dynamically (@computron)
v2018.6.27¶
- Improved local_env and MoleculeGraph (@WardLT, @espottesmith)
- Improve BabelMolAdaptor with conformer search and other functions (@Qi-Max)
- Improved surface analysis (@richardtran415)
v2018.6.11¶
- Updates to ABINIT support for 8.1.3
- Updates to Interface analyzer.
- Fix bug in deserialization of ComputedStructureEntry.
- Misc bug fixes.
v2018.5.22¶
- Misc bug fixes.
v2018.5.21¶
- Bug-fix for missing HHI data file.
- Misc bug fixes.
v2018.5.14¶
- Dash docs now avaiable for pymatgen. See pymatgen.org “Offline docs” section for details.
- Better CrystalNN. (Anubhav Jain)
- Fixes for elastic module. (Joseph Montoya)
v2018.5.3¶
- Improvements to qchem (@samblau).
- Improvements to nwchem to support tddft input and parsing (@shyuep).
- Improvements to CrystalNN (@computron).
- Add methods for getting phonon BS, DOS, and DDB output (@dwinston).
v2018.4.20¶
- Neutron diffraciton calculator (Yuta)
- Non-existent electronegativity (e.g., He and Ne) are now returned as NaN instead of infinity.
- CifParser now handles Elements that are in all caps, which is found in some databases. (Gpretto)
- Improvements to local_env (Anubhav Jain)
- Improvements to Qchem ()
- Inputs sets for NMR (Shyam)
- New ChargeDensityAnalyzer class to find interstitial sites from charge density (Hanmei)
v2018.4.6¶
- Updated debye temperature formulation (Joey Montoya)
- Add bandgap option for FermiDos for scissoring (Alireza Faghaninia)
- Improved Pourbaix code (Joey Montoya)
- Local env code improvements (Nils)
v2018.3.22¶
- Bug fixes to structure, phase diagram module, enumlib adaptor, local env analysis.
v2018.3.14¶
- ReactionDiagram for calculating possible reactions between two compositions.
- Misc bug fixes for EnumlibAdaptor and MagOrderingTransformation
v2018.3.13¶
- Support for VESTA lattice vector definitions.
- GaussianOutput read now bond_orders of a NBO calculations (@gVallverdu)
- Bug fixes to phonons, abinit support.
v2018.3.2¶
- Various algorithms for nearest neighbor analysis (Hillary Pan)
- Cleanup of local_env modules (Nils)
- Enhancements to surface packages (Richard)
- Misc bud fixes
v2018.2.13¶
- Improved chemenv parameters and bug fixes (David Waroquiers).
- Improved Qchem IO (Shyam).
- Improved interfacial reactions.
- local_env update (Nils).
- Improved ABINIT support (@gmatteo).
- Misc bug fixes.
v2018.1.29¶
- Improvements to local_env (Nils)
- Term symbols for Element (Weike Ye).
- Timeout for enumlib (Horton).
v2018.1.19¶
- Phonon plotting and analysis improvements (Guido Petretto).
- Voronoi site finder (Hanmei Tang)
- Some bug fixes for Gaussian (Marco Esters)
- Misc improvements.
v2017.12.30¶
- Added detailed Shannon radii information and method.
- Magoms for lanthanides (Weike Ye)
- Chemenv improvements (David Waroquiers)
- Ewald summation improvements (Logan Ward)
- Update to ABINIT support (G Matteo)
v2017.12.16¶
- Add optical absorption coefficient method
- Improve plot_element_profile
v2017.12.15¶
- Deprecated methods cleanup for 2018. Note that this may break some legacy code. Please make sure you update your code!
- Better dielectric parsing for VASP 5.4.4 to include both density-density and velocity-velocity functions.
- Orbital-resolved COHPs support (Macro Esters)
- Convenient plot_element_profile method in PDPlotter.
- Input set for SCAN functional calculations.
- Misc bug fixes and code improvements.
v2017.12.8¶
- Pymatgen no longer depends on pyhull.
- MPRester method to get interface reaction kinks between two reactants.
- Misc improvements.
v2017.12.6¶
- Support for HDF5 output for VolumetricData (CHGCAR, LOCPOT, etc.).
- Support for Crystal Orbital Hamilton Populations (COHPs) (@marcoesters)
- REST interface for Pourbaix data
- Support for optical property parsing in Vasprun.
- Improvements to LammpsData
- Misc bug fixes.
v2017.11.30¶
- Fix for severe enumlib_caller bug. This causes enumerations not to be carried out properly due to bad accounting of symmetry of ordered sites. It results in too few orderings.
- New method to extract clusters of atoms from a Molecule based on bonds.
v2017.11.27¶
- Improvements to FEFF
- MPRester now supports surface data.
- Improvement to DiscretizeOccupanciesTransformation.
v2017.11.9¶
- Massive rewrite of LAMMPSData to support more functionality (Zhi Deng)
- Misc bug fixes.
v2017.11.6¶
- Better exception handling in EnumlibAdaptor and EnumerateStructureTransformation.
- Allow bypassing of ewald calculation in EnumerateStructureTransformation.
- get_symmetry_operations API convenience method for PointGroupAnalyzer.
- New DiscretizeOccupanciesTransformation to help automate ordering of disordered structures.
- Fix POTCAR check for POSCAR.
- Minor updates to periodic table data.
- Misc bug fixes.
v2017.10.16¶
- Added many more OPs and made normalization procedure more robust (Nils Zimmermann)
- Molecular orbitals functionality in Element (Maxwell Dylla)
- Improvements in chemenv (David Waroquiers)
- Add I/O for ATAT’s mcsqs lattice format (Matthew Horton)
v2017.9.29¶
- critic2 command line caller for topological analysis (M. Horton)
- Refactor coord_util -> coord.
v2017.9.23¶
- Gibbs free energy of a material with respect to Pourbaix stable domains.
- Phonopy io now supports structure conversions.
- EnumerateStructureTransformation now implements a useful occupancy rounding.
- MVLNPTMDSet
- Improved PDPlotter options.
- Misc bug fixes.
v2017.9.3¶
- VDW support (Marco Esters)
- Bug fix release.
v2017.9.1¶
- Massive refactoring of PhaseDiagram. Now, PDAnalyzer is completely defunct and all analysis is carried out within PhaseDiagram itself, e.g., pd.get_e_above_hull as opposed to PDAnalyzer(pd).get_e_above_hull.
- Refactoring of structure prediction. Now in pymatgen.analysis.structure_prediction.
- New core Spectrum object and associated pymatgen.vis.plotters.SpectrumPlotter.
- Parsing energies from gen_scfman module in Qchem 5 (Brandon Wood)
- Improvements to LAMMPSData, vasp IO.
v2017.8.21¶
- Minor bug fixes.
v2017.8.20¶
- Input sets for GW and BSE calculations (Zhenbin Wang) and grain boundary calculations (Hui Zheng). Input sets now support overriding of POTCAR settings.
- Haven ratio calculation (Iek-Heng Chu).
- LAMMPS io updates (Kiran Matthews).
- Oxidation state guessing algorithms based on ICSD data (Anubhav Jain).
- New local_env module for local environment analysis. (Nils Zimmerman).
- pymatgen.util.plotting.periodic_table_heatmap (Iek-Heng Chu).
- Improvements to surface code for tasker 3 to 2 reconstructions.
- pymatgen.analysis.interface_reactions.py for analyzing interfacial reactions (Yihan Xiao).
v2017.8.16¶
- PointGroupAnalyzer now allows for symmetrization of molecules. (@mcocdawc)
- QuasiharmonicDebyeApprox with anharmonic contribution. (Brandon)
- Improvements to LAMMPS io. (Kiran)
- Misc bug fixes.
v2017.8.14¶
- Fixes and minor improvements to elastic, bader and defect analyses.
v2017.8.4¶
- Major refactoring and improvements to lammps io. (Kiran)
- Major improvements to BaderAnalysis. (Joey and Zhi)
- Major improvements to Magmom support in cifs, SOC calculations, etc. (Matthew Horton)
- Add remove_site_property function. Add magmom for Eu3+ and Eu2+.
- BoltztrapAnalyzer/Plotter support for seebeck effective mass and complexity factor (fraricci)
v2017.7.21¶
- Misc bug fixes to elastic (J. Montaya),
- Decrease default symprec in SpacegroupAnalyzer to 0.01, which should be sufficiently flexible for a lot of non-DFT applications.
v2017.7.4¶
- Bug fixes for oxide corrections for MP queried entries, and pickling of Potcars.
- Default to LPEAD=T for LEPSILON=T.
v2017.6.24¶
- New package pymatgen.ext supporting external interfaces. Materials Project REST interface has been moved to pymatgen.ext.matproj. Backwards compatibility will be maintained until 2018.
- Two new interfaces have been added: i) Support for John Hopkin’s Mueller group’s efficient k-point servelet (J Montaya). ii) Support for Crystallography Open Database structure queries and downloads. (S. P. Ong). See the examples page for usage in getting structures from online sources.
v2017.6.22¶
- Speed up pmg load times.
- Selective dynamics parsing for Vasprun (Joseph Montaya)
- Allow element radius updates in get_dimensionality (Viet-Anh Ha).
- Dielectric function parse for vasp 5.4.4 (Zhenbin Wang).
- Parsing for CIF implicit hydrogens (Xiaohui Qu).
v2017.6.8¶
- Switch to date-based version for pymatgen.
- Electronegativities now available for all elements except for He, Ne and Ar, which are set to infinity with a warning.
- Bond lengths are now set to sum of atomic radii with warning if not available.
- Bug fixes to boltztrap, symmetry for trigonal-hex systems, etc.
v4.7.7¶
- Magnetic symmetry and CIF support. (Horton)
- Improved PWSCF Input file generation.
- Misc bug fixes.
v4.7.6¶
- Fix serious bug in PointGroupAnalyzer that resulted in wrong point groups assigned to non-centered molecules.
- Useful get_structure_from_mp at the root level for quick retrieval of common structures for analysis.
- More efficient kpoint grids.
- Misc bug fixes.
v4.7.5¶
- MultiXYZ support (Xiaohui Xu)
- Misc bug fixes and cleanup.
v4.7.4¶
- New ferroelectric analysis module (Tess).
- Magmom support and MagSymmOp (Matthew Horton).
- Improved CIF Parsing.
v4.7.3¶
- Sympy now a dependency.
- Massive improvements to elastic package. (Joseph Montoya)
- Symmetrized structures now contain Wyckoff symbols.
- More robust CIF parsing and MITRelaxSet parameters (Will).
v4.7.2¶
- Support for Abinit 8.2.2, including support for DFPT calculations. (Matteo)
v4.7.1¶
- Pathfinder speedup
- Minor bug fix for plots.
v4.7.0¶
- Improvements to BSDOSPlotter.
- Enhancements to Phase diagram analysis and reaction calculator.
- Enhancements to surface slab and adsorption. (Richard and Joey)
- Support NpT ensemble in diffusion analysis.
v4.6.2¶
- Improve Spacegroup class support for alternative settings. Add a get_settings class method.
- Improvements to FEFF support.
- Improvements to EOS class.
v4.6.1¶
- Phonon bandstructure plotting and analysis. (Guido Petretto)
- New capabilities for performing adsorption on slabs. (Joey Montoya)
- Remove pathlib dependency.
v4.6.0¶
- Improve support for alternative settings in SpaceGroup.
- Fix respect for user_incar_settings in MPNonSCFSet and MPSOCSet
- Support for argcomplete in pmg script.
- Speed ups to Ewald summation.
- Add functionality to parse frequency dependent dielectric function.
- Improvements to Bolztrap support.
v4.5.7¶
- PMG settings are now prefixed with PMG_ to ensure proper namespacing.
- Improve error output in command line bader caller.
- Add Py3.6 classifier.
- Misc bug fixes.
v4.5.6¶
- Minor bug fix.
- Fixed elastic energy density
v4.5.5¶
- Fix bad reading of pmgrc.
- Gaussian opt section added allowing for torsion constraints
- Update spglib.
v4.5.4¶
- BSDOSPlotter (Anubhav Jain)
- Fixes to defect analysis (Bharat)
- intrans as an input to BoltztrapAnalyzer. Allows for scissor operation.
- Pmg is now continuously tested on win-64/py35 using Appveyor!
v4.5.3¶
- Added an alternative interstitial finder that works with a grid-based structure-motif search. (Nils Zimmermann)
- Optionnal possibility to specify that the saddle_point in the NEB should have a zero slope. (David Waroquiers)
- Read intensity and normal modes for Gaussian. (Germain Salvato Vallverdu)
- Minor bug fixes.
v4.5.2¶
- Minor bug fix for POTCAR settings.
v4.5.1¶
- You can now specify a different default functional choice for pymatgen by setting PMG_DEFAULT_FUNCTIONAL in .pmgrc.yaml. For use with newer functional sets, you need to specify PBE_52 or PBE_54 for example.
- Swtich to ISYM 3 by default for HSE.
- Updates to FEFF>
- Misc bug fixes and startup speed improvements.
v4.5.0¶
- Major speed up of initial load.
- Collection of misc changes.
v4.4.12¶
- Fix for dynamic numpy import.
v4.4.11¶
- Update to new version of spglib.
v4.4.10¶
- Minor fixes for proper gzipped structure file support and MVLSlabSet.
v4.4.9¶
- Dependency cleanup. Now, basic pymatgen requires on much fewer packages.
- Fixed reading of POSCAR files when more than 20 types of atoms.
- Misc bug fixes.
v4.4.8¶
- Cleanup of entry points and dependencies.
v4.4.7¶
- Update to spglib <IP_ADDRESS>
- Proper use of dependency markers for enum34.
v4.4.6¶
- Update to spglib 1.9.6, which fixes some bugs and is Windows compatible.
v4.4.5¶
- Bug fix for SubstitutionProb.
v4.4.4¶
- Bug fix for electronic structure plotter.
v4.4.3¶
- Bug fix for Diffusion Analyzer.
v4.4.2¶
- Bug fix for BS serialization.
- Cleanup dependencies.
v4.4.1¶
- Massive updates to FEFF support (Kiran Mathews).
- Bug fixes in band structure plotting.
v4.4.0¶
Much more Pythonic API for modifying Structure/Molecule species. Now, strings, slices, and sequences should magically work, in addition to the previous API of simple int indices. Examples:
s[0] = "Fe" s[0] = "Fe", [0.5, 0.5, 0.5] # Replaces site and fractional coordinates. s[0] = "Fe", [0.5, 0.5, 0.5], {"spin": 2} # Replaces site and fractional coordinates and properties. s[(0, 2, 3)] = "Fe" # Replaces sites 0, 2 and 3 with Fe. s[0::2] = "Fe" # Replaces all even index sites with Fe. s["Mn"] = "Fe" # Replaces all Mn in the structure with Fe. s["Mn"] = "Fe0.5Co0.5" # Replaces all Mn in the structure with Fe: 0.5, Co: 0.5, i.e.,creates a disordered structure!
Massive update to internal representation of Bandstructure objects for memory and computational efficiency.
Bug fixes to CIF parsing in some edge cases. (Will Richards).
v4.3.2¶
- Massive speedup of Bandstructure, especially projected band structures, parsing.
- Massive update to pmg cli script, with new query functions as well as a more rational command structure.
- Updates to ChemEnv.
- Misc bug fixes.
v4.3.1¶
- Upgrade monty and spglib requirements for bug fixes.
- Updates to feff support (Kiran).
v4.3.0¶
- Massive update to elastic module. (Joey Montaya)
- Pathfinder algorithm for NEB calculations. (Ziqing Rong)
- Wheels for Windows and Mac Py27 and Py35.
v4.2.5¶
- Bug fix for BSPlotter.
v4.2.4¶
- Bug fix for kpoint weight calculation for Monkhorst meshes.
v4.2.3¶
- Minor cleanup.
- Simplified installation. enumlib and bader can now be installed using pmg setup –install.
v4.2.2¶
Global configuration variables such as VASP_PSP_DIR and MAPI_KEY are now stored in “~/.pmgrc.yaml”. If you are setting these as environmental variables right now, you can easily transition to the new system using:
pmg config --add VASP_PSP_DIR $VASP_PSP_DIR MAPI_KEY $MAPI_KEY
This new scheme will provide greater flexibility for user-defined global behavior in pymatgen, e.g., tolerances, default input sets for transmuters, etc., in future.
Beta of k-point weight calculator.
Use default MSONable as and from_dict for all transformations.
v4.2.1¶
- New DopingTransformation that implements an automated doping strategy.
- Updated MIC algorithm that is a lot more robust (Will Richards).
- Major update to chemenv package (David Waroquiers)
v4.2.0¶
- Fix important bug in minimum image distance computation for very skewed cells.
- Major refactoring of WulffShape code.
- Misc bug fixes for elastic tensor and other codes.
v4.1.1¶
- Major refactoring of WulffShape and lammps support.
v4.1.0¶
- Wulff shape generator and analysis.
- Minor bug fixes.
v4.0.2¶
- Fix kpoint reciprocal density.
v4.0.1¶
- Minor bug fix release.
v4.0.0¶
- Massive update with many deprecated methods removed. Note that this may break backwards incompatibility!
- Support for ABINIT 8.
- Improved sulfide compatibility.
v3.7.1¶
- Fix deprecation bug.
v3.7.0¶
- Last version before pymatgen 4.0, where deprecated modules will be removed!
- Massive update to LAMMPS (Kiran Matthews).
- New input sets with a different interface that replaces old input sets.
- Massive update to elastic properties.
v3.6.1¶
- Massive cleanup to Boltztrap interface (Anubhav Jain)
- Refactor of piezoelectric analysis to use tensor base class (Joey)
- More robust CIF parsing.
v3.6.0¶
- Pymatgen now uses spglib directly from Togo’s website. Spglib is no longer bundled as a dependency.
- Improved support for velocities in Poscar (Germaine Vallverdu)
- Backwards incompatible change in Born charge format in Outcar.
- Fixes for Lammps input serialization
v3.5.3¶
- Misc refactorings and bug fixes, especially for Outcar and Boltztrap classes.
v3.5.2¶
- Minor update to DerivedInputSet interface.
v3.5.1¶
- New derived input sets for generating inputs that depende on previuos calculations. Old input sets deprecated.
v3.5.0¶
- Chemical environment analysis package (David Waroquiers).
- Piezoelectric property analysis (Shayam).
- Cythonize certain expensive core functions. 5-10x speedup in large structure matching (Will Richards).
- New NMR parsing functionality for Outcar (Xiaohui Qu).
- Improved io.lammps (Kiran Mathews).
- Update to spglib 1.9.2.
- Element properties now return unitized float where possible.
- Bug fix for get_primitive_standard affecting rhombohedral cells (important for band structures).
- Vasprun.final_energy now returns corrected energy with warning if it is different from final electronic step.
v3.4.0¶
- 10-100x speed up to Structure copying and Site init, which means many functionality has seen signifcant speed improvement (e.g., structure matching).
- Convenience method Structure.matches now perform similarity matching for Structures.
- Bugfix for band gap determination.
v3.3.6¶
- Update to use enum.x instead of multienum.x.
- Minor robustness fixes to VaspInputSet serialization.
- Add a reciprocal density parameter to vasp sets.
- Minor bug fixes to Vasprun parsing.
v3.3.5¶
- StructureMatcher can now work with ignored species.
- Added interpolation failure warnings and smooth tolerance for scipy.interpolate.splrep in bandstructures (Tess).
- Added DiffusionAnalyzer.get_framework_rms_plot.
- Complete rewrite of Procar class to use ND array access and zero-based indexing.
- OrderParameters class for analysis of local structural features (Nils Zimmermann).
- Bug fixes for Procar, MPRester and SpaceGroup 64.
- Added Github templates for contributing to pymatgen.
v3.3.4¶
- Procar now supports parsing of phase factors.
- Miscellaneous bug fixes.
v3.3.3¶
- Bug fixes for Poscar.
- Fix Kpoints pickling.
v3.3.2¶
- Bug fixes for pymatgen.io.abinit
- Other minor big fixes.
v3.3.1¶
- Minor bug fix release for pickle and elastic constants.
v3.3.0¶
- Updated and checked for Python 3.5.* compatibility.
- Element, Spin, Orbital and various other Enum-like classes are now actually implemented using Enum (with enum34 dependency for Python < 3.4).
- Speed up Site creation by 20% for ordered sites, with cost in terms of slightly slower non-ordered Sites. Since ordered Sites is the far more common case, this gives significant boost for large scale manipulations of structures.
- Alternative, more pythonic syntax for creating supercells via simply Structure * 3 or Structure * (3, 1, 1).
- zeo++ fixes.
- More stable incar settings for MITMDVaspInputSet.
v3.2.10¶
- Fix missing scripts
- Improvements to units module.
- Speed up EwaldSummation.
v3.2.9¶
- Major PD stability improvements, especially for very high dim hulls with lots of entries.
- Improvements to Ewald summation to be close to GULP implementation.
- Deprecate physical constants module in favor of scipy’s version.
- Remove many pyhull references to use scipy’s ConvexHull implementation.
- Bug fix for sulfide correction.
v3.2.8¶
- Make pyhull optional.
- Sulfur correction added to MaterialsProjectCompatibility for more accurate sulfide formation energies.
- ADF io support. (Xin Chen)
- Bug fixes for spacegroup subgroup testing.
v3.2.7¶
- Add warning for limited subgroup testing functionality in Spacegroup.
v3.2.6¶
- Extensive support for elasticity tensor analysis (Joseph Montoya).
- Misc bug fixes and performance improvements.
- Add support for QChem4.3 new format of Batch jobs
v3.2.5¶
- Improved potcar setup via “pmg setup”, with MAPI setup.
- Support for new POTCARs issued by VASP.
- Improvements to ABINIT support.
- Improvement to Boltztrap support, e.g., scissor band gap, etc.
- Vasprun now issues warning when unconverged run is detected.
v3.2.4¶
- GaussianOutput can now parse frequencies, normal modes and cartesian forces (Xin Chen).
- Support for Aiida<->pymatgen conversion by the Aiida development team (Andrius Merkys).
- Specialized BSVasprun parser that is ~2-3x faster than Vasprun.
- Refactor the boltztrap package (merge a few methods together) and add several new methods (power factor, seebeck…)
- Support of the new PCM format in QChem 4.3
- Local environment analysis to pmg script.
- Deprecate prettytable in favor of tabulate package.
- Improvements to MITNEBVaspInputSet.
- Misc bug fixes.
v3.2.3¶
- Massive update to abinit support. Note that pymatgen.io.abinitio has been refactored to pymatgen.io.abinit. (Matteo, Setten)
- NwOutput now supports parsing of Hessian matrices (contributed by Xin Chen)
- Gaussian support now has the ability to read potential energy surface and electronic transitions computed with TD-DFT (Germain Salvato Vallverdu)
- Bug fixes for CifWriter with symmetry.
- Bug fixes for surface generation and reactions.
- Monty requirement increased.
v3.2.1¶
- Fix wrong U value for Ce and Eu.
- Properly handle empty multiline strings in Cif
- Add ability to get specific data in MPRester.get_entries. Make all get_entry methods consistent in kwargs.
v3.2.0¶
- Force conversion to an actual list in selective dynamics and velocities in Poscar.
- fix small bug in BSPlotter (wrong ylim)
- Elastic tensor parsing in Outcar
v3.1.9¶
- Fix scripts.
v3.1.7¶
- Bug fixes for MPRester.
- Ensure correct monty version requirement in setup.py.
v3.1.6¶
- Rudimentary PWSCF output reading.
- Fix ASE support.
- Support for WAVEDERF and reading multiple dielectricfunctions in vasprun.xml. (Miguel Dias Costa)
v3.1.5¶
- Move vasp.vasp*put to vasp.*puts. Also, maintain backwards compatibility with vaspio.vasp_*put
v3.1.4¶
- Fix missing yaml files that have been moved.
v3.1.3¶
- Major refactoring of pymatgen.io. Now, the io suffix is dropped from all io classes. i.e., it is just pymatgen.io.vasp, not pymatgen.io.vaspio. Also, all input sets have been moved within the relevant package, e.g., pymatgen.io.vasp.sets. All changes are backwards compatible for now. But deprecation messages have been included which states that the stubs will be removed in pymatgen 4.0. Pls migrate code when you see the deprecation messages.
- Make Composition.anonymized_formula truly chemistry independent (No A2B2 for peroxides or A2 for diatomic gasses)
- Allowing CIF data_* header to be prefixed with spaces and tabulations.
v3.1.2¶
- HHI Resource Analysis (by Anubhav Jain).
- Bug fixes for surfaces normalizatino.
- Bug fix for Vasprun parsing of response function keys.
- Dockerfile for generation of an image for pymatgen.
- Updated requirements.txt for latest requests, scipy, numpy.
v3.1.1¶
- Bug fixes for SpacegroupAnalyzer and SlabGenerator.
- Much faster normal vec search.
v3.1.0¶
- Much improved surface generation algorithm that provides for orthogonality constraints.
- Transition state analysis tools! (beta)
- Massive improvements in Outcar parsing which provides a powerful grepping syntax.
- PWSCFInput generation (beta).
- Reduce default SIGMA to 0.05 for MP input sets.
- Update spglib to 1.7.3 as per recommendation of Togo.
- Many bug fixes and efficiency improvements.
v3.0.13¶
- Bug fix for parsing certain types of CIFs.
- MPRester now has get_materials_id_references helper method.
- Minor fix for Vasprun.final_energy.
- Added mp_decode option to MPRester.query to allow option to not decode into pymatgen objects.
- New POTCAR hash scheme to more robustly identify unique POTCARs.
- Link to http://bit.ly/materialsapi for information on Materials API document schema for use with MPRester.query method.
v3.0.11¶
- Lots of abinitio improvements (Matteo).
- Added mp_decode option to MPRester.query to allow option to not decode into pymatgen objects.
v3.0.10¶
- Fix cartesian coord parsing in Poscar class.
- Vasprun now works with non-GGA PBE runs
- Misc bug fixes
v3.0.9¶
- Major bug fixes for CIF parsing (Will Richards).
- Support for {Li,Na} syntax in parse_criteria for MPRester.
- Additional example notebook for ordering and enumeration.
- More robust checking for oxidation states in EnumerateStructureTRansformation.
- Improvements to Slab polarity checking.
v3.0.8¶
- Massive update to abinitio (Matteo).
- Improvements to OUTCAR parsing (Ioannis Petousis).
v3.0.7¶
- Powerful Slab generation algorithms (beta!).
- Improvements to DiffusionAnalyzer with constant smoothing option.
- Significantly improve look of DOS plots using prettyplotlib.
v3.0.6¶
- Cost analysis module (Anubhav Jain)
- More Py3k fixes.
- Extensive abinitio updates (Matteo).
v3.0.5¶
- Completely revamped symmetry package. The finder.SymmetryFinder and pointgroup and spacegroup modules are now deprecated. Instead, all symmetry analysis is in the :module:`pymatgen.symmetry.analyzer`_ module. There is also a completely rewritten support for symmetry groups in :module:`pymatgen.symmetry.groups`_. Structure now supports a static constructor to generate a structure from a spacegroup (see examples).
- BatteryAnalyzer class (Anubhav Jain) to provide for some common analysis of intercalation electrodes.
- Minor bug fixes for structure_matcher, lattice, abinitio.
- MOAB qadapter for abinit. (Liam Damewood)
v3.0.4¶
- Fix missing structures json data.
v3.0.3¶
- Updates to DiffusionAnalyzer for more fine-grained statistics.
- Bug fixes and tweaks to linear assignment
- Improved PymatgenTest class which provides a suite of test structures.
- Speedups to Phase Diagram
- Lots of improvements to Gaussian support (Nicolas Dardenne) and Abinit IO (Matteo).
- Lots of Py3k minor updates.
- Updated doc for Diffusion anaylzer. Invert sq_disp_ions for more intuitive handling.
v3.0.2¶
- Consistent use of unicode throughout pymatgen.
- Minor bug fixes.
v3.0.1¶
- Minor bug fixes for cifio.
- Py3k updates for abinitio.
v3.0.0¶
- Pymatgen is now completely Python 2.7 and Python 3.x compatible!
- Spglib and pyhull have been updated to support Python 3.x.
- Completely rewritten pure python cifio module (courtesy of William Davidson Richards) removed dependency on PyCIFRW, which has been causing many issues with installation.
- Structure and Molecule now supports a very convenient to() and from_str and from_file functionality. Instead of trying to load the appropriate parser, you can output and read from the appropriate formats directly. See example usage.
- ~50% speedup to LinearAssignment code.
- Continuous integration and contribution guidelines now include Python 3.
- Backwards incompatible changes
- matgenie.py has now been renamed simply “pmg” for brevity.
- All deprecated methods in pymatgen 2.x have been removed. E.g., pymatgen.core.structure_modifier is no longer available.
- Pymatgen classes now uses the as_dict() method protocol implemented in the Monty package. The to_dict property is now deprecated and will be removed in pymatgen v3.1.
- Update main docs page examples with the new Structure to, from formats.
v2.10.6¶
- Bug fix for np1.9 incompatibility. Now works.
- Use wheel for pymatgen deployments.
- matgenie.py is now renamed to pmg for faster CLI usage.
- Improvements to KPOINTS automatic generation.
- Simpler and faster Structure.get_all_neighbors
v2.10.5¶
- DiffusionAnalyzer now has non-smoothed option.
- Kpoints generation algorithm now guarantees minimum # of points.
- Compatibility now has a proper explanation dict.
- Vaspruns with NSW == 1 now checked properly for electronic conv.
- make_movie now supports kwargs.
v2.10.3¶
- MPRester.query now supports a simple but powerful string criteria syntax with support for wild cards.
- Improvements to Composition - support for negative compositions, sorting etc.
- Speed ups to StructureMatcher.
v2.10.2¶
- Bug fix for Projected DOS parsing in new Vasprun.
- Compatibility now has a explain method which provides a detailed outline of the changes that a Compatibility makes to an Entry.
v2.10.1¶
- Minor fix for monty requirements in setup.py.
v2.10.0¶
- Major update: MPRester now uses Materials API v2! Also major refactoring of MPRester.
- Vastly improved Vasprun parser using cElementTree. Twice as fast, half as much code and easier to maintain.
- Vast improvements to Qchem functionality (Xiaohui Qu).
- Improved handling of Structure manipulations for extremely large structures (particularly in terms of memory consumption).
- Bug fix for XYZ parsing for scientific notation.
- Improve monty.serialization for transparent handling of JSON vs YAML. Requirements updated to monty>=0.3.3.
- Update numpy requirements to 1.8+. Fixes memory leak.
- Other minor bug fixes.
v2.9.14¶
- Implements Structure.sort method. Both Structure.sort and the get_sorted_structure methods now supports all arguments supported by list .sort().
- VaspInputSets configs, as well as several other configs now uses yaml. Note the new dependency on pyyaml. It is highly recommended that you install pyyaml with the libyaml C bindings.
- Fix missing spglib dependency.
- Use monty.serialization for transparent handling of JSON vs YAML. Requirements updated to monty>=0.3.1.
v2.9.13¶
- Urgent bug fix for missing compatibility yamls.
v2.9.12¶
- Defect transformations (Bharat).
- Support for optical properties (Geoffroy Hautier and David Waroquiers).
- Improved support for some VASP output files (XDATCAR and OSZICAR).
- Refactored compatibilities now uses YAML for ease of reading.
v2.9.11¶
- Bug fix for get_xrd_plot.
- Speed up XRD calculator by allowing specification of two theta ranges.
- Minor improvements to Gulp caller.
v2.9.10¶
- Bug fix for unequal coefficients sizes in XRD.
- Support for Ag radiation in XRD calculator.
- Improved Procar class for extraction of information. (Germain Salvato Vallverdu)
- Bug fix for extraction of GGA data from Materials API.
v2.9.9¶
- XRDCalculator now supports disordered structures.
- Minor speed ups and improvements.
v2.9.8¶
- Initial beta version of XRD pattern calculator.
- Pymatgen now uses spglib 1.6.0.
- Update to Vasprun to compute static deilectric constants with DFPT in VASP. (Geoffroy Hautier)
v2.9.7¶
- Quick bug-fix release that provides a better solution to Structure handling of properties instead of sanitizing MPRester structures.
v2.9.6¶
- Patch to allow 1D phase diagrams (essentially finding the lowest energy phase).
- Better error checking for Bandstructure KPOINTs.
- Patch to sanitize structures obtained from MPRester.
v2.9.5¶
- Bug fix for linear assignment, which may sometimes affect Structure Matcher results.
- Minor improvement to the way grand canonical PDs work.
v2.9.4¶
- Bug fix for Pourbaix Maker (Sai).
- Streamline use of scratch directories for various calls. Require monty >= 0.1.2.
- High accuracy mode for Zeo++ (Bharat Medasani).
v2.9.3¶
- Bug fix release for printing TransformedStructures from Substitutor (Will Richards).
- Misc improvements in BVAnalyzer, coord_utils and defects (Will Richards, David Waroquiers and Bharat Medasani).
v2.9.2¶
- Bug fix release for DummySpecie, which failed when deserializing from json and had bad hash function.
v2.9.1¶
- Structure/Molecule now supports Pythonic list-like API for replacing and removing sites. See Quick start for examples.
v2.9.0¶
- Updates to support ABINIT 7.6.1 (by Matteo Giantomassi).
- Vastly improved docs.
- Refactoring to move commonly used Python utility functions to Monty package, which is now a dependency for pymatgen.
- Minor fixes and improvements to DiffusionAnalyzer.
- Many bug fixes and improvements.
v2.8.10¶
- Refactoring of qchemio module (by Xiaohui Qu).
v2.8.9¶
- qchemio module (by Xiaohui Qu).
v2.8.8¶
- Minor bug fix release for Structure species substitution methods.
v2.8.7¶
- Massive update to pymatgen.io.abinitio package (by Matteo Giantomassi).
- Bug fixes for StructureMatcher’s group_structure.
- Misc bug fixes and cleanup.
v2.8.6¶
- Bug fix for VASP io set introduced by the default to sorting of structure sites when generating VASP input.
v2.8.4¶
- Completely revamped Compatibility/Correction system which improves readability (Shyue Ping Ong/Anubhav Jain/Sai Jayaraman). This change is backwards compatible for the most part.
v2.8.3¶
- Big fix release for json dumping for unitized floats.
v2.8.2¶
- Bug fix release to improve CIF parsing for more non-standard CIF files. In particular, non-ascii characters are removed and _cgraph* fields are removed prior to parsing for better support in PyCiFRW.
v2.8.1¶
- Bug fix release. Incorrect units assigned for ionic radii.
- Improved nwchemio supports COSMO and ESP calculations (Nav Rajput).
v2.8.0¶
- Units. Pymatgen now has a new system of managing units,
defined in pymatgen.core.units. Typical energy, length, time,
temperature and charge units are supported. Units subclass float,
which makes the usage transparent in all functions. The value that they
being are in terms of conversions between different units and addition and
subtraction of different units of the same type. Some basic quantities
like ionic radii and atomic masses are now returned in unitized forms for
easy conversion. Please see
pymatgen.core.units
and the examples for a demonstration of house to use units in pymatgen. - Minor backwards-incompatible change. Structures are now sorted by default when generating VASP input files using vaspio_set. Old behavior can be obtained by setting sort_structure=False in the constructor. This is typically the desired behavior and prevents the generation of large POTCARs when atomic species are not grouped together.
- Bug fix for Molecule.substitute. Earlier algorithm was not detecting terminal atoms properly.
- Additional conversion tools for ABINIT (by Matteo Giantomassi).
v2.7.9¶
- Minor bug fix release to fix pyhull dependencies to be more friendly.
- Improved structure matcher that allows for more flexible matching. New matching between ordered and disordered comparator.
v2.7.7¶
- Beta new Gulp Caller and Zeo++ interface classes (Bharat . Zeo++ is an open source software for performing high-throughput geometry-based analysis of porous materials and their voids. Please see http://www.maciejharanczyk.info/Zeopp/about.html.
- Specify version of distribute to 0.6.34 for better compatibility.
v2.7.6¶
- Support for VTK 6.x in structure visualization.
- Updated install instructions for openbabel.
- Preliminary pourbaix analysis (Sai Jayaratnam).
v2.7.5¶
- Vastly improved Nwchem IO (by Shyue Ping Ong).
- Much improved ABINIT support (by Matteo Giantomassi).
v2.7.4¶
- Added basic Nwchem (http://www.nwchem-sw.org/) IO support. (by: Shyue Ping Ong).
- New MoleculeMatcher class for comparing molecules by RMS. Requires openbabel with python bindings. (by: Xiaohui Qu)
- New functional group substitution capability for molecules (by: Lei Cheng and Shyue Ping Ong).
v2.7.2¶
- Minor bug fix release to fix some rare errors in very high dimensional phase diagrams. Requires new pyhull version (1.3.8).
v2.7.1¶
- Major backwards-incompatible change. With effect from v2.7.1,
the default Structure and Molecule classes are now mutable objects. All
functionality in the
pymatgen.core.structure_modifier
has been ported over to the new mutable classes. This change was implemented because the immutability of Structure and Molecule has resulted in very awkward code to make changes to them. The main cost of this change is that Structure and Molecule can no longer be used as dict keys (__hash__ has been set to None). However, we believe this is a minor cost given that we have rarely seen the use of Structure or Molecule as dict keys in any case. For the rare instances where such functionality is needed, we have provided the IStructure and IMolecule classes (where I indicates immutability) which will perform exactly the same way as the previous classes. With this change, thepymatgen.core.structure_modifier
module is now deprecated and will be removed in a future version. - read_structure and write_structure now supports pymatgen’s json serialized structures.
- read_mol and write_mol functions now available (analogues of read_structure and write_structure for molecules)
v2.7.0¶
- Beta support for ABINIT input and output via pymatgen.io.abinitio (courtesy of the excellent work of Matteo Giantomassi).
- Properties are now checked when comparing two Species for equality.
- MaterialsProjectVaspInputSet is now renamed to MPVaspInputSet for easier typing. The old input sets have been deprecated.
- New VaspInputSets for MPStatic, MPNonSCF, MITMD which supports uniform grid, bandstructure and molecular dynamics calculations. The MD input set uses MIT parameters for speed.
- A beta DiffusionAnalysis class in the apps package.
- A revised KPOINT grid algorithm that generates more reasonable meshes.
- A guided install script is now provided for Mac and Linux users.
v2.6.6¶
- Updates to feffio (credit: Alan Dozier)
- Added detailed installation instructions for various platforms.
- Support for charge and spin multiplicity in Molecule. Expanded methods available in Molecule.
- Added supercell matching capabilities to StructureMatcher.
- More robust creation of PhaseDiagrams to take into account potential qhull precision errors.
v2.6.5¶
- Added a command_line caller to do Bader charge analysis using Henkelmann et al.’s algorithm.
- Bug fix for POSCAR parsing when title line is an empty string.
- Added __rmul__ operator for Composition.
- Vastly expanded available aliases.
v2.6.4¶
- Bug fixes for selective dynamics in Poscar.
- Improved Procar parsing to support both simple and detailed PROCARs.
v2.6.3¶
- Added new MaterialsProject REST interfaces for submit/query/delete_snl (currently open in beta for collaborators only).
- Added support for new MaterialsProject REST method get_stability.
- Added aliases for PhaseDiagram, GrandPotentialPhaseDiagram, PDAnalyzer and PDPlotter in pymatgen.phasediagrams.
- Improvements to StructureMatcher: stol (site - tolerance) redefined as a fraction of the average length per atom. Structures matched in fractional space are now also matched in cartesian space and a rms displacement normalized by length per atom can be returned using the rms_dist method.
v2.6.2¶
- Site and PeriodicSite now uses a Composition mapping type to represent the species and occupancy, instead of a standard dict.
- Bug fix for reading and re-writing out of Potcars.
- VaspInputSet now supports MSONable framework.
- Strain cell option in StructureEditor.
- Miscellaneous bug fixes and speedups.
v2.6.1¶
- Use requests.Session in MPRester for connection pooling and code simplicity.
- Support for “with” context manager in MPRester.
- Updated periodic table data to correct errors in Ru, Tc and other elements.
- New methods in Lattice to obtain Wigner-Seitz cell and Brillouin Zone.
- Miscellaneous bug fixes and speedups.
v2.5.5¶
- Bug fix release for cifio for rhombohedral structures.
- Miscellaneous bug fixes and speedups.
v2.5.4¶
- Vastly improved Gaussian input file parsing that supports more varieties of input specifications.
- StructureNL now supports molecules as well as structures.
- Updated atomic and vdw radius for Elements.
- Miscellaneous bug fixes and speedups.
v2.5.3¶
- Bug fix for StructureNotationalLanguage.
- Support for LDA US potential. matgenie.py script option to generate POTCARs.
- Beta version of StructureNotationLanguage, a markup format for Structure data with metadata such as authors and references. (Anubhav Jain)
- Vasprun parsing now parses dielectric constant where available. (Geoffroy Hautier)
- New custom ipython shell script for pymatgen.
- Miscellaneous bug fixes and speedups.
v2.5.1¶
- Bug fixes for primitive cell finder.
- Remove deprecated use_external_qhull option in PhaseDiagram classes.
- Miscellaneous bug fixes and speedups.
v2.5.0¶
- Added optimization package with linear assignment class.
- Improved robustness of StructureMatcher using linear assignment.
- Improved primitive cell search (faster and more robust).
- Cleanup of deprecated methods, including pymatgen.alchemy.materials.TransformedMaterial.undo/redo_last_transformation, pymatgen.core.site.Site.distance_and_image_old, Poscar.struct, StructureFitter and tests.
- Miscellaneous bug fixes and speedups.
v2.4.3¶
- Bug fix for StructureMatcher.
- Miscellaneous speedups.
v2.4.0¶
- New StructureMatcher that effectively replaces StructureFitter. Orders of magnitude faster and more robust. StructureFitter is now deprecated.
- Vastly improved PrimitiveCellTransformation.
- A lot of core methods have been rewritten to take advantage of vectorization in numpy, resulting in orders of magnitude improvement in speed.
- Miscellaneous bug fixes and speedups.
v2.3.2¶
- More utilities for working with Periodic Boundary Conditions.
- Improved MPRester that supports more data and a new method of specifying the API key for heavy users via a MAPI_KEY environment variable. Please refer to the usage pages for more information.
- Vastly improved POTCAR setup script in scripts directly that is now installed as part of a default pymatgen installation.
- Miscellaneous bug fixes and speedups.
v2.3.1¶
- Significant improvements to the high-level interface to the Materials API. New interface provides more options to make it easier to get structures and entries, better warnings and error handling. It uses the requests library for a cleaner API.
- Bug fix for VolumetricData parsing and methods such as CHGCAR and LOCPOT. Previously, the parsing was done incorrectly because VASP actually provides data by running through the x-axis first, followed by y, then z.
- Bug fix for reverse_readline so that it works for gzipped and bzipped strucutures (courtesy of Anubhav Jain).
- Fix “lossy” composition to_dict method. Now composition.to_dict properly returns a correct species string as a key for compositions using species, instead of just the element symbols.
- Miscellaneous bug fixes.
v2.3.0¶
- Remove usage of scipy and external qhull callers. Now uses pyhull package. Please note that this change implies that the pyhull package is now a required dependency. If you install pymatgen through the usual easy_install or pip install methods, this should be taken care of automatically for you. Otherwise, please look for the pyhull package on PyPI to download and install it.
- Miscellaneous bug fixes.
v2.2.6¶
- Brand new beta bond valence analyzer based on a Maximum A Posteriori algo using data-mined ICSD data.
- Speed up and improvements to core classes.
- Improved structure fitter (credits to Geoffroy Hautier).
- Brand new entry_tools module (pymatgen.entries.entry_tools).
- Vastly improved Outcar parser based on reverse parsing that speeds up reading of OUTCAR files by orders of magnitude.
- Miscellaneous bug fixes.
v2.2.4¶
- Fixed bug in hexagonal cell KPOINTS file generation.
- New RelaxationAnalyzer to compare structures.
- New beta bond valence analyzer.
- Miscellaneous bug fixes.
v2.2.3¶
- New filter framework for filtering structures in pymatgen.alchemy.
- Updated feff io classes to support FEFF 9.6 and other code improvements.
- Miscellaneous bug fixes.
v2.2.2¶
- Bug fix release for REST interface.
- Improvements to unittests.
v2.2.1¶
- Improvements to feffio.
- Master matgenie.py script which replaces many analysis scripts.
- More memory efficient parsing of VolumetricData.
- Beta version of structure prediction classes.
- Changes to MPRester to work with v1 release of the Materials API.
- Miscellaneous bug fixes and speed improvements.
v2.2.0¶
- Beta modules (pymatgen.io.feffio) for io for FEFF, courtesy of Alan Dozier.
- New smartio module that intelligently reads structure input files based on file extension.
- Spglib_adaptor module has been renamed to finder for brevity.
- Upgraded spglib to version 1.2.2. Improved handling of spglib install on Mac OS X and Solaris.
- Major cleanup of code for PEP8 compliance.
- Cssr module now supports reading of input files.
- Miscellaneous bug fixes and speed improvements.
v2.1.2¶
- Brand new CompoundPD class that allows the plotting of phase diagrams that do not have elements as their terminal points.
- Spglib is now completely integrated as part of the setup.py installation.
- Major (but completely backwards compatible) refactoring of sites and vaspio.
- Added a EnumerateStructureTransformation with optional dependency on the enum library by Gus Hart. This provides a robust way to enumerate derivative structures,
- Implemented LLL lattice reduction algorithm. Also added option to sanitize a Structure on copy.
- Bug fix for missing Compatibility file in release distribution.
- Vastly improved StructureFitter which performs cell reduction where necessary to speed up fitting.
- Miscellaneous bug fixes and speed improvements.
v2.0.0¶
Brand new module (pymatgen.matproj.rest) for interfacing with the MaterialsProject REST interface.
Useful aliases for commonly used Objects, similar in style to numpy. Supported objects include Element, Composition, Structure, Molecule, Spin and Orbital. For example, the following will now work:
import pymatgen as mg # Elemental Si fe = mg.Element("Si") # Composition of Fe2O3 comp = mg.Composition("Fe2O3") # CsCl structure structure = mg.Structure(mg.Lattice.cubic(4.2), ["Cs", "Cl"], [[0, 0, 0], [0.5, 0.5, 0.5]])
New PDAnalyzer method to generate chemical potential maps.
Enhanced POSCAR class to support parsing of velocities and more formatting options.
Reorganization of Bandstructure module. Beta support for projected bandstructure and eigenvalues in vaspio and electronic_structure.
Miscellaneous bug fixes and speed improvements.
v1.9.0¶
- Completely new json encoder and decoder that support serialization of almost all pymatgen objects.
- Simplification to Borg API utilizing the new json API.
- Bandstructure classes now support spin-polarized runs.
- Beta classes for battery (insertion and conversion) analysis.
v1.8.3¶
- spglib_adaptor now supports disordered structures.
- Update to support new spglib with angle_tolerance.
- Changes to Borg API to support both file and directory style paths.
- Speed up for COMPLETE_ORDERING algo for PartialRemoveSpecieTransformation.
v1.8.1¶
- Revamped transmuter classes for better readability and long term support.
- Much improved speed for PartialRemoveSpecieTransformations.
- Misc bug fixes.
v1.8.0¶
- Support for additional properties on Specie (Spin) and Site (magmom, charge).
- Molecule class to support molecules without periodicity.
- Beta io class for XYZ and GaussianInput.
v1.7.2¶
- Bug fixes for vaspio_set and compatibility classes.
v1.7.0¶
- Complete reorganization of modules for electronic structure.
- Beta of band structure classes.
- Misc improvements to vaspio classes.
- Bug fixes.
v1.6.0¶
- Beta of pymatgen.borg package implemented for high-throughput data assimilation.
- Added ComputedEntry classes for handling calculated data.
- New method of specifying VASP pseudopotential location using a VASP_PSP_DIR environment variable.
- Bug fix for pymatgen.symmetry
- Ewald sum speed up by factor of 2 or more.


DNA genes cell Arabidopsis methylation Figure promoter suspensions [], cells callus hypermethylation expression CpG []. using gene undifferentiated {border-style MET methylated unmethylated TTG px;} #ffffff;} genomic epigenetic hypermethylated plants Table data demethylating histone mutant sequencing additional described methyltransferase plant results specific used Biol Click LINK PDF) associated file. important status treatment GSTF, TTG, analyzed levels mutants regulation PCR Promoter RNA S). identified relative respectively. sequences Bisulfite MAPK RT-PCR differentiated differentiation drm methylation-dependent promoters selected transposable Black CCD CpGs, DRM Nat changes clones control dots growth indicate induction previously px; quantitative single-copy state white {font-family ADC BXL Cell GSTU Spain analysis cells. conditions drug elements font-size identification involved maintenance mechanisms met mutants. region repression (C) A). Cancer Chromatin Fraga Genet Plant SUVH SUVH, []– candidate containing culture different double; expressed family genes. leaves medium number obtained percentage presence role specifically suggest tissues total (Atg), Affymetrix Avivi C). Curr Dev Esteller However, Jacobsen Molecular Primer activation and/or bisulfite border-color border-width calluses chromatin completely content criteria depends establishment fimbrin genes, genetic higher human individual lower measured performed present putative representative repressed samples silencing solid; start stem thaliana transcription transcriptional {font-style {font-weight (A) (Atg) (B) ADC. CpNpG England GSTF GSTU, Gene Genetics Genome Intriguingly, Lloyd Lower Methylation University Zhang Zhao bold cDNA candidates capillary cmt compared control. courier; decrease dedifferentiation development electrophoresis em; global heterochromatin hypermethylation. immunoprecipitation island loss maintained microarray panels, phytohormones plants, presented primarily primer pt;} reactivated sites state. study suggests suspensions, suspensions. transposons type upregulated vitro


If you are using a namespaced distribution of lucca-ui, you have to use the appendTo
option in the open function to append the modal inside your namespaced, or else it will append to body
and lucca-ui's styles wont apply
If you are using a prefixed distribution of lucca-ui, you have to use the windowClass
and backdropClass
option in the open function to add the prefix to the backdrop and modal window
You can use the lucca-ui adjectives for sizing (see the grid): providing no size will make the modal take 90% of the width
Or you can use the sizes supported by angular-ui-bootstrap:
The styles of lucca-ui will be applied to the modal window, inside the modal window and to the background
Because the prefix is missing for the
modal-window
or the modal-backdrop
, their styles aren't applied. But because the content of the modal is in the namespace, other lucca-ui elements (callout, label) still work
The modal is appended out off the namespace, as a result none of lucca-ui's styles are applied to the modal, its backdrop or its content
// global distribution var modalInstance = $uibModal.open({ templateUrl: 'myModalContent.html', controller: 'ModalInstanceCtrl', size: 'desktop', }); // namespaced distribution var modalInstance = $uibModal.open({ templateUrl: 'myModalContent.html', controller: 'ModalInstanceCtrl', appendTo: angular.element(document.getElementById("myNamespace")), size: 'desktop', }); // prefixed distribution var modalInstance = $uibModal.open({ backdropClass: 'myPrefix', windowClass: 'myPrefix', templateUrl: 'myModalContent.html', controller: 'ModalInstanceCtrl', size: 'desktop', });


About Me
An inexperienced full stack web developer living Los Angeles
My completed Assignments for the full stack Web design Boot Camp can all be found on my Portfolio Page
Please try to connect to me through my LinkedIn profile!
An inexperienced full stack web developer living Los Angeles
My completed Assignments for the full stack Web design Boot Camp can all be found on my Portfolio Page
Please try to connect to me through my LinkedIn profile!


This declaration corresponds to the flushleft environment. This declaration can be used inside an environment such as quote or in a parbox.
Unlike the flushleft environment, the \raggedright command does not start a new paragraph; it simply changes how LaTeX formats paragraph units. To affect a paragraph unit's format, the scope of the declaration must contain the blank line or \end command (of an environment like quote) that ends the paragraph unit.
See also Environments,
Center,
Flushleft
See also \raggeleft
Back to the Table of Contents


| Survey.ID |
NA |
| Survey.Date |
06/05/2019 |
| Site.Name |
Quilcene #1 |
| Surveyor.Name |
Caleb GM, Paul Shannon |
| Geo.Location |
47.86667,-122.84097 |
| Elevation |
500 |
| Area |
3200 sq ft |
| Shape |
trapezoid |
| Slope |
-5 |
| Aspect |
380 W |
| Fern.Count..Healthy. |
38 |
| Fern.Count..No.new.growth. |
2 |
| Fern.Count..Dead. |
68 |
| estimated.pre.die.off.sword.fern.dominance |
40 |
| Leaf.Litter.Depth |
NA |
| Canopy.Cover |
33 |
| Trees...DBH. |
NA |
| Trees..Distribution. |
uniform |
| Trees..Species. |
ALRU 10, PSME 5 |
| Shrubs..Species. |
trailing blackabery, salmon berry |
| Notes |
2nd growth forest, several semi-connected sites |


./external/basejump_stl/bsg_mem/bsg_mem_1r1w_sync_synth.v Cov: 100%
1: // MBT 7/7/2016
2: //
3: // 1 read-port, 1 write-port ram
4: //
5: // reads are synchronous
6: //
7: // although we could merge this with normal bsg_mem_1r1w
8: // and select with a parameter, we do not do this because
9: // it's typically a very big change to the instantiating code
10: // to move to/from sync/async, and we want to reflect this.
11: //
12: // NOTE: Users of BaseJump STL should not instantiate this module directly
13: // they should use bsg_mem_1r1w_sync.
14:
15: module bsg_mem_1r1w_sync_synth #(parameter width_p=-1
16: , parameter els_p=-1
17: , parameter read_write_same_addr_p=0
18: , parameter addr_width_lp=`BSG_SAFE_CLOG2(els_p)
19: , parameter harden_p=0
20: )
21: (input clk_i
22: , input reset_i
23:
24: , input w_v_i
25: , input [addr_width_lp-1:0] w_addr_i
26: , input [width_p-1:0] w_data_i
27:
28: // currently unused
29: , input r_v_i
30: , input [addr_width_lp-1:0] r_addr_i
31:
32: , output logic [width_p-1:0] r_data_o
33: );
34:
35: logic [width_p-1:0] mem [els_p-1:0];
36:
37: wire unused = reset_i;
38:
39: // this treats the ram as an array of registers for which the
40: // read addr is latched on the clock, the write
41: // is done on the clock edge, and actually multiplexing
42: // of the registers for reading is done after the clock edge.
43:
44: // logically, this means that reads happen in time after
45: // the writes, and "simultaneous" reads and writes to the
46: // register file are allowed -- IF read_write_same_addr is set.
47:
48: // note that this behavior is generally incompatible with
49: // hardened 1r1w rams, so it's better not to take advantage
50: // of it if not necessary
51:
52: // we explicitly 'X out the read address if valid is not set
53: // to avoid accidental use of data when the valid signal was not
54: // asserted. without this, the output of the register file would
55: // "auto-update" based on new writes to the ram, a spooky behavior
56: // that would never correspond to that of a hardened ram.
57:
58: logic [addr_width_lp-1:0] r_addr_r;
59:
60: always_ff @(posedge clk_i)
61: if (r_v_i)
62: r_addr_r <= r_addr_i;
63: else
64: r_addr_r <= 'X;
65:
66: assign r_data_o = mem[r_addr_r];
67:
68: always_ff @(posedge clk_i)
69: if (w_v_i)
70: mem[w_addr_i] <= w_data_i;
71:
72: endmodule
73:


I am a highly talented, experienced, professional and cooperative software engineer, I am working in programming and web world for more than 4 years .I assure you a wide range of quality IT services. Web development, mobile app development and UI design the major filed i am expert in. Moreover i have teaching passion. I makes video tutorial to share my knowledge. My over all skill makes me a complete software developer, so you can hire me for your projects
I build native and cross platfrom mobile app for your business and instiution as per as your requirements.
I design and develop static and dynamic web sites as per your requirements as we believe, “web is world’s next home”.
I desing modern user interface and other graphical components for your business and instiution
Some quick example text to build on the card title and make up the bulk of the card's content.
Go somewhereSome quick example text to build on the card title and make up the bulk of the card's content.
Go somewhereSome quick example text to build on the card title and make up the bulk of the card's content.
Go somewhere


Simple Darwin Core
|
Audience: This document is targeted toward those who want to share biodiversity information using the simplest methods and structure - the Simple Darwin Core. It explains the uses and limitations of this structure and how to expand upon it.
There is a difference between having data in a field and requiring that field to have a value from among a legal set of values. The Darwin Core is simple in that it has minimal restrictions on the contents of fields. The term descriptions give recommendations about the use of controlled vocabularies wherever appropriate. Data contributors are encouraged to follow these recommendations as well as possible. You might argue that having no restrictions will promote "dirty" data (data of low quality or dubious value). Consider the simple axiom "It's not what you have, but what you do with it that matters." If data restrictions were in place at the fundamental level, then a record having any non-compliant data in any of its fields could not be shared via the standard. Not only would there be a dearth of shared data in that case (or an unused standard), but also there would be no way to use the standard to build shared data cleaning tools to actually improve the situation, nor to use data services to look up alternative representations (language translations, for example) to serve a broader audience. The rest is up to how the records will be used - in other words, it is up to applications to enforce further restrictions if appropriate, and it is up to the stakeholders of those applications to decide what the restrictions will be for the purpose the application is trying to serve.
What you need to do as a contributor of data via the Simple Darwin Core depends on the requirements of the ones who are going to consume those data. For example, if you have a collaborator who wants to share data via the Simple Darwin Core, then it may be sufficient to create a spreadsheet that contains column headers matching as many of the Darwin Core term names as you are both interested in sharing - just to be sure you both understand the meaning of the fields you share, and therefore hopefully something about their content. You might create a table in a database using the Simple Darwin Core as a model (if it met all of your needs), and then connect that database with services for sharing via the web. You might use that same database (or spreadsheet) to export a comma-separated value (CSV) file for upload into a hosted service that could serve the data on your behalf. Or you might use that same file to upload into a service that would allow you to add value (such as a georeference) or quality (with a data cleaning tool), or to see your data in the context of other shared data.
<?xml version="1.0" encoding="UTF-8"?> <SimpleDarwinRecordSet xmlns="http://rs.tdwg.org/dwc/xsd/simpledarwincore/" xmlns:dc="http://purl.org/dc/terms/" xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd"> <SimpleDarwinRecord> <dc:modified>2006-05-04T18:13:51.0Z</dc:modified> <dc:language>en</dc:language> <dwc:basisOfRecord>Taxon</dwc:basisOfRecord> <dwc:scientificNameID>http://research.calacademy.org/research/ichthyology/catalog/fishcatget.asp?spid=53548</dwc:scientificNameID> <dwc:acceptedNameUsageID>http://research.calacademy.org/research/ichthyology/catalog/fishcatget.asp?spid=22010</dwc:acceptedNameUsageID> <dwc:originalNameUsageID>http://research.calacademy.org/research/ichthyology/catalog/fishcatget.asp?spid=53548</dwc:originalNameUsageID> <dwc:nameAccordingToID>http://research.calacademy.org/research/ichthyology/catalog/getref.asp?id=22764</dwc:nameAccordingToID> <dwc:namePublishedInID>http://research.calacademy.org/research/ichthyology/catalog/getref.asp?id=671</dwc:namePublishedInID> <dwc:scientificName>Centropyge flavicauda Fraser-Brunner 1933</dwc:scientificName> <dwc:acceptedNameUsage>Centropyge fisheri (Snyder 1904)</dwc:acceptedNameUsage> <dwc:parentNameUsage>Centropyge Kaup, 1860</dwc:parentNameUsage> <dwc:originalNameUsage>Centropyge flavicauda Fraser-Brunner 1933</dwc:originalNameUsage> <dwc:nameAccordingTo>Allen, G.R. 1980. Butterfly and angelfishes of the world. Volume II. Mergus Publishers. Pp. 149-352.</dwc:nameAccordingTo> <dwc:namePublishedIn>Fraser-Brunner, A. 1933. A revision of the chaetodont fishes of the subfamily Pomacanthinae. Proceedings of the General Meetings for Scientific Business of the Zoological Society of London 1933 (pt 3, no.30): 543-599, Pl. 1.</dwc:namePublishedIn> <dwc:higherClassification>Animalia;Chordata;Vertebrata;Osteichthyes;Actinopterygii;Neopterygii;Teleostei;Acanthopterygii;Perciformes; Percoidei;Pomacanthidae;Centropyge</dwc:higherClassification> <dwc:kingdom>Animalia</dwc:kingdom> <dwc:phylum>Chordata</dwc:phylum> <dwc:class>Osteichthyes</dwc:class> <dwc:order>Perciformes</dwc:order> <dwc:family>Pomacanthidae</dwc:family> <dwc:genus>Centropyge</dwc:genus> <dwc:specificEpithet>flavicauda</dwc:specificEpithet> <dwc:scientificNameAuthorship>Fraser-Brunner 1933</dwc:scientificNameAuthorship> <dwc:taxonRank>species</dwc:taxonRank> <dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode> <dwc:taxonomicStatus>accepted</dwc:taxonomicStatus> </SimpleDarwinRecord> </SimpleDarwinRecordSet>
The SimpleDarwinRecord acts as a Class in implementation, because all of the terms belong to it. The Simple Darwin Core schema has just one other level of structure, the SimpleDarwinRecordSet, which is a grouping of one or more SimpleDarwinRecords. The SimpleDarwinRecordSet acts as a Class to define a data set during implementation.
One way would be to try to "overload" existing terms by using them to hold information other than what was intended based on the definition of the terms. Please don't do this. If an existing term has close to the same meaning as one you want to use, but just doesn't quite fit because of the way the definition is worded, it would be better to request an amendment to the term definition so that it will be clear for your community how to use it. You can request such a change by submitting an issue in the Darwin Core Project [DWC-PROJECT].
Another way to get more out of the Darwin Core without adding a term is to "payload" the dynamicProperties term as shown in the example below, to contain a list of key-value pairs. The keys in this case would act as new unofficial terms. This is perfectly legal, since it doesn't compromise the meaning of the term. Some of the weaknesses of payloading are that it is prone to errors, inconsistencies, and lack of stable or well-defined semantics. Still, this might be a reasonable way to at least allow you to share all of your data, even if there might be problems with people using it reliably.
<?xml version="1.0" encoding="UTF-8"?> <SimpleDarwinRecordSet xmlns="http://rs.tdwg.org/dwc/xsd/simpledarwincore/" xmlns:dc="http://purl.org/dc/terms/" xmlns:dwc="http://rs.tdwg.org/dwc/terms/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://rs.tdwg.org/dwc/xsd/simpledarwincore/ http://rs.tdwg.org/dwc/xsd/tdwg_dwc_simple.xsd"> <SimpleDarwinRecord> <dc:modified>2009-02-12T12:43:31</dc:modified> <dc:language>en</dc:language> <dwc:basisOfRecord>Taxon</dwc:basisOfRecord> <dwc:scientificName>Ctenomys sociabilis</dwc:scientificName> <dwc:acceptedNameUsage>Ctenomys sociabilis Pearson and Christie, 1985</dwc:acceptedNameUsage> <dwc:parentNameUsage>Ctenomys Blainville, 1826</dwc:parentNameUsage> <dwc:higherClassification>Animalia; Chordata; Vertebrata; Mammalia; Theria; Eutheria; Rodentia; Hystricognatha; Hystricognathi; Ctenomyidae; Ctenomyini; Ctenomys</dwc:higherClassification> <dwc:kingdom>Animalia</dwc:kingdom> <dwc:phylum>Chordata</dwc:phylum> <dwc:class>Mammalia</dwc:class> <dwc:order>Rodentia</dwc:order> <dwc:family>Ctenomyidae</dwc:family> <dwc:genus>Ctenomys</dwc:genus> <dwc:specificEpithet>sociabilis</dwc:specificEpithet> <dwc:taxonRank>species</dwc:taxonRank> <dwc:scientificNameAuthorship>Pearson and Christie, 1985</dwc:scientificNameAuthorship> <dwc:nomenclaturalCode>ICZN</dwc:nomenclaturalCode> <dwc:namePublishedIn>Pearson O. P., and M. I. Christie. 1985. Historia Natural, 5(37):388</dwc:namePublishedIn> <dwc:taxonomicStatus>valid</dwc:taxonomicStatus> <dwc:dynamicProperties>iucnStatus=vulnerable; distribution=Neuquen, Argentina</dwc:dynamicProperties> </SimpleDarwinRecord> </SimpleDarwinRecordSet>
If you were using just CSV text files to exchange information, then you might be tempted to just add the new fields to the files. This approach suffers most of the same problems as payloading - no one aside from those with whom you communicated would know what those new fields were or how to use them. Sharing in this way via XML would be an even bigger problem, because the Simple Darwin Core XML Schema [SIMPLEXMLSCHEMA] defines the terms that it supports and the new fields would not correspond with any terms understood by the schema. In other words, the XML with your fields in it would not be a valid Simple Darwin Core XML document.
So, if you really need to extend the capabilities of the Darwin Core, the best first step is to follow the standards process to add the terms you need. The mechanisms for pursuing this are explained in the Darwin Core Namespace Policy [NAMESPACEPOLICY]. The process will help to assure that the new terms are well conceived, that they don't conflict with existing terms, and that they are properly defined in the broader context of biological diversity information.
Copyright 2009-2013 - Biodiversity Information Standards - TDWG - Contact Us
Except where otherwise noted, content on this site is licensed under a Creative Commons Attribution 3.0 United States License.


Guidance
Guide for local authorities completing returns for the 2015 special educational needs survey, commonly known as SEN2.
PDF , 356KB , 31 pages
This guide contains information to help local authorities submit their SEN2 2015 survey returns. It includes:
Published: 29 April 2014
Updated: 23 January 2015


@()
A goal-oriented and organized professional with an appetite for technology. Hard working and focused, I enjoy working with mobile applications, wearable technologies, web services, and microservices.


Subject: Maintenance mode activated for {{siteName}} --- {{{header}}}
Hi {{user.name}}
Maintenance mode has now been activated for site {{siteName}}.
Kind regards
The {{settings.brandName}} team


- Get postfwd or postfwd2
You may skip this step, if your operating system distribution contains a version of postfwd, but it is recommended to use a recent version from postfwd.org. It is also recommended to use recent versions of the perl modules Net::DNS and Net::Server (see required perl modules for more information).
- Create your own postfwd ruleset
postfwd is not a dedicated antispam tool (although it may be used as such). Instead of that it is basically a restriction language for postfix which allows to place complex policy expressions into a simple ruleset. For reasonable operation you have to create your own ruleset, like:
# reject @domain.local if request comes from outside <IP_ADDRESS>/8 network
id=RULE-01 ; sender_domain=domain.local ; client_address=!!(<IP_ADDRESS>/8) ; action=REJECT not allowed
# reject if sender equals recipient
id=RULE-02 ; sender==$$recipient ; action=REJECT not allowed
# check some rbls and reject, if listed on >= 2 of them
id=RULE-03 ; rbl=zen.spamhaus.org,bl.spamcop.net,ix.dnsbl.manitu.net ; rblcount>=2 ; action=REJECT not allowed
Now save these rules to a file (e.g. /etc/postfwd.cf). Please note that these are just very basic examples. Please read the documentation for more information on postfwd's capabilities. To check your ruleset you should use the "-C" command line option. This displays postfwd's view of your ruleset, like:
# postfwd -f /etc/postfwd.cf -C
Rule 0: id->"RULE-01"; action->"REJECT not allowed"; sender_domain->"=;domain.local"; client_address->"=;!!(<IP_ADDRESS>/8)"
Rule 1: id->"RULE-02"; action->"REJECT not allowed"; sender->"==;$$recipient"
Rule 2: id->"RULE-03"; action->"REJECT not allowed"; rblcount->"2"; rbl->"=;zen.spamhaus.org, =;bl.spamcop.net, =;ix.dnsbl.manitu.net"
If you just want to see that anything works a single rule like "id=DEFAULT; action=dunno" is fine, too.
- Optional: Create a dedicated user/group for postfwd
By default postfwd will try to use user 'nobody' and group 'nobody'. So it should be safe to skip this step in most environments. If you run a system that is exposed to dangerous networks and feel paranoid you may want to create a dedicated user and group for the postfwd process. On unix systems enter:
# groupadd postfwd
# useradd -g postfwd -d /var/empty -s /bin/false -c "postfwd daemon user" postfwd
# passwd -l postfwd
- Launch postfwd
Start postfwd with your ruleset. Leave out the --user and --group options, if you have skipped step 3 and want to run postfwd as nobody/nobody.
# postfwd --daemon -f /etc/postfwd.cf -u postfwd -g postfwd
Now watch your logs (default facility: mail) for lines like:
Jun 8 12:14:33 jupiter postfwd[20270]: postfwd 1.11 starting
Jun 8 12:14:33 jupiter postfwd[20271]: Process Backgrounded
Jun 8 12:14:33 jupiter postfwd[20271]: 2009/06/08-12:14:33 postfwd (type Net::Server::Multiplex) starting! pid(20271)
Jun 8 12:14:33 jupiter postfwd[20271]: Binding to TCP port 10040 on host <IP_ADDRESS>
Jun 8 12:14:33 jupiter postfwd[20271]: Setting gid to "1003 1003"
Jun 8 12:14:33 jupiter postfwd[20271]: Setting uid to "1010"
Jun 8 12:14:33 jupiter postfwd[20271]: postfwd 1.11 ready for input
To control further daemon operations the commands `postfwd --kill` and `postfwd --reload` may be used. Please see `postfwd -h` and the documentation for more information.
- Tell postfix to use postfwd
Open your main.cf (usually located at /etc/postfix) and find or add a line starting with:
smtpd_recipient_restrictions = ...
To place the postfwd check here, modify this as follows:
# note the leading whitespaces from the 2nd line!
smtpd_recipient_restrictions = permit_mynetworks, # recommended
..., # optional
reject_unauth_destination, # recommended
check_policy_service inet:<IP_ADDRESS>:10040, # **postfwd integration**
... # optional
Please note that for some checks (like the 'size' attribute) postfwd has to be integrated at another level of the smtp transaction (smtpd_end_of_data_restrictions). More information on that can be found in the postfix documentation.
- Finished! How to go on?
A good point to start is postfwd's manual. You should be able to view it using the `postfwd -m` command or visit the documentation page. There are also some configuration examples on the webpage. Another very useful source of information is the Postfix SMTP Access Policy Delegation documentation.


MICROSCALE-EMBEDDED LIMITED, Suit C5, SHM Complex Mabushi,Abuja-
Intern
MAY 2018 - DECEMBER 2018
MICROSCALE-EMBEDDED LIMITED, Suit C5, SHM Complex Mabushi,Abuja-
Intern
MAY 2018 - DECEMBER 2018
CS&Z INDUSTRIES LIMITED, Phase II Jikwoyi, Abuja-
Sales and Marketing intern
AUGUST 2017 - MAY 2018
JUMIA NIGERIA (JForce), Abuja-
Sales Consultant Intern
SEPTEMBER 2014 - MARCH 2015


Priest Adonius:
Oh Divine One, please give this fine warrior the strength and courage to conquer the evil ones...


That’s how often people around the world touch something made better by Qualcomm. It could be the smartphone in your pocket, the tablet on your coffee table, that wireless modem in your briefcase… it could even be that navigation system in your car or that action camera strapped to your chest.
Who is Qualcomm, and what do we do? We are engineers, scientists and business strategists. We are from many different countries and speak many different languages. We come from diverse cultures and have unique perspectives. Together, we focus on a single goal—invent mobile technology breakthroughs.
While many of our inventions and breakthroughs reside “under the hood” of consumer electronics, they have transformed the world in a big way. They have helped propel mobile to the forefront of the technology world and to the top of consumers’ wish lists. They have created new opportunities for mobile ecosystem players—the wireless device makers, the operators, the developers and the content creators of the world. And more recently, our inventions and breakthroughs have inspired fresh, new ideas from those companies—large and small—new to the wireless space.
We’ve been called dreamers, inventors, rebels, risk takers, pioneers and geeks. We embrace those labels because in many ways, they’re true. We dream big. We invent bigger. And most importantly, we often do what many thought was impossible.


Class WebcamController
Get images from multiple webcams. Based on: http://answers.unity3d.com/answers/1155328/view.html
Inheritance
System.Object
UnityEngine.Object
UnityEngine.Component
UnityEngine.Behaviour
UnityEngine.MonoBehaviour
WebcamController
Namespace: ArucoUnity.Cameras
Assembly: Assembly-CSharp.dll
Syntax
public class WebcamController : MonoBehaviour
Fields
| Improve this Doc View SourceStarted
Called when the webcams started.
Declaration
public Action<WebcamController> Started
Field Value
| Type | Description |
|---|---|
| System.Action<WebcamController> |
starting
Declaration
protected bool starting
Field Value
| Type | Description |
|---|---|
| System.Boolean |
Properties
| Improve this Doc View SourceDevices
Gets the used webcams.
Declaration
public List<WebCamDevice> Devices { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<UnityEngine.WebCamDevice> |
Ids
Gets or sets the ids of the webcams to use.
Declaration
public List<int> Ids { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<System.Int32> |
IsConfigured
Gets if the controller is configured.
Declaration
public bool IsConfigured { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
IsStarted
Gets if the webcams started.
Declaration
public bool IsStarted { get; }
Property Value
| Type | Description |
|---|---|
| System.Boolean |
Textures
Gets the textures of the used webcams.
Declaration
public List<WebCamTexture> Textures { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<UnityEngine.WebCamTexture> |
Textures2D
Gets Textures converted in Texture2D.
Declaration
public List<Texture2D> Textures2D { get; }
Property Value
| Type | Description |
|---|---|
| System.Collections.Generic.List<UnityEngine.Texture2D> |
Textures2DFormat
Gets or sets the format of Textures2D, by default UnityEngine.TextureFormat.RGB24.
Declaration
public TextureFormat Textures2DFormat { get; set; }
Property Value
| Type | Description |
|---|---|
| UnityEngine.TextureFormat |
Methods
| Improve this Doc View SourceAwake()
Initializes the properties.
Declaration
protected void Awake()
Configure()
Declaration
public void Configure()
StartingAsync()
Waits for Unity to start the webcams to set Textures2D, Textures and call
Declaration
protected IEnumerator StartingAsync()
Returns
| Type | Description |
|---|---|
| System.Collections.IEnumerator |
StartWebcams()
Starts the webcams.
Declaration
public void StartWebcams()
StopWebcams()
Stops the webcams.
Declaration
public void StopWebcams()


Weird glitch caused Valentine’s Day text messages to be sent 9 months later
Source: Android Central
What you need to know
- Several users in the U.S. received old text messages on their phones overnight due to a buggy "maintenance update."
- Majority of the messages were originally sent on or around Valentine's Day.
- The delayed text messages were sent from and received by users across all the four major U.S. carriers.
Thousands of people across the U.S. were left confused late Wednesday night and early Thursday morning after they received text messages that were sent to them months back.
As reported by The Verge, the delayed text messages were originally sent on or around Valentine's Day this year. They were sent from and received by Android as well as iPhone users across all the major carriers in the United States. However, some users have also mentioned a few regional U.S. carriers as well as Google Voice.
A large number of users reported about receiving delayed messages on social media platforms such as Reddit and Twitter. While some said that they received messages from their ex-boyfriends or ex-girlfriends, others said they had received messages from friends or relatives who are now dead.
According to a Sprint spokesperson, the issue was caused due to a "maintenance update" and was resolved soon after it occurred. T-Mobile, however, blamed it on a "third party vendor." Verizon and AT&T haven't issued any statement so far. Since none of the carriers have shared any details, it isn't clear exactly why the text messages were delayed for so long.
Syniverse, which provides technology and business services to several U.S. telecommunications firms, says a total of 168,149 messages were sent due to the "internal maintenance cycle." Since the glitch has been fixed by the carriers, it is now unlikely that you will receive any similar zombie text anytime soon.


title = "Ongoing Researches" url = "/researches/ongoing" layout = "default" description = "This page contains posts under ongoing category" is_hidden = 0 [blogPosts] pageNumber = "{{ :page }}" categoryFilter = "ongoing-researches" postsPerPage = 10 noPostsMessage = "No posts found" sortOrder = "published_at desc" categoryPage = "research/ongoing" postPage = "research/post" ==


"South Park: Bigger, Longer & Uncut" (1999)
Directed by Trey Parker. Written by Parker, Stone and Pam Brady. With Voices supplied by Parker, Stone and Isaac Davis. Running Time: 80 minutes. Rated "R".
Reviewed by Samuel Pederson
Having not actually ever seen a complete episode of Comedy Central's, "South Park" I walked into the theatre not knowing what to expect. I had only seen a few minutes of the animated show on television once and although I found it funny it did not prepare me for anything in the film version.
The film begins when the South Park kids (Cartman, Stan, Kyle and Kenny) make their way the local theatre to see the new Canadian film, "Asses of Fire" starring Terrance and Phillip. After being informed by the ticket seller that the film is "R" rated and that they need an adult guardian the kids bribe a homeless man to by them the tickets. The film, as the title promises, includes a lot of vulgarity. After experiencing three hours of non-stop cursing in the film, the kids' mouths become filthy too. Eventually, the rest of the kids in town see the film and they too become "corrupted" by the Canadian duo. Soon the mothers of these kids form an organization called, "Mothers Against Canada" convinced that Terrance and Phillip's home turf is responsible for the corruption of their children and that the only way to stop any further damage is to execute them.  Now, the fate of the world rests in the hands of the South Park gang.
"South Park: Bigger, Longer & Uncut" is perhaps the most unexpected biting social commentary you'll see in a film this year. No target is too low for it's creator's Trey Parker and Matt Stone and I'm a little surprised the film didn't receive a NC-17 rating. Their many targets include: The MPAA, the military, Brooke Shields, The Baldwins and Bill Gates. To top it off the movie is a musical. However, the movie isn't flawless. Some of the jokes fall flat, especially the Saddam Hussein-Satan subplot, and it goes on too long and although it's not boring the last 20 minutes don't match up with the first 60. But, "South Park: Bigger, Longer & Uncut" is still a worthy film. I just hope that kids not allowed in because of the "R" rating don't bribe homeless people to buy them tickets.
Rating: B
Copyright 1999 Samuel Pederson
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


Motivated social perception
People are motivated to seek out socially valued individuals (i.e. people who are trustworthy, supportive and well-connected), but it is unclear how efficiently and accurately they do so in real-world settings. I used a combination of social network analysis and neuroimaging to test the possibility that – even absent explicit instructions – people accurately track the social value of others in their community [1]. Socially valued individuals in two dormitories were identified from the nominations of dorm residents. I then scanned the students as they passively viewed photos of their dorm-mates. I found that brain activity in regions associated with mentalizing and value computation differentiated between viewing high valued, versus less valued peers, suggesting that people spontaneously and accurately monitor peers’ social value, potentially to guide subsequent social interactions.
What happens when expectations of social value are misinformed, for example, when someone is less trustworthy than his or her reputation suggests? Will people quickly adjust their impressions, or will they perseverate on their initial expectations? In a series of behavioral studies, I show that having overly optimistic expectations about an interaction partner blinds participants to the failures of said partner in an advice-taking task, resulting in participants continuing to trust the partner’s advice despite repeated feedback that the advice is inaccurate [2]. Together, this line of work parallels my other work on visual perception and demonstrates how social value biases representations of the social world.
References:
-
Morelli, S. A.
*
, Leong, Y. C.*
, Carlson, R. W., Kullar, M., & Zaki, J. Neural detection of socially valued community members. Proceedings of the National Academy of Sciences, 115(32): 8149-8154 (2018) -
Leong, Y. C. & Zaki, J. Unrealistic optimism in advice taking: A computational account. Journal of Experimental Psychology: General, 147(2): 170 (2018)


mrecvl - receives a message
#include <libdill.h>
ssize_t mrecvl(
int s,
struct iolist* first,
struct iolist* last,
int64_t deadline);
This function receives message from a socket. It is a blocking operation that unblocks only after entire message is received. There is no such thing as partial receive. Either entire message is received or no message at all.
This function accepts a linked list of I/O buffers instead of a single buffer. Argument first points to the first item in the list, last points to the last buffer in the list. The list represents a single, fragmented message, not a list of multiple messages. Structure iolist has the following members:
void *iol_base; /* Pointer to the buffer. */
size_t iol_len; /* Size of the buffer. */
struct iolist *iol_next; /* Next buffer in the list. */
int iol_rsvd; /* Reserved. Must be set to zero. */
When receiving, iol_base equal to NULL means that iol_len bytes should be skipped.
The function returns EINVAL error in the case the list is malformed:
The list (but not the buffers themselves) can be temporarily modified while the function is in progress. However, once the function returns the list is guaranteed to be the same as before the call.
s: The socket.
first: Pointer to the first item of a linked list of I/O buffers.
last: Pointer to the last item of a linked list of I/O buffers.
deadline: A point in time when the operation should time out, in milliseconds. Use the now function to get your current point in time. 0 means immediate timeout, i.e., perform the operation if possible or return without blocking if not. -1 means no deadline, i.e., the call will block forever if the operation cannot be performed.
If both first and last arguments are set to NULL the message is received and silently dropped. The function will still return the size of the message.
In case of success the function returns size of the received message, in bytes. In case of error it returns -1 and sets errno to one of the values below.
mrecv(3) msend(3) msendl(3) now(3)


Court of Appeal reserves judgement on suit challenging Tambuwal’s election
by Agency ReportThe Court of Appeal, Sokoto Division, on Tuesday reserved judgement in the appeal filed by the All Progressives Congress (APC) Governorship Candidate in the state, Ahmad Aliyu.
Mr Aliyu is challenging the Governorship Election Tribunal judgement that affirmed the election of Governor Aminu Tambuwal of the Peoples Democratic Party (PDP) in the March 9 governorship election in the state.
The election was declared inconclusive following cancellation of 75, 403 votes which were higher than the 3, 413 votes margin between the leading candidates.
A re-run was held on March 23, which led to the victory of Tambuwal who won with a slim margin of 342 votes.
The News Agency of Nigeria (NAN) reports that the tribunal on October 2, in Abuja affirmed the election of Tambuwal.
The three-man tribunal led by Justice Abbas Bawale dismissed the petition of the APC and its governorship candidate, for lacking in merit.
Unsatisfied with the judgement Aliyu, on October 16, filed a notice of Appeal challenging the judgement of the lower court, seeking the court to set aside the tribunal judgement and declared him as the winner of the election.
The four-man panel of Justice led by Justice Hussein Mukhtar, reserved judgement in the appeal.
The Presiding Justice said the judgment will be ready in a short frame of time and the court will communicate when it is ready.
(NAN)


Dr. Dymphna Overwijn
BVSc (Hons) Sydney
Post Grad. Dip. (Vet Clinical Studies)
MANZCVS (Small Animal Medicine)
Dr. Overwijn graduated with second class honours in 2003 from the University of Sydney. She worked in private practice in Singapore for 2 years, then made the move overseas to work for the University Veterinary Teaching Hospital in Sydney. She obtained her memberships in small animal medicine with the Australian College of Veterinary Scientists and completed a Post-Graduate Diploma in Veterinary Clinical Studies. She finally made the move back to Singapore at the end of 2007. She is currently pursuing her Masters in Veterinary Clinical Studies, focusing on retroviral diseases in the cats of Singapore.
Specialty:
Microchipping
Dental Checkup
General Surgery
Spaying and neutering
Veterinary pharmaceuticals
Rehabilitation services
Emergency Services


This page shows the events, sent by a plant monitor devices publishing their sensor information.
°C
%


My First 5 Weeks at CodeFactory
I've finished my five weeks at CodeFactory. Here are some of the things I've learned so far:
Git and GitHub
HTML
CSS
| Creating a stylesheet. | Using CSS selectors to specify an HTML element. | Writing CSS rules to style particular elements in my HTML. | Floating elements to create columns, sidebars, and other alignments. | Padding, margins, and the box model. | How CSS cascades to apply styles. | The importance of responsive design. | How to use media queries to dynamically change the appearance of a site based on the user's viewport. |
JavaScript
jQuery


The Chicago Energy Data Map is a visualization of all residential natural gas and electric energy use — both by neighborhood and by census block — for the City of Chicago in 2010. The height of each neighborhood or census block indicates electric energy consumption while the color is indicative of natural gas consumption.
The purpose of this visualization is to allow the viewer both a bird's eye view, as well as a neighborhood detail view, of energy consumption patterns in one of our nation's largest cities. Further, users can review energy efficiency tips and Chicagoans can pledge to make improvements to the efficiency of their homes on behalf of their respective neighborhoods.
This project is a collaborative effort between the City of Chicago, the Civic Consulting Alliance, Datascope Analytics and IDEO with support from Accenture, Elevate Energy, the Citizens Utility Board, ComEd and Peoples Gas. The Chicago Energy Data Map is part of Mayor Rahm Emanuel's Retrofit Chicago initiative.
Note: All data was analyzed at the census block and neighborhood level to protect the privacy of Chicago residents.
✖
Thanks For Pledging!
Feel free to share your pledge on either of the sites below.


All Dog Breeds
User Results
Home
Survey
Dog Breeds JSON
User Results JSON
Furry Friend Finder
menu
Home
Survey
JSON API Calls
arrow_drop_down
Welcome to the Furry Friend Finder Website
A site designed specifically to find a dog breed perfectly suited to your lifestyle and needs.
check
Take the Survey!
Calculating Match


You must provide one of two types of information to create an ID card:
Required here are certificate and private key files.
These can be created when accessing a business network.
An Enrollment ID and Secret must be created by someone who already has access to the Business Network you are connecting to.
What type of card do you want to create?
An ID card that is bound to a participant
An ID card that is not bound to a participant.
The name of the Business Network to which you are going to connect.
Roles can be added to an identity for installing and starting a business network.
A role that has permission to install a business network
A role that has permission to start a business network


Portfolio
inHouse: Inventory Tracking System
An application that assists warehouse associates with tracking inventory location and details through a quick and efficent system.
React.js, MongoDB
Guest Account:
Email<EMAIL_ADDRESS>| Password: Password1!
FreeBeez
Marketplace-type application that allows users to post and claim free items in a single network.
HTML, CSS, JavaScript, mySQL, Node
Guest Account:
Email<EMAIL_ADDRESS>| Password: Password1!
Weather Dashboard
A webpage that displays and saves the weather forecast for a user's selected city.
HTML, CSS, JavaScript
SuggestSoCal
A clean webpage that generates random activity and eatery suggestions located in the Southern California area.
HTML, CSS, JavaScript


--- layout: newsstory title: ANOTHER CUP OUT OF THE WAY match: DMC Bilston 1 Yeltz 0 ---
We're certainly getting through them. Another chance to roll out the 'Let's concentrate on the league' rubbish as we went out of the League Cup to a last minute Bilston winner. We always seem to do badly in this competition, so who cares really?
If you haven't been following the discussion on YeltzTalk , there's been a lot of talk of setting up a supporters' fund for new signings. Chairman Nigel Pitt has called a meeting for any interested parties to talk about it next Monday (19th) in the clubhouse at 8pm.
Saturday brings Mangotsfield to The Grove in the league. Come On!
Bilston Town: Boswell; Leeding, Hillman, Stone, Benton, Baddams (Bastable 81), Naylor, Jackson, Habbershaw (Lee 69), Rollason, Smith. Sub: Walters.
Halesowen Town: Clarke; Colwell, Crawford, Knight, L. Collins, Skidmore, Spencer, Jones (Giddings 59), R. Collins (Hall 45), Carter, Hines. Sub: Burnham.
Referee: A. McIlravey (Redditch) Attendance: 207 Booked: None
Halesowen bowed out of the Dr Martens Cup at the first hurdle with a disappointing last minute defeat at financially troubled Bilston.
Manager Brendan Phillips elected to use several fringe squad players and Ross Collins went close for the Yeltz in the first minute when he burst forward, but the makeshift striker slotted wide of the post. Michael Crawford then drove wide from 20 yards in the 11th minute. Without the influence of Mark Taylor, the Yeltz lost the ball in midfield on several occasions and in the 27th minute it led to Bilston's Mark Habbershaw flashing an effort wide of Tim Clarke's upright. Les Hines delivered a cross of quality on the half-hour to Andy Jones but his header fell just wide of the post. Four minutes later Hines went on a solo run but his shot from 20 yards dipped just over the bar.
The second half continued in a similar pattern with little prospect of a goal although a shot from Hines was whistling into the net until deflected for a corner by Bilston defender Dave Benton in the 55th minute. Alfie Carter then saw his header fly over the bar from substitute Matty Hall's cross and a 67th minute throw-in from Hines was headed on by Kerry Giddings but Carter struck the side-netting. Hall broke clear in the 70th minute but his shot was deflected for a corner by Steve Hillman. Andy Spencer then hit a good chance against the legs of goalkeeper Matthew Boswell in the 86th minute after being set up by Carter.
As an attacking force, Bilston had little to offer until the 89th minute when Tim Clarke made a great save to deny a Leon Jackson header. A minute later Jackson hit the winner from 6 yards out when Clarke's defence failed to clear - at least the Yeltz faithful were spared 30 minutes of extra-time on a bitter Bilston night to forget.