surfacetopography 0.92.0__py3.8-linux-x86_64.egg

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (145) hide show
  1. EGG-INFO/PKG-INFO +11 -0
  2. EGG-INFO/SOURCES.txt +99 -0
  3. EGG-INFO/dependency_links.txt +1 -0
  4. EGG-INFO/native_libs.txt +1 -0
  5. EGG-INFO/not-zip-safe +1 -0
  6. EGG-INFO/requires.txt +6 -0
  7. EGG-INFO/top_level.txt +3 -0
  8. SurfaceTopography/ChangeLog.md +387 -0
  9. SurfaceTopography/Converters.py +197 -0
  10. SurfaceTopography/FFTTricks.py +79 -0
  11. SurfaceTopography/Generation.py +440 -0
  12. SurfaceTopography/HeightContainer.py +315 -0
  13. SurfaceTopography/IO/DI.py +261 -0
  14. SurfaceTopography/IO/FromFile.py +802 -0
  15. SurfaceTopography/IO/H5.py +79 -0
  16. SurfaceTopography/IO/IBW.py +176 -0
  17. SurfaceTopography/IO/MI.py +307 -0
  18. SurfaceTopography/IO/Matlab.py +106 -0
  19. SurfaceTopography/IO/NC.py +228 -0
  20. SurfaceTopography/IO/NPY.py +140 -0
  21. SurfaceTopography/IO/OPDx.py +885 -0
  22. SurfaceTopography/IO/Reader.py +389 -0
  23. SurfaceTopography/IO/__init__.py +241 -0
  24. SurfaceTopography/IO/__pycache__/DI.cpython-38.pyc +0 -0
  25. SurfaceTopography/IO/__pycache__/FromFile.cpython-38.pyc +0 -0
  26. SurfaceTopography/IO/__pycache__/H5.cpython-38.pyc +0 -0
  27. SurfaceTopography/IO/__pycache__/IBW.cpython-38.pyc +0 -0
  28. SurfaceTopography/IO/__pycache__/MI.cpython-38.pyc +0 -0
  29. SurfaceTopography/IO/__pycache__/Matlab.cpython-38.pyc +0 -0
  30. SurfaceTopography/IO/__pycache__/NC.cpython-38.pyc +0 -0
  31. SurfaceTopography/IO/__pycache__/NPY.cpython-38.pyc +0 -0
  32. SurfaceTopography/IO/__pycache__/OPDx.cpython-38.pyc +0 -0
  33. SurfaceTopography/IO/__pycache__/Reader.cpython-38.pyc +0 -0
  34. SurfaceTopography/IO/__pycache__/__init__.cpython-38.pyc +0 -0
  35. SurfaceTopography/Interpolation.py +30 -0
  36. SurfaceTopography/Nonuniform/Autocorrelation.py +161 -0
  37. SurfaceTopography/Nonuniform/Detrending.py +87 -0
  38. SurfaceTopography/Nonuniform/PowerSpectrum.py +191 -0
  39. SurfaceTopography/Nonuniform/ScalarParameters.py +140 -0
  40. SurfaceTopography/Nonuniform/VariableBandwidth.py +155 -0
  41. SurfaceTopography/Nonuniform/__init__.py +28 -0
  42. SurfaceTopography/Nonuniform/__pycache__/Autocorrelation.cpython-38.pyc +0 -0
  43. SurfaceTopography/Nonuniform/__pycache__/Detrending.cpython-38.pyc +0 -0
  44. SurfaceTopography/Nonuniform/__pycache__/PowerSpectrum.cpython-38.pyc +0 -0
  45. SurfaceTopography/Nonuniform/__pycache__/ScalarParameters.cpython-38.pyc +0 -0
  46. SurfaceTopography/Nonuniform/__pycache__/VariableBandwidth.cpython-38.pyc +0 -0
  47. SurfaceTopography/Nonuniform/__pycache__/__init__.cpython-38.pyc +0 -0
  48. SurfaceTopography/Nonuniform/__pycache__/common.cpython-38.pyc +0 -0
  49. SurfaceTopography/Nonuniform/common.py +95 -0
  50. SurfaceTopography/NonuniformLineScan.py +310 -0
  51. SurfaceTopography/Special.py +225 -0
  52. SurfaceTopography/Tools/__init__.py +28 -0
  53. SurfaceTopography/Tools/__pycache__/__init__.cpython-38.pyc +0 -0
  54. SurfaceTopography/Tools/__pycache__/common.cpython-38.pyc +0 -0
  55. SurfaceTopography/Tools/common.py +75 -0
  56. SurfaceTopography/Uniform/Autocorrelation.py +212 -0
  57. SurfaceTopography/Uniform/Detrending.py +155 -0
  58. SurfaceTopography/Uniform/Filtering.py +321 -0
  59. SurfaceTopography/Uniform/Interpolation.py +202 -0
  60. SurfaceTopography/Uniform/PowerSpectrum.py +174 -0
  61. SurfaceTopography/Uniform/ScalarParameters.py +185 -0
  62. SurfaceTopography/Uniform/VariableBandwidth.py +169 -0
  63. SurfaceTopography/Uniform/__init__.py +28 -0
  64. SurfaceTopography/Uniform/__pycache__/Autocorrelation.cpython-38.pyc +0 -0
  65. SurfaceTopography/Uniform/__pycache__/Detrending.cpython-38.pyc +0 -0
  66. SurfaceTopography/Uniform/__pycache__/Filtering.cpython-38.pyc +0 -0
  67. SurfaceTopography/Uniform/__pycache__/Interpolation.cpython-38.pyc +0 -0
  68. SurfaceTopography/Uniform/__pycache__/PowerSpectrum.cpython-38.pyc +0 -0
  69. SurfaceTopography/Uniform/__pycache__/ScalarParameters.cpython-38.pyc +0 -0
  70. SurfaceTopography/Uniform/__pycache__/VariableBandwidth.cpython-38.pyc +0 -0
  71. SurfaceTopography/Uniform/__pycache__/__init__.cpython-38.pyc +0 -0
  72. SurfaceTopography/Uniform/__pycache__/common.cpython-38.pyc +0 -0
  73. SurfaceTopography/Uniform/common.py +381 -0
  74. SurfaceTopography/UniformLineScanAndTopography.py +887 -0
  75. SurfaceTopography/__init__.py +62 -0
  76. SurfaceTopography/__pycache__/Converters.cpython-38.pyc +0 -0
  77. SurfaceTopography/__pycache__/FFTTricks.cpython-38.pyc +0 -0
  78. SurfaceTopography/__pycache__/Generation.cpython-38.pyc +0 -0
  79. SurfaceTopography/__pycache__/HeightContainer.cpython-38.pyc +0 -0
  80. SurfaceTopography/__pycache__/Interpolation.cpython-38.pyc +0 -0
  81. SurfaceTopography/__pycache__/NonuniformLineScan.cpython-38.pyc +0 -0
  82. SurfaceTopography/__pycache__/Special.cpython-38.pyc +0 -0
  83. SurfaceTopography/__pycache__/UniformLineScanAndTopography.cpython-38.pyc +0 -0
  84. SurfaceTopography/__pycache__/__init__.cpython-38.pyc +0 -0
  85. SurfaceTopography/__pycache__/common.cpython-38.pyc +0 -0
  86. SurfaceTopography/common.py +111 -0
  87. _SurfaceTopography.cpython-38-x86_64-linux-gnu.so +0 -0
  88. _SurfaceTopography.py +7 -0
  89. __pycache__/_SurfaceTopography.cpython-38.pyc +0 -0
  90. test/IO/__init__.py +28 -0
  91. test/IO/__pycache__/__init__.cpython-38.pyc +0 -0
  92. test/IO/__pycache__/test_h5.cpython-38.pyc +0 -0
  93. test/IO/__pycache__/test_hgt.cpython-38.pyc +0 -0
  94. test/IO/__pycache__/test_ibw.cpython-38.pyc +0 -0
  95. test/IO/__pycache__/test_io.cpython-38.pyc +0 -0
  96. test/IO/__pycache__/test_mat.cpython-38.pyc +0 -0
  97. test/IO/__pycache__/test_mi.cpython-38.pyc +0 -0
  98. test/IO/__pycache__/test_netcdf.cpython-38.pyc +0 -0
  99. test/IO/__pycache__/test_npy.cpython-38.pyc +0 -0
  100. test/IO/__pycache__/test_opd.cpython-38.pyc +0 -0
  101. test/IO/__pycache__/test_opdx.cpython-38.pyc +0 -0
  102. test/IO/__pycache__/test_x3p.cpython-38.pyc +0 -0
  103. test/IO/__pycache__/test_xyz.cpython-38.pyc +0 -0
  104. test/IO/test_h5.py +31 -0
  105. test/IO/test_hgt.py +16 -0
  106. test/IO/test_ibw.py +205 -0
  107. test/IO/test_io.py +436 -0
  108. test/IO/test_mat.py +21 -0
  109. test/IO/test_mi.py +103 -0
  110. test/IO/test_netcdf.py +134 -0
  111. test/IO/test_npy.py +176 -0
  112. test/IO/test_opd.py +28 -0
  113. test/IO/test_opdx.py +441 -0
  114. test/IO/test_x3p.py +43 -0
  115. test/IO/test_xyz.py +19 -0
  116. test/__init__.py +26 -0
  117. test/__pycache__/__init__.cpython-38.pyc +0 -0
  118. test/__pycache__/compare-orientation-with-gwyddion.cpython-38.pyc +0 -0
  119. test/__pycache__/conftest.cpython-38.pyc +0 -0
  120. test/__pycache__/test_autocorrelation.cpython-38.pyc +0 -0
  121. test/__pycache__/test_bicubic.cpython-38.pyc +0 -0
  122. test/__pycache__/test_derivatives.cpython-38.pyc +0 -0
  123. test/__pycache__/test_filtering.cpython-38.pyc +0 -0
  124. test/__pycache__/test_generation.cpython-38.pyc +0 -0
  125. test/__pycache__/test_import.cpython-38.pyc +0 -0
  126. test/__pycache__/test_make_sphere.cpython-38.pyc +0 -0
  127. test/__pycache__/test_pipeline.cpython-38.pyc +0 -0
  128. test/__pycache__/test_power_spectrum.cpython-38.pyc +0 -0
  129. test/__pycache__/test_scalar_parameters.cpython-38.pyc +0 -0
  130. test/__pycache__/test_topography.cpython-38.pyc +0 -0
  131. test/__pycache__/test_variable_bandwidth.cpython-38.pyc +0 -0
  132. test/compare-orientation-with-gwyddion.py +102 -0
  133. test/conftest.py +80 -0
  134. test/test_autocorrelation.py +311 -0
  135. test/test_bicubic.py +190 -0
  136. test/test_derivatives.py +88 -0
  137. test/test_filtering.py +160 -0
  138. test/test_generation.py +259 -0
  139. test/test_import.py +54 -0
  140. test/test_make_sphere.py +111 -0
  141. test/test_pipeline.py +151 -0
  142. test/test_power_spectrum.py +283 -0
  143. test/test_scalar_parameters.py +216 -0
  144. test/test_topography.py +1151 -0
  145. test/test_variable_bandwidth.py +107 -0
EGG-INFO/PKG-INFO ADDED
@@ -0,0 +1,11 @@
1
+ Metadata-Version: 1.2
2
+ Name: SurfaceTopography
3
+ Version: 0.92.0
4
+ Summary: Read and analyze surface topographies
5
+ Home-page: UNKNOWN
6
+ Author: Lars Pastewka
7
+ Author-email: lars.pastewka@imtek.uni-freiburg.de
8
+ License: MIT
9
+ Description: UNKNOWN
10
+ Platform: UNKNOWN
11
+ Requires-Python: >=3.5.0
EGG-INFO/SOURCES.txt ADDED
@@ -0,0 +1,99 @@
1
+ .gitattributes
2
+ .gitignore
3
+ .install_parallel_netcdf.sh
4
+ .print_netcdf_capabilities.sh
5
+ .travis.before_install.bash
6
+ .travis.before_script.bash
7
+ .travis.yml
8
+ AUTHORS
9
+ LICENSE.md
10
+ MANIFEST.in
11
+ README.md
12
+ env.sh
13
+ pytest.ini
14
+ requirements.txt
15
+ run-tests.py
16
+ setup.cfg
17
+ setup.py
18
+ .github/workflows/codeql-analysis.yml
19
+ .github/workflows/main.yml
20
+ .idea/.gitignore
21
+ .idea/vcs.xml
22
+ SurfaceTopography/ChangeLog.md
23
+ SurfaceTopography/Converters.py
24
+ SurfaceTopography/FFTTricks.py
25
+ SurfaceTopography/Generation.py
26
+ SurfaceTopography/HeightContainer.py
27
+ SurfaceTopography/Interpolation.py
28
+ SurfaceTopography/NonuniformLineScan.py
29
+ SurfaceTopography/Special.py
30
+ SurfaceTopography/UniformLineScanAndTopography.py
31
+ SurfaceTopography/__init__.py
32
+ SurfaceTopography/common.py
33
+ SurfaceTopography.egg-info/PKG-INFO
34
+ SurfaceTopography.egg-info/SOURCES.txt
35
+ SurfaceTopography.egg-info/dependency_links.txt
36
+ SurfaceTopography.egg-info/not-zip-safe
37
+ SurfaceTopography.egg-info/requires.txt
38
+ SurfaceTopography.egg-info/top_level.txt
39
+ SurfaceTopography/IO/DI.py
40
+ SurfaceTopography/IO/FromFile.py
41
+ SurfaceTopography/IO/H5.py
42
+ SurfaceTopography/IO/IBW.py
43
+ SurfaceTopography/IO/MI.py
44
+ SurfaceTopography/IO/Matlab.py
45
+ SurfaceTopography/IO/NC.py
46
+ SurfaceTopography/IO/NPY.py
47
+ SurfaceTopography/IO/OPDx.py
48
+ SurfaceTopography/IO/Reader.py
49
+ SurfaceTopography/IO/__init__.py
50
+ SurfaceTopography/Nonuniform/Autocorrelation.py
51
+ SurfaceTopography/Nonuniform/Detrending.py
52
+ SurfaceTopography/Nonuniform/PowerSpectrum.py
53
+ SurfaceTopography/Nonuniform/ScalarParameters.py
54
+ SurfaceTopography/Nonuniform/VariableBandwidth.py
55
+ SurfaceTopography/Nonuniform/__init__.py
56
+ SurfaceTopography/Nonuniform/common.py
57
+ SurfaceTopography/Tools/__init__.py
58
+ SurfaceTopography/Tools/common.py
59
+ SurfaceTopography/Uniform/Autocorrelation.py
60
+ SurfaceTopography/Uniform/Detrending.py
61
+ SurfaceTopography/Uniform/Filtering.py
62
+ SurfaceTopography/Uniform/Interpolation.py
63
+ SurfaceTopography/Uniform/PowerSpectrum.py
64
+ SurfaceTopography/Uniform/ScalarParameters.py
65
+ SurfaceTopography/Uniform/VariableBandwidth.py
66
+ SurfaceTopography/Uniform/__init__.py
67
+ SurfaceTopography/Uniform/common.py
68
+ c/autocorrelation.cpp
69
+ c/autocorrelation.h
70
+ c/bicubic.cpp
71
+ c/bicubic.h
72
+ c/module.cpp
73
+ c/patchfinder.cpp
74
+ c/patchfinder.h
75
+ c/stack.h
76
+ c/test_stack.cpp
77
+ docs/Makefile
78
+ docs/conf.py
79
+ docs/contributing.rst
80
+ docs/development.rst
81
+ docs/index.rst
82
+ docs/installation.rst
83
+ docs/make.bat
84
+ docs/testing.rst
85
+ docs/usage.rst
86
+ docs/Figures/geometry.svg
87
+ docs/Figures/geometry_pdf_tex.svg
88
+ examples/bicubic_interpolation.py
89
+ examples/files_xy_width_heights.ipynb
90
+ examples/howto_plot_2D_data.ipynb
91
+ helpers/HurstEstimationNumerics.py
92
+ helpers/HurstEstimationSymbolics.py
93
+ helpers/PowerSpectrumSymbolics.py
94
+ helpers/SurfaceExample.asc
95
+ helpers/SurfaceExampleUnfiltered.asc
96
+ helpers/WindowTest.py
97
+ maintenance/copyright.py
98
+ maintenance/replace_header.py
99
+ maintenance/update_license_headers.sh
@@ -0,0 +1 @@
1
+
@@ -0,0 +1 @@
1
+ _SurfaceTopography.cpython-38-x86_64-linux-gnu.so
EGG-INFO/not-zip-safe ADDED
@@ -0,0 +1 @@
1
+
EGG-INFO/requires.txt ADDED
@@ -0,0 +1,6 @@
1
+ NuMPI>=0.1.4
2
+ h5py
3
+ igor
4
+ muFFT>=0.12.0
5
+ netCDF4>=1.5.0
6
+ numpy>=1.11.0
EGG-INFO/top_level.txt ADDED
@@ -0,0 +1,3 @@
1
+ SurfaceTopography
2
+ _SurfaceTopography
3
+ test
@@ -0,0 +1,387 @@
1
+
2
+ Change log for SurfaceTopography
3
+ =============================
4
+
5
+ v0.92.0 (15Mar21)
6
+ -----------------
7
+
8
+ - Drop support for python3.5
9
+ - ENH: rms_slope, rms_curvature and rms_laplace can now filter short
10
+ wavelength roughness
11
+ - MAINT: Filters follow pipeline model
12
+ - MAINT: Derivatives now use muFFT derivative operators
13
+ - MAINT: Bumped muFFT dependency to v0.12.0
14
+ - API: Return nonuniform PSD only up to a reasonable wavevector
15
+
16
+ v0.91.5 (19Oct20)
17
+ -----------------
18
+
19
+ - BUG: Fixed differing versions in setup.py and requirements
20
+
21
+ v0.91.4 (16Oct20)
22
+ -----------------
23
+
24
+ - BUG: Fixed issue with reading npy from binary stream
25
+ - BUG: Fixed periodic flag for npy files in some cases
26
+
27
+ v0.91.3 (22Sep20)
28
+ -----------------
29
+
30
+ - BUG: UniformLineScan.area_per_pt is now a scalar, not a tuple
31
+ - BUG: supress assertion that discarded imaginary part in fourier
32
+ derivative is small
33
+
34
+ v0.91.2 (31Jul20)
35
+ -----------------
36
+
37
+ - BUG: Memory leak in Python bindings for bicubic interpolation
38
+
39
+ v0.91.1 (23Jul20)
40
+ -----------------
41
+
42
+ - MAINT: Bumped muFFT dependency to v0.10.0
43
+
44
+ v0.91.0 (2Jul20)
45
+ ----------------
46
+
47
+ - ENH: return topography with undefined (masked) data filled (#19)
48
+ - ENH: make_sphere has option to put undefined data in standoff or not
49
+ - BUG: Fixed missing dependencies when installed as package (#15)
50
+ - BUG: Fixed error when loading text file with trailing newline (#16)
51
+ - BUG: Fixed wrong error message when loading unknown text file format (#14)
52
+ - BUG: renamed CompoundTopography.array to CompoundTopography.heights (#18)
53
+
54
+ v0.90.0 (17Jun20)
55
+ -----------------
56
+
57
+ - Refactored PyCo code into three separate Python modules:
58
+ SurfaceTopography, ContactMechanics and Adhesion
59
+ - muFFT dependency updated to muFFT-0.9.1
60
+ - Moved documentation from README.md to the docs folder
61
+
62
+ v0.57.0 (15May20)
63
+ -----------------
64
+
65
+ - MAINT: Support for new, rewritten muFFT bindings
66
+ - ENH: Bicubic interpolation of two-dimensional topography maps
67
+ - ENH: Fourier derivative of topography
68
+ - BUG: Computation of plastic area is now parallelized (#303)
69
+ - BUG: Info dictionary mutable from user
70
+
71
+ v0.56.0 (26Feb20)
72
+ -----------------
73
+
74
+ - ENH: Change orientation of some readers such that all topographies
75
+ look like the image in Gwyddion when plotted with
76
+ "pcolormesh(t.heights().T)" (#295)
77
+ - BUG: Fixes unknown unit "um" when reading mi file (#296)
78
+ - BUG: Fixes missing channel name for mi files (#294)
79
+ - ENH: generate self-affine random surfaces by specifying the self-affine prefactor (#261, #278, #279)
80
+ - BUG: now fourier synthesis can generate Linescans again (#277, #279)
81
+
82
+
83
+ v0.55.0 (14Feb20)
84
+ -----------------
85
+
86
+ - API: Readers now report channel info in ChannelInfo class,
87
+ fixes inconsistencies in reporting channel information (#190, #192, #236)
88
+ - ENH: Readers report format identifier and are self-documented (#229, #238)
89
+ - ENH: Readers now support Gwyddion's text export format for English and German locale (#230)
90
+ - ENH: DI reader now read acquisition date and stores it in the info dictionary
91
+ - BUG: DI reader autodetection did not work (#258)
92
+ - BUG: Fixes orientation for DI files (#291)
93
+ - DOC: Added notebook showing how 2D topographies can be plotted
94
+ - TST: Added demo notebook which shows how to plot 2D topographies
95
+ - ENH: adhesive ideal plastic simulations with Softwall system (#260, #283)
96
+
97
+ v0.54.4 (20Dec19)
98
+ -----------------
99
+
100
+ - BUG: Fixes missing 'nb_grid_pts' key in channels from IBW reader
101
+
102
+ v0.54.3 (20Dec19)
103
+ -----------------
104
+
105
+ - BUG: Fixes assertion because of wrong number of channel names (#252)
106
+
107
+ v0.54.2 (13Dec19)
108
+ -----------------
109
+
110
+ - BUG: fix rms_laplacian for periodic topographies (#247)
111
+
112
+ v0.54.1 (13Dec19)
113
+ -----------------
114
+
115
+ - ENH: higher order derivative for periodic surface (#234,#227)
116
+ - ENH: new reader for Igor Binary Wave files (IBW) (#224)
117
+ - BUG: opdx reader can now handle binary filestreams (#209)
118
+ - BUG: store and restore periodic flag in NonuniformTopography (#240)
119
+
120
+ v0.54.0 (06Dec19)
121
+ -----------------
122
+
123
+ - MAINT: correct installation problems because Eigen repository has moved
124
+ - ENH: anisotropic cubic Green's Functions
125
+ - BUG: NPY reader can now handle filestreams (#209, NUMPI/#24)
126
+ - BUG: opdx reader can now handle filestreams (#209)
127
+
128
+ v0.53.1 (21Nov19)
129
+ -----------------
130
+ - API: Detrended Topographies with mode "center" keep is_periodic property. Other modes lead to is_periodic=False.
131
+ See pastewka/TopoBank/#347
132
+
133
+ v0.53.0 (20Nov19)
134
+ -----------------
135
+
136
+ - API: ability to set periodic property of HeightContainer in reader.topography (#198)
137
+ - API: default window for computing PSD is choosen according to topography.is_periodic (#217)
138
+ - Feature: interpolate_fourier pipeline function
139
+ - API: Default of check_boundaries in FreeSystem is False
140
+ - Bug fix: fourier synthesis had a padding line in the generation of topographies with odd number of points (#202)
141
+ - Bug fix: `topography.rms_curvature` no returns rms_curvature, previously rms_laplacian (#200)
142
+ - gnuplot scripts to plot logger output
143
+
144
+ v0.52.0 (25Aug19)
145
+ -----------------
146
+
147
+ - API: Return contact map (the 'active set') from constrained conjugate gradient
148
+ - Bug fix: `assign_patch_numbers` was broken on some configurations since v0.51.2
149
+
150
+ v0.51.2 (8Aug19)
151
+ ----------------
152
+
153
+ - Bug fix: `assign_patch_numbers` crashed for maps larger that 64k x 64k (#191)
154
+
155
+ v0.51.1 (7Aug19)
156
+ ----------------
157
+
158
+ - Bug fix: Setting physical_sizes argument in readers (#188)
159
+ - Bug fix: physical_sizes should be None for surfacs without a physical size (#189)
160
+ - Bug fix: Running and testing without mpi4py is now possible (#179)
161
+ - Bug fix: Multiple calls to `topography` method of readers (#187)
162
+ - Method to inspect pipeline (#175)
163
+ - CI: All tests (serial and MPI parallel) pass in Travis CI
164
+
165
+ v0.51.0 (5Aug19)
166
+ ----------------
167
+
168
+ - Cleanup of new reader API
169
+
170
+ v0.50.2 (1Aug19)
171
+ ----------------
172
+
173
+ - Bug fix: Missing `channel` argument for `topography` method of `WrappedReader` (#181)
174
+ - `WrappedReader` now uses 'Default' as channel name
175
+
176
+ v0.50.1 (1Aug19)
177
+ ----------------
178
+
179
+ - Bug fix: Running without an MPI installation
180
+ - Bug fix: Reading DI files with non-topographic data (#338)
181
+
182
+ v0.50.0 (31Jul19)
183
+ -----------------
184
+
185
+ Overview:
186
+
187
+ - MPI parallelization of topographies, substrates and interaction.
188
+ - Updated reader framework that supports loading files in parallel. This requires to peek at the files (without
189
+ loading them) to understand the number of grid points to decide on a domain decomposition strategy.
190
+
191
+ Technical:
192
+
193
+ - Use MPI wrapper provided by NuMPI (https://github.com/IMTEK-Simulation/NuMPI) for serial calculations.
194
+ - Switch to parallel L-BFGS of NuMPI.
195
+ - Removed Cython dependencies. (Parallel) FFT is now handled by muFFT (https://gitlab.com/muspectre/muspectre).
196
+ - Tests have been partially converted to pytest. Parallel tests are run through run-tests
197
+ (https://github.com/AntoineSIMTEK/runtests).
198
+
199
+ v0.32.0 (15Jul19)
200
+ -----------------
201
+
202
+ - Autocorrelation and power-spectrum updates. Both now have an option 'algorithm' that let's the user select
203
+ between a (fast) FFT and a (slow) brute-force implementation.
204
+
205
+ v0.31.3 (7Jul19)
206
+ ----------------
207
+
208
+ - Removed check for existing forces on boundaries (nonperiodic calculations only).
209
+
210
+ v0.31.1 (20May19)
211
+ -----------------
212
+
213
+ - Bug fix: Contact calculations now also run with detrended/scaled topographies.
214
+ - Updated hard wall command line script to new topography interface.
215
+
216
+ v0.31.0 (5Mar19)
217
+ ----------------
218
+
219
+ - Added height-difference autocorrelation and variable bandwidth analysis for nonuniform
220
+ line scans.
221
+ - Added wrapper 'to_nonuniform' function that turns uniform into nonuniform line scans.
222
+ - Bug fix: 'center' detrend mode for nonunform line scans now minimizes rms height.
223
+
224
+ v0.30.0 (15Feb19)
225
+ -----------------
226
+
227
+ Overview:
228
+
229
+ - Added non-uniform line scans, which can be loaded from text files or constructed from arrays.
230
+ - New class structure for topographies and line scans (for easier maintenance).
231
+ - Major API changes and several bug fixes (see below).
232
+ - Added Hardwall simulation tutorial.
233
+ - Added calculation for second derivative and RMS curvature for nonuniform topographies.
234
+ - Added coordination counting for contact patches.
235
+ - Simplified computation of perimeter using coordination counting.
236
+ - Started Sphinx documentation with notes how to use the package.
237
+
238
+ API Changes:
239
+
240
+ - New API for generating topographies and line scans (height containers) from data,
241
+ please use "from PyCo Topography import Topography, NonlinearLineScan, UniformLineScan" now.
242
+ - New API for building pipelines using methods on height containers, e.g. "topography.scale(2).detrend()".
243
+ - Uniform topographies and line scans can be periodic.
244
+ - Removed unit property from height containers. Units are now stored in the info dictionary,
245
+ which has to be set on generation of the height container.
246
+ - All topographies must have a physical_sizes. Readers use the resolution as the default physical_sizes
247
+ if the files contain no physical_sizes information.
248
+ - Removed 'shape' alias to 'resolution' property for height containers.
249
+ - Size + shape are now always tuples, physical_sizes is also always set as tuple.
250
+ - Topographies can now be pickled and unpickled.
251
+ - Replaced class 'Sphere' with generator function 'make_sphere'.
252
+ - Contact with "FreeFFTElasticHalfSpace":
253
+ Now an error is raised when points at the outer ring of the surface are interacting.
254
+ See notebook "examples/Hardwall_Simulation.ipynb".
255
+
256
+ Bug fixes:
257
+
258
+ - periodicity was ignored in calculation of the distance between contact patches in `distance_map`
259
+ - computation of energy in fourier space didn't match the computation of energy in real space
260
+ (however it is not used in actual simulation)
261
+ - Removed keyword "full_output" from shift_and_tilt().
262
+ - Text files without spaces at beginning of line can be read now.
263
+ - Enable reading topography data from memory buffers and from binary streams.
264
+ - Calculation of 2D autocorrelation function was broken, e.g. radial average.
265
+ - 1D autocorrelation was broken for nonperiodic calculations.
266
+
267
+
268
+ v0.18.0 (31Oct18)
269
+ -----------------
270
+
271
+ - Refactored "Surface" to "Topography".
272
+ - Bug fix: Corrected computation of attractive contact area in Smooth contact system.
273
+ - Bug fix: Corrected computation of inflexion point in LJ93 and VW82 smoothed potentials.
274
+
275
+ v0.17.0 (06Jul18)
276
+ -----------------
277
+
278
+ - Height-difference autocorrelation function.
279
+
280
+ v0.16.0 (23Oct17)
281
+ -----------------
282
+
283
+ - PyCo now licensed under MIT license.
284
+
285
+ v0.15.0 (06Sep17)
286
+ -----------------
287
+
288
+ - Implemented substrates of finite thickness.
289
+ - Support for additional DI file formats.
290
+ - More clever unit conversion in DI files.
291
+
292
+ v0.14.1 (16Jun17)
293
+ -----------------
294
+
295
+ - macOS compatibility fixes.
296
+ - Automatic conversion from hardness value (given in units of pressure)
297
+ into internal units in constrained CG solver.
298
+
299
+ v0.14.0 (14Mar17)
300
+ -----------------
301
+
302
+ - Added penetration hardness model for simple plastic calculations.
303
+
304
+ v0.13.1 (07Mar17)
305
+ -----------------
306
+
307
+ - Bug fix: Periodic Green's function offset by one lattice constant.
308
+
309
+ v0.13.0 (13Jan17)
310
+ -----------------
311
+
312
+ - Added further adhesive reference models (Maugis-Dugdale type models for
313
+ cylinder and wedge).
314
+ - Added callback option for Polonsky & Keer optimizer.
315
+ - setup.py now has '--openmp' option that triggers compilation of shared-memory
316
+ (OpenMP) parallel code.
317
+
318
+ v0.12.0 (05Dec16)
319
+ -----------------
320
+
321
+ - Main enhancement: Support for masked_arrays in NumpySurface. This allows to
322
+ have undefined (missing) data points in surfaces. Polonsky & Keer can handle
323
+ this now.
324
+ - Polonsky & Keer can now optimize at constant pressure (in addition to
325
+ constant displacement)
326
+ - Updated hard wall script to accept command line arguments.
327
+ - Moved scripts to new 'commandline' folder.
328
+ - Added plotmap.py, tool for plotting surfaces from the command line.
329
+ - Added plotpsd.py, tool for plotting the PSD of a surface from the command
330
+ line.
331
+
332
+ v0.11.0 (21Sep16)
333
+ -----------------
334
+
335
+ - Renamed TiltedSurface to DetrendedSurface.
336
+
337
+ v0.10.3 (16Sep16)
338
+ -----------------
339
+
340
+ - Added reader for HGT files (topography data from NASA Shuttle Radar Topography
341
+ Mission).
342
+ - Bug fix in deprecated 'set_size' that broke hard wall example.
343
+
344
+ v0.10.2 (29Aug16)
345
+ -----------------
346
+
347
+ - Added reader for MATLAB files.
348
+
349
+ v0.10.1 (22Aug16)
350
+ -----------------
351
+
352
+ - Added 'center' detrending mode which just subtracts the mean value.
353
+ - Added getter and setter for detrend_mode.
354
+ - Added function to return string representation of subtracted plane.
355
+ - Added area_per_pt property to Surface object.
356
+
357
+ v0.10.0 (31Jul16)
358
+ -----------------
359
+
360
+ - Exponential adhesion potential from Martin's contact mechanics challenge, to
361
+ be used in combination with hard-wall (bounded L-BFGS). Added tests for this
362
+ potential. Thanks go to Joe Monty for implementing this.
363
+ - Surfaces now have a *unit* property, that can be any object but will likely
364
+ be a string in many cases.
365
+ - Readers now create NumpySurface with *raw* data and wrap it into a
366
+ ScaledSurface to convert to proper unit.
367
+ - Travis-CI integration
368
+
369
+ v0.9.4 (27Apr16)
370
+ ----------------
371
+
372
+ - Greenwood-Tripp reference solution
373
+ - Many bug fixes in topography file readers
374
+
375
+ v0.9.3 (20Mar16)
376
+ ----------------
377
+
378
+ - Wyko OPD reader (.opd)
379
+ - Digital Instruments Nanoscope reader (.di)
380
+ - Igor Binary Wave reader (.ibw)
381
+ - Detrending
382
+
383
+ v0.9.2 (06Mar16)
384
+ ----------------
385
+
386
+ - X3P reader (.x3p)
387
+ - Automatic file format detection