1
# Handle access to Psi scf module
6
# Mixin the InputGenerator
10
def initialize(task_obj)
12
# Set the generic command for this class
13
set_binary_command Psi::Commands::TRANSQT
17
# Add transqt ability to Task
23
# Create a new scf object
24
transqt_obj = Psi::TransQT.new self
26
# Form the input hash and generate the input file
29
# Check to see if the function arguments have the reference, if so use it, otherwise use
31
if args_hash == nil or args_hash.has_key?("reference") == false
32
input_hash["reference"] = reference
35
# Check the wavefunction
36
if args_hash == nil or args_hash.has_key?("wfn") == false
37
input_hash["wfn"] = wavefunction
40
# Are we doing a back transformation?
41
if args_hash != nil and args_hash.has_key?(:backtr) and args_hash[:backtr] == true
42
transqt_obj.set_binary_command Psi::Commands::BACKTRANSQT
44
args_hash.delete(:backtr) unless args_hash == nil
46
# Merge what we've done with what the user wants
47
input_hash = input_hash.merge(args_hash) unless args_hash == nil
49
# Run the scf module, sending the input file as keyboard input
51
transqt_obj.execute(input_hash)
56
# Create some global functions
57
# User can send additional input parameters to the function
61
Psi::global_task.transqt(args_hash)