Example #1
0
def printstatus():
    if dynamics.nsteps == 1:
        print """
State      Time/fs    Temp/K     Strain      G/(J/m^2)  CrackPos/A D(CrackPos)/A
---------------------------------------------------------------------------------"""

    log_format = (
        '%(label)-4s%(time)12.1f%(temperature)12.6f' +
        '%(strain)12.5f%(G)12.4f%(crack_pos_x)12.2f    (%(d_crack_pos_x)+5.2f)'
    )

    atoms.info['label'] = dynamics.state_label  # Label for the status line
    atoms.info['time'] = dynamics.get_time() / units.fs
    atoms.info['temperature'] = (atoms.get_kinetic_energy() /
                                 (1.5 * units.kB * len(atoms)))
    atoms.info['strain'] = get_strain(atoms)
    atoms.info['G'] = get_energy_release_rate(atoms) / (units.J / units.m**2)

    crack_pos = find_crack_tip_stress_field(atoms,
                                            calc=mm_pot,
                                            avg_sigma=avg_sigma)
    atoms.info['crack_pos_x'] = crack_pos[0]
    atoms.info['d_crack_pos_x'] = crack_pos[0] - orig_crack_pos[0]

    print log_format % atoms.info
Example #2
0
    def printstatus():
        if (dynamics.nsteps % 10) == 0:
            print """
State      Time/fs    Temp/K     Strain      G/(J/m^2)  CrackPos/A D(CrackPos)/A 
---------------------------------------------------------------------------------"""
            log_format = (
                '%(label)-4s%(time)12.1f%(temperature)12.6f' +
                '%(strain)12.5f%(G)12.4f%(crack_pos_x)12.2f    (%(d_crack_pos_x)+5.2f)'
            )
            log_format2 = ('%(label)-4s%(time)12.1f%(temperature)12.6f')
            try:
                atoms.info[
                    'label'] = dynamics.state_label  # Label for the status line
            except AttributeError:
                atoms.info['label'] = 'classical'  # Label for the status line

            atoms.info['time'] = dynamics.get_time() / units.fs
            atoms.info['temperature'] = (atoms.get_kinetic_energy() /
                                         (1.5 * units.kB * len(atoms)))
            atoms.info['strain'] = get_strain(atoms)
            try:
                atoms.info['G'] = get_energy_release_rate(atoms) / (units.J /
                                                                    units.m**2)
            except:
                atoms.info['G'] = 0.0
            try:
                orig_crack_pos = atoms.info['CrackPos'].copy()
                crack_pos = find_crack_tip_stress_field(atoms, calc=mm_pot)
                atoms.info['crack_pos_x'] = crack_pos[0]
                atoms.info['d_crack_pos_x'] = crack_pos[0] - orig_crack_pos[0]
                print log_format % atoms.info
            except KeyError:
                print log_format2 % atoms.info
Example #3
0
  def printstatus():
    if (dynamics.nsteps%10)==0:
      print """
State      Time/fs    Temp/K     Strain      G/(J/m^2)  CrackPos/A D(CrackPos)/A 
---------------------------------------------------------------------------------"""
      log_format = ('%(label)-4s%(time)12.1f%(temperature)12.6f'+
                    '%(strain)12.5f%(G)12.4f%(crack_pos_x)12.2f    (%(d_crack_pos_x)+5.2f)')
      log_format2 = ('%(label)-4s%(time)12.1f%(temperature)12.6f')
      try:
        atoms.info['label'] = dynamics.state_label                # Label for the status line
      except AttributeError:
        atoms.info['label'] = 'classical'                # Label for the status line
        

      atoms.info['time']  = dynamics.get_time()/units.fs
      atoms.info['temperature'] = (atoms.get_kinetic_energy() /
                                   (1.5*units.kB*len(atoms)))
      atoms.info['strain'] = get_strain(atoms)
      try:
        atoms.info['G']      = get_energy_release_rate(atoms)/(units.J/units.m**2)
      except:
        atoms.info['G']      = 0.0
      try:
        orig_crack_pos = atoms.info['CrackPos'].copy()
        crack_pos = find_crack_tip_stress_field(atoms, calc=mm_pot)
        atoms.info['crack_pos_x']   = crack_pos[0]
        atoms.info['d_crack_pos_x'] = crack_pos[0] - orig_crack_pos[0]
        print log_format % atoms.info
      except KeyError:
        print log_format2 % atoms.info
def printstatus():
    if dynamics.nsteps == 1:
        print """
State      Time/fs    Temp/K     Strain      G/(J/m^2)  CrackPos/A D(CrackPos)/A 
---------------------------------------------------------------------------------"""

    log_format = ('%(label)-4s%(time)12.1f%(temperature)12.6f'+
                  '%(strain)12.5f%(G)12.4f%(crack_pos_x)12.2f    (%(d_crack_pos_x)+5.2f)')

    atoms.info['label'] = 'D'                  # Label for the status line
    atoms.info['time'] = dynamics.get_time()/units.fs
    atoms.info['temperature'] = (atoms.get_kinetic_energy() /
                                 (1.5*units.kB*len(atoms)))
    atoms.info['strain'] = get_strain(atoms)
    atoms.info['G'] = get_energy_release_rate(atoms)/(units.J/units.m**2)
    
    crack_pos = find_crack_tip_stress_field(atoms, calc=mm_pot)
    atoms.info['crack_pos_x'] = crack_pos[0]
    atoms.info['d_crack_pos_x'] = crack_pos[0] - orig_crack_pos[0]

    print log_format % atoms.info
Example #5
0
 def print_context(ats=atoms, dyn=dynamics):
     print 'steps, T', dyn.nsteps, ats.get_kinetic_energy()/(1.5*units.kB*len(ats))
     print 'G', get_energy_release_rate(ats)/(units.J/units.m**2)
     print 'strain', get_strain(ats)