crysna 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (138) hide show
  1. checksums.yaml +7 -0
  2. data/.document +5 -0
  3. data/CHANGES +24 -0
  4. data/Gemfile +26 -0
  5. data/Gemfile.lock +91 -0
  6. data/LICENSE.txt +20 -0
  7. data/README.rdoc +19 -0
  8. data/Rakefile +53 -0
  9. data/VERSION +1 -0
  10. data/bin/checkmodel +66 -0
  11. data/bin/collectcell +92 -0
  12. data/bin/fitframe +68 -0
  13. data/bin/occupiedpolyhedralsite +96 -0
  14. data/bin/occupiedscattersite +77 -0
  15. data/bin/site2poscar +66 -0
  16. data/bin/site2pov +30 -0
  17. data/bin/sitecombination +69 -0
  18. data/bin/sitemigration +80 -0
  19. data/bin/sitemigrationdistance +87 -0
  20. data/bin/siteoperation +109 -0
  21. data/bin/sitesingle +36 -0
  22. data/bin/siteuniq +32 -0
  23. data/bin/symidsite +65 -0
  24. data/bin/transitcell +46 -0
  25. data/crysna.gemspec +219 -0
  26. data/lib/crysna.rb +26 -0
  27. data/lib/crysna/atom.rb +97 -0
  28. data/lib/crysna/cell.rb +314 -0
  29. data/lib/crysna/frameatom.rb +13 -0
  30. data/lib/crysna/frameinterstitialcell.rb +309 -0
  31. data/lib/crysna/interstitialatom.rb +13 -0
  32. data/lib/crysna/modelstructure.rb +333 -0
  33. data/lib/crysna/optionmanager.rb +177 -0
  34. data/lib/crysna/site.rb +35 -0
  35. data/lib/crysna/siteconfiguration.rb +26 -0
  36. data/lib/crysna/sitenamelabeledcell.rb +220 -0
  37. data/lib/crysna/siteoperation.rb +56 -0
  38. data/lib/crysna/sitewithposition.rb +24 -0
  39. data/lib/crysna/transitionfinder.rb +448 -0
  40. data/lib/crysna/transitionfinder/cell.rb +144 -0
  41. data/lib/crysna/transitionfinder/cellmanager.rb +129 -0
  42. data/lib/crysna/transitionfinder/edge.rb +54 -0
  43. data/test/.gitignore +1 -0
  44. data/test/cell_orig/POSCAR +17 -0
  45. data/test/cell_orig/model.yaml +122 -0
  46. data/test/collectcells/.gitignore +2 -0
  47. data/test/collectcells/model.yaml +154 -0
  48. data/test/collectcells/nooutcar/minexpconfiguration.yaml +22 -0
  49. data/test/collectcells/normal-higher/OUTCAR +2406 -0
  50. data/test/collectcells/normal-higher/minexpconfiguration.yaml +22 -0
  51. data/test/collectcells/normal-lower/OUTCAR +2406 -0
  52. data/test/collectcells/normal-lower/minexpconfiguration.yaml +22 -0
  53. data/test/collectcells/normal/OUTCAR +2406 -0
  54. data/test/collectcells/normal/minexpconfiguration.yaml +22 -0
  55. data/test/collectcells/normalB/OUTCAR +2406 -0
  56. data/test/collectcells/normalB/minexpconfiguration.yaml +22 -0
  57. data/test/collectcells/unfinished/OUTCAR +40702 -0
  58. data/test/collectcells/unfinished/minexpconfiguration.yaml +22 -0
  59. data/test/collectcells/unidentified/OUTCAR +3541 -0
  60. data/test/collectcells/unidentified/minexpconfiguration.yaml +2 -0
  61. data/test/fitmodelstructure/.gitignore +1 -0
  62. data/test/fitmodelstructure/AgI/CONTCAR +17 -0
  63. data/test/fitmodelstructure/AgI/fitmodelstructure.log +1161 -0
  64. data/test/fitmodelstructure/AgI/model.yaml +45 -0
  65. data/test/fitmodelstructure/normal/CONTCAR +17 -0
  66. data/test/fitmodelstructure/normal/fitmodelstructure.log +5063 -0
  67. data/test/fitmodelstructure/normal/model.yaml +122 -0
  68. data/test/fitmodelstructure/unidentified/CONTCAR +44 -0
  69. data/test/fitmodelstructure/unidentified/fitmodelstructure.log +8833 -0
  70. data/test/fitmodelstructure/unidentified/model.yaml +154 -0
  71. data/test/helper.rb +17 -0
  72. data/test/identifypolyhedralsites/.gitignore +1 -0
  73. data/test/identifypolyhedralsites/identifyatomsites.log +333 -0
  74. data/test/identifypolyhedralsites/normal/fitmodelstructure.yaml +60 -0
  75. data/test/identifypolyhedralsites/normal/model.yaml +122 -0
  76. data/test/identifypolyhedralsites/unidentified/fitmodelstructure.yaml +2 -0
  77. data/test/identifypolyhedralsites/unidentified/model.yaml +154 -0
  78. data/test/identifypolyhedralsites/volumemismatch/fitmodelstructure.yaml +101 -0
  79. data/test/identifypolyhedralsites/volumemismatch/model.yaml +154 -0
  80. data/test/identifyscattersites/CONTCAR +17 -0
  81. data/test/identifyscattersites/POSCAR +12 -0
  82. data/test/identifyscattersites/fitmodelstructure.log +1 -0
  83. data/test/identifyscattersites/fitmodelstructure.yaml +0 -0
  84. data/test/identifyscattersites/identifyscattersites.yaml +5 -0
  85. data/test/identifyscattersites/model.yaml +45 -0
  86. data/test/minexpconfiguration/.gitignore +1 -0
  87. data/test/minexpconfiguration/collective/AgI/.gitignore +2 -0
  88. data/test/minexpconfiguration/collective/AgI/siteoperations.yaml +51265 -0
  89. data/test/minexpconfiguration/collective/AgI/sitesingle.yaml +15 -0
  90. data/test/minexpconfiguration/collective/AgI/test.sh +2 -0
  91. data/test/minexpconfiguration/normal/identifysites.yaml +22 -0
  92. data/test/minexpconfiguration/normal/minexpconfiguration.log +0 -0
  93. data/test/minexpconfiguration/normal/siteoperations.yaml +1793 -0
  94. data/test/minexpconfiguration/unidentified/identifysites.yaml +2 -0
  95. data/test/minexpconfiguration/unidentified/siteoperations.yaml +1793 -0
  96. data/test/sitecombination/initsites.yaml +7 -0
  97. data/test/sitecombination/initsites_test2.yaml +8 -0
  98. data/test/sitecombination/sitecombination.yaml +29 -0
  99. data/test/siteconfiguration/elements-sitenames.yaml +2 -0
  100. data/test/siteconfiguration/latticeaxes.yaml +3 -0
  101. data/test/siteconfiguration/sitenames-coordinates.yaml +4 -0
  102. data/test/sitemigrationsdistance/model.yaml +45 -0
  103. data/test/siteoperations/.gitignore +2 -0
  104. data/test/siteoperations/model.yaml +43 -0
  105. data/test/siteoperations/symmetryoperations.yaml +1441 -0
  106. data/test/sitesingle/.gitignore +1 -0
  107. data/test/sitesingle/sitecombination.yaml +29 -0
  108. data/test/siteuniq/minexpconfiguration.yaml +15 -0
  109. data/test/siteuniq/siteuniq.yaml +8 -0
  110. data/test/test_atom.rb +206 -0
  111. data/test/test_cell.rb +604 -0
  112. data/test/test_commands.rb +340 -0
  113. data/test/test_crystana.rb +7 -0
  114. data/test/test_frameatom.rb +22 -0
  115. data/test/test_frameinterstitialcell.rb +939 -0
  116. data/test/test_interstitialatom.rb +22 -0
  117. data/test/test_modelstructure.rb +807 -0
  118. data/test/test_optionmanager.rb +172 -0
  119. data/test/test_site.rb +40 -0
  120. data/test/test_siteconfiguration.rb +29 -0
  121. data/test/test_sitenamelabeledcell.rb +528 -0
  122. data/test/test_siteoperation.rb +79 -0
  123. data/test/test_sitewithposition.rb +20 -0
  124. data/test/test_transitionfinder.rb +432 -0
  125. data/test/transitcell/.gitignore +2 -0
  126. data/test/transitcell/collectcells.yaml +51 -0
  127. data/test/transitcell/sitemigrations.yaml +8 -0
  128. data/test/transitcell/siteoperations.yaml +17 -0
  129. data/test/transitcell/transitcell.log +1342 -0
  130. data/test/transitionfinder/collectcells.yaml +81 -0
  131. data/test/transitionfinder/sitemigrations.yaml +33 -0
  132. data/test/transitionfinder/siteoperations.yaml +16 -0
  133. data/test/transitionfinder/test_cell.rb +287 -0
  134. data/test/transitionfinder/test_cellmanager.rb +185 -0
  135. data/test/transitionfinder/test_edge.rb +49 -0
  136. data/test/uniquesitesgenerator/elements-sitenames.yaml +1 -0
  137. data/test/uniquesitesgenerator/siteoperations.yaml +9 -0
  138. metadata +406 -0
data/bin/siteoperation ADDED
@@ -0,0 +1,109 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+
4
+ require "pp"
5
+ require "yaml"
6
+ require "optparse"
7
+ require "rubygems"
8
+ require "progressbar"
9
+ require "crysna"
10
+
11
+ TOLERANCE = 1E-10
12
+
13
+ ## option analysis
14
+ om = Crysna::OptionManager.new([:model, :operation, :symmetry])
15
+ om.parser.banner += "\n" + <<HERE
16
+ Output yaml which includes from_site and to_site with symmetry operations.
17
+ HERE
18
+ #結晶中のサイトに全て名前がつけられていることを前提とする。
19
+ #内部座標 i に対して、対称操作の rotation R と translation T を作用させる。
20
+ #x = Ri + T
21
+
22
+ om.parser.parse!(ARGV)
23
+ options = om.options
24
+
25
+ unless ARGV.size == 0
26
+ puts om.parser.banner, "Exit."
27
+ exit
28
+ end
29
+
30
+
31
+
32
+ mcell = Crysna::ModelStructure.load_file(options[:model])
33
+ f_sites = mcell.frame_sites
34
+ i_sites = mcell.ideal_interstitial_sites
35
+ s_sites = mcell.scatter_sites
36
+
37
+ log_io = File.open("siteoperations.log", "w")
38
+ result_io = File.open(options[:operation], "w")
39
+ results = []
40
+
41
+ if options[:symmetry]
42
+ operations = YAML.load_file(options[:symmetry])
43
+ else
44
+ operations = mcell.symmetry_operations
45
+ end
46
+
47
+
48
+ pbar = ProgressBar.new(
49
+ "siteoperations",
50
+ operations.size
51
+ )
52
+
53
+ operations.size.times do |i|
54
+ pbar.inc
55
+ ope = operations[i]
56
+ log_io.puts "Operation[#{i}]: #{ope["rotation"]}, #{ope["translation"]}"
57
+
58
+ ##finding
59
+ operation_id = ope["operation_id"]
60
+ rotation = Matrix[* ope["rotation"]]
61
+ translation = Mageo::Vector3D[* ope["translation"]]
62
+
63
+ operation = {}
64
+ f_sites.each do |name, coordinates|
65
+ log_io.puts "Frame site: #{name}, #{coordinates}"
66
+
67
+ new_coord = rotation * coordinates + translation
68
+ new_site = mcell.find_nearest_frame_site(new_coord)
69
+ log_io.puts " new_coord = #{new_coord}"
70
+ log_io.puts " new_site = #{new_site.inspect}"
71
+
72
+ #operation[name] = [new_site[0], new_site[1].to_a]
73
+ operation[name] = [new_site[0], new_site[1].to_a, rotation.to_a]
74
+ end
75
+
76
+ i_sites.each do |name, coordinates|
77
+ log_io.puts "Interstitial site: #{name}, #{coordinates}"
78
+
79
+ new_coord = rotation * coordinates + translation
80
+ new_site =
81
+ mcell.select_interstitial_sites27(new_coord, TOLERANCE, log_io)[0]
82
+ log_io.puts " new_coord = #{new_coord}"
83
+ log_io.puts " new_site = #{new_site.inspect}"
84
+ operation[name] =
85
+ #[new_site.name, new_site.global_vector.to_a]
86
+ [new_site.name, new_site.global_vector.to_a, rotation.to_a]
87
+ end
88
+
89
+ s_sites.each do |name, coordinates|
90
+ log_io.puts "Scatter site: #{name}, #{coordinates}"
91
+
92
+ new_coord = rotation * coordinates + translation
93
+ new_site = mcell.find_site(new_coord, s_sites)
94
+ log_io.puts " new_coord = #{new_coord}"
95
+ log_io.puts " new_site = #{new_site.inspect}"
96
+
97
+ #operation[name] = [new_site[0], new_site[1].to_a]
98
+ operation[name] = [new_site[0], new_site[1].to_a, rotation.to_a]
99
+ end
100
+
101
+ item = {
102
+ "operation_id" => operation_id,
103
+ "operation" => operation
104
+ }
105
+ results << item
106
+ end
107
+ YAML.dump(results, result_io)
108
+
109
+ log_io.close
data/bin/sitesingle ADDED
@@ -0,0 +1,36 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+
4
+ ## Output cells of not duplicated occupied site.
5
+
6
+ require "pp"
7
+ require "yaml"
8
+ require "crysna"
9
+
10
+ ## option analysis
11
+ om = Crysna::OptionManager.new([:combination, :single])
12
+ om.parser.banner += "\n" +
13
+ <<HERE
14
+ Default input #{Crysna::OptionManager::DEFAULT_SITE_COMBINATION_FILE}
15
+ Default output #{Crysna::OptionManager::DEFAULT_SITE_SINGLE_FILE}
16
+ HERE
17
+ om.parser.parse!(ARGV)
18
+ options = om.options
19
+
20
+
21
+ cells = YAML.load_file(options[:combination])
22
+
23
+ results = {}
24
+ cells.each do |name, elems_sites|
25
+ cell = Crysna::Cell.new(elems_sites)
26
+ sitenames = cell.sites.values.flatten
27
+ num_sites = sitenames.size
28
+ next unless sitenames.uniq.size == num_sites
29
+ results[name] = elems_sites
30
+ end
31
+ pp results
32
+
33
+ File.open(options[:single], "w") do |io|
34
+ YAML.dump(results, io)
35
+ end
36
+
data/bin/siteuniq ADDED
@@ -0,0 +1,32 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+
4
+ require "pp"
5
+ require "yaml"
6
+ require "crysna"
7
+
8
+ ## option analysis
9
+ om = Crysna::OptionManager.new([:symid, :unique])
10
+ om.parser.banner += "\n Output minimum expression in occupied site names among symmetry operations"
11
+ om.parser.on("-c" , "--collective-yaml" , "Deal input file as collective data."){ options[:collective] = true}
12
+
13
+ om.parser.parse!(ARGV)
14
+ options = om.options
15
+
16
+ cells = YAML.load_file(options[:symid])
17
+
18
+ results = {}
19
+ uniq_cells = []
20
+ cells.each do |name, elems_sites|
21
+ cell = Crysna::Cell.new(elems_sites)
22
+ next if uniq_cells.include? cell
23
+ uniq_cells << cell
24
+ results[name] = elems_sites
25
+ end
26
+ pp results
27
+
28
+ #pp options[:unique]
29
+ File.open(options[:unique], "w") do |io|
30
+ YAML.dump(results, io)
31
+ end
32
+
data/bin/symidsite ADDED
@@ -0,0 +1,65 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+ #
4
+ require "rubygems"
5
+ require "crysna"
6
+ require "optparse"
7
+ require "pp"
8
+
9
+
10
+ PROGRAM_NAME = File.basename __FILE__
11
+ LOG_FILE = "#{PROGRAM_NAME}.log"
12
+
13
+ ## option analysis
14
+ om = Crysna::OptionManager.new([:occupied, :operation, :symid])
15
+ om.parser.banner += "\n Output minimum expression in occupied site names among symmetry operations"
16
+ om.parser.on("-c" , "--collective-yaml" , "Deal input file as collective data."){ om.options[:collective] = true}
17
+ om.parser.on("-q" , "--quiet" , "Supress verbose output."){ om.options[:quiet] = true}
18
+
19
+ om.parser.parse!(ARGV)
20
+ options = om.options
21
+
22
+ #pp options; exit
23
+
24
+
25
+ #unless ARGV.size == 2
26
+ # puts om.parser.banner, "Exit."
27
+ # exit
28
+ #end
29
+
30
+ yaml = YAML.load_file(options[:occupied])
31
+ log_io = File.open(LOG_FILE, "w")
32
+
33
+ if options[:collective]
34
+ configurations = yaml
35
+ else
36
+ configurations = {"." => yaml}
37
+ end
38
+
39
+ #pp configurations
40
+
41
+ ## Normal process
42
+ results = {}
43
+ configurations.each do |name, conf|
44
+ log_io.puts "-"*60
45
+ log_io.puts name
46
+ log_io.puts conf
47
+ cell = Crysna::Cell.new(conf)
48
+ operations = YAML.load_file(options[:operation])
49
+
50
+ min_cell = cell.minimize(operations, log_io)
51
+ item = {}
52
+ min_cell.atoms.each do |atom|
53
+ item[atom.element] ||= []
54
+ item[atom.element] << atom.site.name
55
+ end
56
+ results[name] = item
57
+ end
58
+
59
+ #pp options[:symid]
60
+ #pp results
61
+
62
+ pp results unless options[:quiet]
63
+ File.open(options[:symid], "w") do |io|
64
+ YAML.dump(results, io)
65
+ end
data/bin/transitcell ADDED
@@ -0,0 +1,46 @@
1
+ #! /usr/bin/env ruby
2
+ # coding: utf-8
3
+
4
+ require "optparse"
5
+ require "rubygems"
6
+ require "crysna"
7
+ require "yaml"
8
+
9
+ ## option analysis
10
+ om = Crysna::OptionManager.new([:cells, :migration, :operation])
11
+ om.parser.banner = <<HERE
12
+ Usage: #{File.basename("#{__FILE__}")} [options] start_cell_id
13
+ HERE
14
+ om.parser.parse!(ARGV)
15
+ options = om.options
16
+
17
+ # option analysis
18
+
19
+ unless ARGV.size == 1
20
+ puts om.parser.banner
21
+ exit
22
+ end
23
+
24
+ raw_cells = YAML.load_file(options[:cells])
25
+ migrations = YAML.load_file(options[:migration])
26
+ operations = YAML.load_file(options[:operation])
27
+ start = ARGV[0]
28
+
29
+ dot_io = File.open("transitcell.dot", "w")
30
+ result_io = File.open("transitcell.out", "w")
31
+ $log_io = File.open("transitcell.log", "w")
32
+
33
+ cells = []
34
+ raw_cells.each do |name, cell|
35
+ cells << Crysna::TransitionFinder::Cell.new(cell["sites"], cell["toten"], name)
36
+ end
37
+
38
+ finder = Crysna::TransitionFinder.new(cells,
39
+ migrations,
40
+ operations)
41
+ #現状では、2要素からなる配列を返すことを想定。
42
+ #要素0、1 はそれぞれ起点から global_vector の異なる等価な状態に
43
+ #到達するパスを表現する配列。
44
+ #パスは Cell を要素とし、それぞれの previous でそこに至る操作を記録してる。
45
+ #将来的には Path クラスかなんか用意するかもしれん。
46
+ finder.find_path(start, nil, result_io, dot_io)
data/crysna.gemspec ADDED
@@ -0,0 +1,219 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: crysna 0.0.4 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "crysna"
9
+ s.version = "0.0.4"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["ippei94da"]
14
+ s.date = "2016-04-20"
15
+ s.description = "This gem provide a site analysis for crystal cell."
16
+ s.email = "ippei94da@gmail.com"
17
+ s.executables = ["checkmodel", "collectcell", "fitframe", "occupiedpolyhedralsite", "occupiedscattersite", "site2poscar", "site2pov", "sitecombination", "sitemigration", "sitemigrationdistance", "siteoperation", "sitesingle", "siteuniq", "symidsite", "transitcell"]
18
+ s.extra_rdoc_files = [
19
+ "LICENSE.txt",
20
+ "README.rdoc"
21
+ ]
22
+ s.files = [
23
+ ".document",
24
+ "CHANGES",
25
+ "Gemfile",
26
+ "Gemfile.lock",
27
+ "LICENSE.txt",
28
+ "README.rdoc",
29
+ "Rakefile",
30
+ "VERSION",
31
+ "bin/checkmodel",
32
+ "bin/collectcell",
33
+ "bin/fitframe",
34
+ "bin/occupiedpolyhedralsite",
35
+ "bin/occupiedscattersite",
36
+ "bin/site2poscar",
37
+ "bin/site2pov",
38
+ "bin/sitecombination",
39
+ "bin/sitemigration",
40
+ "bin/sitemigrationdistance",
41
+ "bin/siteoperation",
42
+ "bin/sitesingle",
43
+ "bin/siteuniq",
44
+ "bin/symidsite",
45
+ "bin/transitcell",
46
+ "crysna.gemspec",
47
+ "lib/crysna.rb",
48
+ "lib/crysna/atom.rb",
49
+ "lib/crysna/cell.rb",
50
+ "lib/crysna/frameatom.rb",
51
+ "lib/crysna/frameinterstitialcell.rb",
52
+ "lib/crysna/interstitialatom.rb",
53
+ "lib/crysna/modelstructure.rb",
54
+ "lib/crysna/optionmanager.rb",
55
+ "lib/crysna/site.rb",
56
+ "lib/crysna/siteconfiguration.rb",
57
+ "lib/crysna/sitenamelabeledcell.rb",
58
+ "lib/crysna/siteoperation.rb",
59
+ "lib/crysna/sitewithposition.rb",
60
+ "lib/crysna/transitionfinder.rb",
61
+ "lib/crysna/transitionfinder/cell.rb",
62
+ "lib/crysna/transitionfinder/cellmanager.rb",
63
+ "lib/crysna/transitionfinder/edge.rb",
64
+ "test/.gitignore",
65
+ "test/cell_orig/POSCAR",
66
+ "test/cell_orig/model.yaml",
67
+ "test/collectcells/.gitignore",
68
+ "test/collectcells/model.yaml",
69
+ "test/collectcells/nooutcar/minexpconfiguration.yaml",
70
+ "test/collectcells/normal-higher/OUTCAR",
71
+ "test/collectcells/normal-higher/minexpconfiguration.yaml",
72
+ "test/collectcells/normal-lower/OUTCAR",
73
+ "test/collectcells/normal-lower/minexpconfiguration.yaml",
74
+ "test/collectcells/normal/OUTCAR",
75
+ "test/collectcells/normal/minexpconfiguration.yaml",
76
+ "test/collectcells/normalB/OUTCAR",
77
+ "test/collectcells/normalB/minexpconfiguration.yaml",
78
+ "test/collectcells/unfinished/OUTCAR",
79
+ "test/collectcells/unfinished/minexpconfiguration.yaml",
80
+ "test/collectcells/unidentified/OUTCAR",
81
+ "test/collectcells/unidentified/minexpconfiguration.yaml",
82
+ "test/fitmodelstructure/.gitignore",
83
+ "test/fitmodelstructure/AgI/CONTCAR",
84
+ "test/fitmodelstructure/AgI/fitmodelstructure.log",
85
+ "test/fitmodelstructure/AgI/model.yaml",
86
+ "test/fitmodelstructure/normal/CONTCAR",
87
+ "test/fitmodelstructure/normal/fitmodelstructure.log",
88
+ "test/fitmodelstructure/normal/model.yaml",
89
+ "test/fitmodelstructure/unidentified/CONTCAR",
90
+ "test/fitmodelstructure/unidentified/fitmodelstructure.log",
91
+ "test/fitmodelstructure/unidentified/model.yaml",
92
+ "test/helper.rb",
93
+ "test/identifypolyhedralsites/.gitignore",
94
+ "test/identifypolyhedralsites/identifyatomsites.log",
95
+ "test/identifypolyhedralsites/normal/fitmodelstructure.yaml",
96
+ "test/identifypolyhedralsites/normal/model.yaml",
97
+ "test/identifypolyhedralsites/unidentified/fitmodelstructure.yaml",
98
+ "test/identifypolyhedralsites/unidentified/model.yaml",
99
+ "test/identifypolyhedralsites/volumemismatch/fitmodelstructure.yaml",
100
+ "test/identifypolyhedralsites/volumemismatch/model.yaml",
101
+ "test/identifyscattersites/CONTCAR",
102
+ "test/identifyscattersites/POSCAR",
103
+ "test/identifyscattersites/fitmodelstructure.log",
104
+ "test/identifyscattersites/fitmodelstructure.yaml",
105
+ "test/identifyscattersites/identifyscattersites.yaml",
106
+ "test/identifyscattersites/model.yaml",
107
+ "test/minexpconfiguration/.gitignore",
108
+ "test/minexpconfiguration/collective/AgI/.gitignore",
109
+ "test/minexpconfiguration/collective/AgI/siteoperations.yaml",
110
+ "test/minexpconfiguration/collective/AgI/sitesingle.yaml",
111
+ "test/minexpconfiguration/collective/AgI/test.sh",
112
+ "test/minexpconfiguration/normal/identifysites.yaml",
113
+ "test/minexpconfiguration/normal/minexpconfiguration.log",
114
+ "test/minexpconfiguration/normal/siteoperations.yaml",
115
+ "test/minexpconfiguration/unidentified/identifysites.yaml",
116
+ "test/minexpconfiguration/unidentified/siteoperations.yaml",
117
+ "test/sitecombination/initsites.yaml",
118
+ "test/sitecombination/initsites_test2.yaml",
119
+ "test/sitecombination/sitecombination.yaml",
120
+ "test/siteconfiguration/elements-sitenames.yaml",
121
+ "test/siteconfiguration/latticeaxes.yaml",
122
+ "test/siteconfiguration/sitenames-coordinates.yaml",
123
+ "test/sitemigrationsdistance/model.yaml",
124
+ "test/siteoperations/.gitignore",
125
+ "test/siteoperations/model.yaml",
126
+ "test/siteoperations/symmetryoperations.yaml",
127
+ "test/sitesingle/.gitignore",
128
+ "test/sitesingle/sitecombination.yaml",
129
+ "test/siteuniq/minexpconfiguration.yaml",
130
+ "test/siteuniq/siteuniq.yaml",
131
+ "test/test_atom.rb",
132
+ "test/test_cell.rb",
133
+ "test/test_commands.rb",
134
+ "test/test_crystana.rb",
135
+ "test/test_frameatom.rb",
136
+ "test/test_frameinterstitialcell.rb",
137
+ "test/test_interstitialatom.rb",
138
+ "test/test_modelstructure.rb",
139
+ "test/test_optionmanager.rb",
140
+ "test/test_site.rb",
141
+ "test/test_siteconfiguration.rb",
142
+ "test/test_sitenamelabeledcell.rb",
143
+ "test/test_siteoperation.rb",
144
+ "test/test_sitewithposition.rb",
145
+ "test/test_transitionfinder.rb",
146
+ "test/transitcell/.gitignore",
147
+ "test/transitcell/collectcells.yaml",
148
+ "test/transitcell/sitemigrations.yaml",
149
+ "test/transitcell/siteoperations.yaml",
150
+ "test/transitcell/transitcell.log",
151
+ "test/transitionfinder/collectcells.yaml",
152
+ "test/transitionfinder/sitemigrations.yaml",
153
+ "test/transitionfinder/siteoperations.yaml",
154
+ "test/transitionfinder/test_cell.rb",
155
+ "test/transitionfinder/test_cellmanager.rb",
156
+ "test/transitionfinder/test_edge.rb",
157
+ "test/uniquesitesgenerator/elements-sitenames.yaml",
158
+ "test/uniquesitesgenerator/siteoperations.yaml"
159
+ ]
160
+ s.homepage = "http://github.com/ippei94da/crysna"
161
+ s.licenses = ["MIT"]
162
+ s.rubygems_version = "2.5.1"
163
+ s.summary = "CRYstal Site aNAlyzser."
164
+
165
+ if s.respond_to? :specification_version then
166
+ s.specification_version = 4
167
+
168
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
169
+ s.add_development_dependency(%q<test-unit>, ["~> 3.1"])
170
+ s.add_development_dependency(%q<rdoc>, ["~> 4.2"])
171
+ s.add_development_dependency(%q<bundler>, ["~> 1.11"])
172
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0"])
173
+ s.add_development_dependency(%q<simplecov>, ["~> 0.11"])
174
+ s.add_development_dependency(%q<progressbar>, ["~> 0.21"])
175
+ s.add_development_dependency(%q<ruby-graphviz>, ["~> 1.2"])
176
+ s.add_development_dependency(%q<mageo>, ["~> 0.0"])
177
+ s.add_development_dependency(%q<malge>, ["~> 0.0"])
178
+ s.add_development_dependency(%q<crystalcell>, ["~> 0.0"])
179
+ s.add_development_dependency(%q<builtinextension>, ["~> 0.1"])
180
+ s.add_development_dependency(%q<maset>, ["~> 0.0"])
181
+ s.add_development_dependency(%q<comana>, ["~> 0.0"])
182
+ s.add_development_dependency(%q<gnuplot>, ["~> 2.6"])
183
+ s.add_development_dependency(%q<vasputils>, ["~> 0.1"])
184
+ else
185
+ s.add_dependency(%q<test-unit>, ["~> 3.1"])
186
+ s.add_dependency(%q<rdoc>, ["~> 4.2"])
187
+ s.add_dependency(%q<bundler>, ["~> 1.11"])
188
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
189
+ s.add_dependency(%q<simplecov>, ["~> 0.11"])
190
+ s.add_dependency(%q<progressbar>, ["~> 0.21"])
191
+ s.add_dependency(%q<ruby-graphviz>, ["~> 1.2"])
192
+ s.add_dependency(%q<mageo>, ["~> 0.0"])
193
+ s.add_dependency(%q<malge>, ["~> 0.0"])
194
+ s.add_dependency(%q<crystalcell>, ["~> 0.0"])
195
+ s.add_dependency(%q<builtinextension>, ["~> 0.1"])
196
+ s.add_dependency(%q<maset>, ["~> 0.0"])
197
+ s.add_dependency(%q<comana>, ["~> 0.0"])
198
+ s.add_dependency(%q<gnuplot>, ["~> 2.6"])
199
+ s.add_dependency(%q<vasputils>, ["~> 0.1"])
200
+ end
201
+ else
202
+ s.add_dependency(%q<test-unit>, ["~> 3.1"])
203
+ s.add_dependency(%q<rdoc>, ["~> 4.2"])
204
+ s.add_dependency(%q<bundler>, ["~> 1.11"])
205
+ s.add_dependency(%q<jeweler>, ["~> 2.0"])
206
+ s.add_dependency(%q<simplecov>, ["~> 0.11"])
207
+ s.add_dependency(%q<progressbar>, ["~> 0.21"])
208
+ s.add_dependency(%q<ruby-graphviz>, ["~> 1.2"])
209
+ s.add_dependency(%q<mageo>, ["~> 0.0"])
210
+ s.add_dependency(%q<malge>, ["~> 0.0"])
211
+ s.add_dependency(%q<crystalcell>, ["~> 0.0"])
212
+ s.add_dependency(%q<builtinextension>, ["~> 0.1"])
213
+ s.add_dependency(%q<maset>, ["~> 0.0"])
214
+ s.add_dependency(%q<comana>, ["~> 0.0"])
215
+ s.add_dependency(%q<gnuplot>, ["~> 2.6"])
216
+ s.add_dependency(%q<vasputils>, ["~> 0.1"])
217
+ end
218
+ end
219
+