Class: CodeRunner::Trinity

Inherits:
Object
  • Object
show all
Defined in:
lib/trinitycrdriver.rb,
lib/trinitycrdriver.rb

Defined Under Namespace

Modules: TrinityDriver Classes: Optimisation

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.run_trin_standalone(input_file) ⇒ Object



14
15
16
17
18
19
20
# File 'lib/trinitycrdriver.rb', line 14

def self.run_trin_standalone(input_file)
  require 'mpi'
  MPI.Init
  obj = CodeRunner::Trinity.new
  obj.run_trinity(input_file, MPI::Comm::WORLD)
  MPI.Finalize
end

Instance Method Details

#executeObject



35
36
37
38
39
40
41
42
# File 'lib/trinitycrdriver.rb', line 35

def execute
  if rcp.delay_execution
     eputs 'Delaying execution...'
    return
  else
    execute_actual
  end
end

#execute_actualObject



43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
# File 'lib/trinitycrdriver.rb', line 43

def execute_actual
  Dir.chdir(@directory){
    if rcp.mpi_communicator?
      start_mpi = false
      mpicomm = rcp.mpi_communicator
    else
      start_mpi = true
      MPI.Init
      mpicomm = MPI::Comm::WORLD
      puts ["INITIALISED MPI", mpicomm.size ]
    end
    run_trinity(@run_name + ".trin", mpicomm)
    if start_mpi
      MPI.Finalize
    end

  }
end

#queue_statusObject



32
33
34
# File 'lib/trinitycrdriver.rb', line 32

def queue_status
  ""
end