Class: Aims::SCIteration
- Inherits:
-
Object
- Object
- Aims::SCIteration
- Defined in:
- lib/aims/output.rb
Overview
A single self-consistency iteration
Instance Attribute Summary collapse
-
#d_eev ⇒ Object
The change in the sum of eigenvalues.
-
#d_etot ⇒ Object
The change in total energy.
-
#d_rho ⇒ Object
The change in charge density.
-
#timings ⇒ Object
The Timings data for this iteration.
Instance Method Summary collapse
-
#initialize ⇒ SCIteration
constructor
Initialize a new self-consistency iteration.
-
#total_cpu_time ⇒ Object
Return the total CPU time for this iteration.
-
#total_wall_time ⇒ Object
Return the total wall clock time for this iteration.
Constructor Details
#initialize ⇒ SCIteration
Initialize a new self-consistency iteration
171 172 173 174 175 176 |
# File 'lib/aims/output.rb', line 171 def initialize self.timings = Timings.new self.d_eev = 0 self.d_rho = 0 self.d_etot = 0 end |
Instance Attribute Details
#d_eev ⇒ Object
The change in the sum of eigenvalues
162 163 164 |
# File 'lib/aims/output.rb', line 162 def d_eev @d_eev end |
#d_etot ⇒ Object
The change in total energy
159 160 161 |
# File 'lib/aims/output.rb', line 159 def d_etot @d_etot end |
#d_rho ⇒ Object
The change in charge density
165 166 167 |
# File 'lib/aims/output.rb', line 165 def d_rho @d_rho end |
#timings ⇒ Object
The Timings data for this iteration
168 169 170 |
# File 'lib/aims/output.rb', line 168 def timings @timings end |
Instance Method Details
#total_cpu_time ⇒ Object
Return the total CPU time for this iteration
179 180 181 182 183 184 185 186 187 188 189 |
# File 'lib/aims/output.rb', line 179 def total_cpu_time self.timings.cpu_time("Time for this iteration") # begin # total= self.timings.find{|t| t[:description] =~ /Time for this iteration/} # total[:cpu_time] # rescue # self.timings.inject(0){|total, time| # total = total + (time[:cpu_time] || 0) # } # end end |
#total_wall_time ⇒ Object
Return the total wall clock time for this iteration
192 193 194 195 196 197 198 199 200 201 202 |
# File 'lib/aims/output.rb', line 192 def total_wall_time self.timings.wall_time("Time for this iteration") # begin # time = self.timings.find{|t| t[:description] =~ /Time for this iteration/} # time[:wall_time] or 0 # rescue # self.timings.inject(0){|total, time| # total = total + (time[:wall_clock_time] || 0) # } # end end |