[root]/StandAlone/tools/pfs
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 28 (100.0%) | 1352 (100.0%) | 48.2 |
harman | 15 (53.6%) | 1342 (99.3%) | 89.4 |
jas | 9 (32.1%) | 5 (0.4%) | 0.5 |
dav | 2 (7.1%) | 3 (0.2%) | 1.5 |
qymeng | 2 (7.1%) | 2 (0.1%) | 1.0 |
cleaned out #ifs around old code.
removed unused variables and couts
0 lines of code changed in 2 files:
createPoint()
- Throw an exception if a point is being created outside of the computational domain.
24 lines of code changed in 1 file:
- fixed compiler warnings
- Throw an assert if you try to access a pixel/voxel outside of the image
- changed <= to < when looping over the image
15 lines of code changed in 1 file:
User can now read in an auxilary file that contains two columns
intensity, scalar value.
Usage: ../tools/pfs/rawToUniqueGrains [options] <ups file>
options:
-b, -binary: binary output
-l, -littleEndian: input file contains little endian bytes [default]
-B, -bigEndian: input file contains big endian bytes
-auxScalarFile: name of file that contains two columns of data (intensity scalar)
# case: grains
# Number of blobs 75
# max diameter (cm) 0.0365792455209
# min diameter (cm) 0.00202786936452
# average diameter (cm) 0.00990896874237
# color equivalent spherical diameter (cm)
1.0 0.0365792455209
2.0 0.0031813408649
3.0 0.0113385664577
The scalar value is appended to all points with that intensity. The output files
now contain x, y, z, scalar.
It runs for a simple test problem but needs to be cleaned up and possibly templated
so the scalar can be a double, vector or whatever.
148 lines of code changed in 1 file:
Update copyright year.
5 lines of code changed in 9 files:
removed debugging output
0 lines of code changed in 1 file:
added big/little endian support.
61 lines of code changed in 1 file:
only write out a pts file for a matl if the matl was specified in the input file.
21 lines of code changed in 1 file:
added try/catch block in main() so the exception messages are displayed
Thanks Dav!
279 lines of code changed in 1 file:
added support for little or big endianness bytes in the raw input files
Usage: rawToUniqueGrains [options] <ups file>
options:
-b, -binary: binary output
-l, -littleEndian: input file contains little endian bytes [default]
-B, -bigEndian: input file contains big endian bytes
58 lines of code changed in 1 file:
made the tool more general. The user can now map material indices to threshold
ranges. The uniqueGrains tag is now optional. Usage:
<PreprocessTools>
<rawToUniqueGrains>
<image> unique_grains.raw </image>
<ppc> [1,1,1] </ppc>
<res> [154,252,1] </res>
<outputBasename> points/16bit_grains </outputBasename>
<matl index="0">
<threshold> [0,0] </threshold>
</matl>
<matl index="2">
<threshold> [67,69] </threshold>
</matl>
<uniqueGrains>
<matlIndex> [1,2,3,4,5] </matlIndex>
<threshold> [1,80] </threshold>
</uniqueGrains>
</rawToUniqueGrains>
</PreprocessTools>
126 lines of code changed in 1 file:
This prepocessing tool is used to create a separate pts file for each material and patch
after analyzing an image raw file. This was designed for raw images that contain granular
materials with binder (0) and individual grains. To avoid issues with the contact algorithm
(grains sticking together) the individual grains will be assigned to separate matls.
Below is a raw image slice with 4 regions or grains. This tool indentifies all
intensities > 0 and maps that intensity to a mpm matl.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 50 50 50
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 50 50 50
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 63 63 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 63 63 63 63 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 63 63 63 63 63 63 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 63 63 63 63 63 63 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 63 63 63 63 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 64 64 0 0 0 0 0 0 0 0 0 0 0 63 63 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 64 64 64 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
- - - - - - - - - - - - - - - - | 64 64 64 64 - - - - - - - - - - - - - - - - - - - -
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 64 64 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 65 65 65 0 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 65 65 65 65 65 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 0 0 66 66 66 66 0 0 0 0 0 0 0
0 0 0 65 65 65 65 65 0 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 0 0 66 66 66 66 66 66 66 66 0 0 0 0 0
0 0 0 65 65 65 65 65 65 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 0 0 66 66 66 66 66 66 66 66 66 66 66 66 0 0 0
0 0 0 65 65 65 65 65 65 0 0 0 0 0 0 0 | 0 0 0 0 0 0 0 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 0
0 0 0 65 65 65 65 65 65 65 0 0 0 0 0 0 | 0 0 0 0 0 0 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66
0 0 0 0 65 65 65 65 65 65 0 0 0 0 0 0 | 0 0 0 0 0 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66
0 0 0 0 65 65 65 65 65 65 0 0 0 0 0 0 | 0 0 0 0 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66
0 0 0 0 0 0 65 65 65 0 0 0 0 0 0 0 | 0 0 0 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | 0 0 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66 66
ups file specification:
<PreprocessTools>
<rawToUniqueGrains>
<numGrainMatls> 3 </numGrainMatls>
<image> simple_sugar_mock_blob3d_unique_grains.raw </image>
<ppc> [1,1,1] </ppc>
<res> [154,252,1] </res>
<threshold> [1,80] </threshold>
<outputBasename> points/16bit_grains </outputBasename>
</rawToUniqueGrains>
</PreprocessTools>
Mapping of intensity to matl:
Intensity Levels: 79 min: 1 max: 79
Intensity level to mpm matl mapping
Intensity: 0 = matl 0
Intensity: 1 = matl 1
Intensity: 2 = matl 2
Intensity: 3 = matl 3
Intensity: 4 = matl 1
Intensity: 5 = matl 2
Intensity: 6 = matl 3
Intensity: 7 = matl 1
Intensity: 8 = matl 2
Intensity: 9 = matl 3
Intensity: 10 = matl 1
Assumptions:
- All pixels with an intensity of 0 belong to matl 0.
- The particle per cell (ppc) is a constant for all matls.
487 lines of code changed in 2 files:
added 16 bit image support.
- You need to recompile the code to use it. This should be fixed.
28 lines of code changed in 1 file:
formatting:
- added vertical spaces
- tabs
- added comments
- added {} around conditionals
95 lines of code changed in 1 file:
Removed scheduler arg from initializeManager()
2 lines of code changed in 2 files:
More executables that require the BLAS_LIBRARY to link on ember@chpc.
1 lines of code changed in 1 file:
The following (minor) updates are to fix issues or quite compiler
warnings when building under ICC on Ember@CHPC (thought they probably
apply to all ICC v12+ compilers.
M CCA/Components/Schedulers/MixedScheduler.h
M CCA/Components/Schedulers/MixedScheduler.cc
- Fix 'is virtual overloading intended' warning message. Signature of
child class function needs to match that of its parent.
M CCA/Components/Arches/CoalModels/ModelBase.h
- Cosmetics. White space is your friend.
M CCA/Components/Arches/CoalModels/HeatTransfer.h
M CCA/Components/Arches/CoalModels/SimpleHeatTransfer.h
M CCA/Components/Arches/TransportEqns/DQMOMEqnFactory.h
M CCA/Components/Arches/TransportEqns/EqnBase.h
M CCA/Components/Arches/TransportEqns/DQMOMEqn.h
M CCA/Components/Arches/LU.h
- Returning a 'const' non-pointer doesn't make sense... and causes ICC
to spew warnings all over the place.
M CCA/Components/Arches/DQMOM.cc
- Organize #includes alphabetically in order to understand what is
included more easily.
M CCA/Components/Arches/DQMOM.h
- Made weightedAbscissaModels into a vector of vectors of pointers.
ICC won't allow a vector of abstract classes... I'm actually not
quite sure how this variable is compiling or what it is used for, but
both ICC and GCC seem to be ok with the pointer version. It is possible
that this could cause an issue that I'm not immediately seeing, or cause
a memory leak. Perhaps someone familiar with this code could take a look?
M StandAlone/tools/pfs/sub.mk
M StandAlone/tools/puda/sub.mk
M StandAlone/tools/dumpfields/sub.mk
M StandAlone/tools/graphview/sub.mk
M StandAlone/tools/sub.mk
M StandAlone/Benchmarks/sub.mk
M testprograms/CubeRootTest/sub.mk
- These executables (at least when they use Ember's MPI) are required
to be linked against the thread library.
M Core/Containers/SuperBox.h
- There appears to be a 'hack' in our code that fixed an old problem with
ICC. However, it seems that icc 12.0.0 took care of the problem
and now our 'hack' doesn't compile. I've removed the hack and it
seems to be good now.
- Indentation... is your friend. (The comes under the whitespace category. ;)
2 lines of code changed in 1 file: