Skip to content

Commit

Permalink
0512
Browse files Browse the repository at this point in the history
  • Loading branch information
tian50 committed May 12, 2021
1 parent a6c687d commit 60eb6f2
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 12 deletions.
35 changes: 23 additions & 12 deletions msgpi/analysis.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@
import subprocess as sbp

import msgpi.logger as mlog
import msgpi.timer as mtime
# import msgpi.timer as mtime
import msgpi.presg as psg
import msgpi.io.iosc as miosc
import msgpi.io.iovabs as miovabs
import msgpi.utils as utils


def solve(sg_xml, analysis, ppcmd, solver, timeout=30, scrnout=True, logger=None):
def solve(sg_xml, analysis, ppcmd, solver, timeout=30, scrnout=True, logger=None, timer=None):
"""Solve
Parameters
Expand Down Expand Up @@ -40,40 +40,51 @@ def solve(sg_xml, analysis, ppcmd, solver, timeout=30, scrnout=True, logger=None

# Preprocess
logger.info('preprocessing...')
# t.start()

if timer:
timer.start()
sg_in, smdim = psg.preSG(
sg_xml, analysis, ppcmd, solver,
timeout=timeout, scrnout=scrnout, logger=logger
)
# t.stop()
if timer:
timer.stop()

# Solve
logger.info('running analysis...')
# t.start()
if timer:
timer.start()
run(sg_in, analysis, solver, smdim, scrnout, logger=logger)
# t.stop()
if timer:
timer.stop()

# Parse results
# print(' - reading results...')
logger.info('reading results...')
# t.start()
if timer:
timer.start()
if analysis == 'h':
if solver == 'vabs':
sm = miovabs.readVABSOutHomo(sg_in + '.K')
# t.stop()
if timer:
timer.stop()
elif solver == 'swiftcomp':
sm = miosc.readSCOutHomo(sg_in + '.k', smdim)
# t.stop()
if timer:
timer.stop()
return sm
elif analysis == 'd':
# t.stop()
if timer:
timer.stop()
pass
elif 'f' in analysis:
results = miosc.readSCOutFailure(sg_in, analysis)
# t.stop()
if timer:
timer.stop()
return results

# t.stop()
if timer:
timer.stop()



Expand Down
2 changes: 2 additions & 0 deletions msgpi/timer.py
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ def __init__(self, name=None, text='Elapsed time {:0.4f} seconds', logger=print)
self.name = name
self.text = text
self.logger = logger
self.records = []

if name:
self.timers.setdefault(name, 0)
Expand All @@ -29,6 +30,7 @@ def stop(self):
self.logger(self.text.format(elapsed_time))
if self.name:
self.timers[self.name] += elapsed_time
self.records.append(elapsed_time)

return elapsed_time

Expand Down

0 comments on commit 60eb6f2

Please sign in to comment.