Raw File
#!/usr/bin/env python
# -*- coding: utf-8 -*-

# ======================================================================================================
# SLALOM - Open-Source Solar Cell Multivariate Optimizer
# Copyright(C) 2012-2019 Sidi OULD SAAD HAMADY (1,2,*), Nicolas FRESSENGEAS (1,2). All rights reserved.
# (1) Université de Lorraine, Laboratoire Matériaux Optiques, Photonique et Systèmes, Metz, F-57070, France
# (2) Laboratoire Matériaux Optiques, Photonique et Systèmes, CentraleSupélec, Université Paris-Saclay, Metz, F-57070, France
# (*) sidi.hamady@univ-lorraine.fr
# SLALOM source code is available to download from:
# https://github.com/sidihamady/SLALOM
# https://hal.archives-ouvertes.fr/hal-01897934
# http://www.hamady.org/photovoltaics/slalom_source.zip
# Cite as: S Ould Saad Hamady and N Fressengeas, EPJ Photovoltaics, 9:13, 2018.
# See Copyright Notice in COPYRIGHT
# ======================================================================================================

# ------------------------------------------------------------------------------------------------------
# File:           slalomMonitor.py
# Type:           Module
# Use:            slalomMonitor can be used to the monitor the optimizer...
#                  ... either in client/server configuration using ssh...
#                  ... or locally if it runs on the same machine than the optimizer.
#                 slalomMonitor uses the slalomWindow class that provide...
#                  ... visualisation and control functionality.
#                 To use slalomMonitor from the console type one of...
#                  ...the following commands:
#                   python slalomMonitor.py filename_fullpath remote_ssh simulator_name
#                   python slalomMonitor.py filename_fullpath remote_ssh
#                   python slalomMonitor.py filename_fullpath
#                   python slalomMonitor.py
#                   The parameters can be set later within the monitor window.
#                 slalomMonitor can be automatically started...
#                  ... if the enableMonitor variable in the driver (slalom.py)...
#                  ... is set to True
# ------------------------------------------------------------------------------------------------------

from slalomWindow import *

# disable the standard output buffering
sys.stdout = UnbufferedStdout(sys.stdout)

strOptimizedFilename = None

# set remoteSSHhost to None to monitor locally, or something like "user@remoteserver"
# to monitor optimization on the a remote server.
# the ssh connexion should use auth keys, not password, for security reasons
remoteSSHhost = None

# the used backend solar cell simulator.
# by default set to "atlas", the simulator from Silvaco(r) company,...
# ... or "tibercad", the simulator from TiberLAB(r)
deviceSimulator = "atlas"

# get the data filename if given at the command line
if len(sys.argv) >= 2:
    strOptimizedFilename = sys.argv[1]
# end if

# get the SSH host if given at the command line...
# ... e.g. "user@remoteserver" (always using auth keys)
if len(sys.argv) >= 3:
    remoteSSHhost = sys.argv[2]
# end if

# get the solar cell simulator name
if len(sys.argv) >= 4:
    deviceSimulator = sys.argv[3]
# end if

# start the monitor
try:
    tMonitor = slalomWindow(dataFilename=strOptimizedFilename, remoteHost=remoteSSHhost, simulator=deviceSimulator)
except Exception as exc:
    print(str(exc))
    pass
# end try
back to top