65 lines
1.6 KiB
Python
65 lines
1.6 KiB
Python
################################################################
|
|
#
|
|
# Workspace
|
|
#
|
|
################################################################
|
|
|
|
# Import modules here
|
|
from __future__ import print_function
|
|
import numpy as np
|
|
import sys
|
|
from fenics import *
|
|
import glob
|
|
from unwrapper import Unwrapper
|
|
|
|
def read_parameters(infile):
|
|
''' Read in parameters yaml file.
|
|
|
|
Args:
|
|
infile path to yaml file
|
|
|
|
Return:
|
|
prms parameters dictionary
|
|
'''
|
|
import ruamel.yaml as yaml
|
|
with open(infile, 'r+') as f:
|
|
prms = yaml.load(f, Loader=yaml.Loader)
|
|
return prms
|
|
|
|
def getfiles(path):
|
|
#get the velocities from the input files
|
|
files = glob.glob(path + '/**/[0-9]*/u.h5', recursive=True)
|
|
if files == []:
|
|
files = glob.glob(path + 'u[0-9]*.h5', recursive=True)
|
|
files.sort(key=lambda f: int(''.join(filter(str.isdigit, f))))
|
|
return files
|
|
|
|
def ROUTINES(options):
|
|
'''
|
|
|
|
All the process activated in the input file should be coded here
|
|
|
|
'''
|
|
#unwrap from filenames for h5 files:
|
|
velocity_files = getfiles(options['io']['in_file'])
|
|
unwrapper = Unwrapper(options)
|
|
unwrapper.unwrap(velocity_files)
|
|
|
|
#unwrap from numpy file:
|
|
#unwrapper.set_method('Laplacian')
|
|
#unwrapper.unwrap(options['io']['in_file'] + 'u.npy')
|
|
|
|
|
|
if __name__ == '__main__':
|
|
|
|
# This lines are necessary in order to read the input file as well of the 'read_parameters' function.
|
|
|
|
inputfile = sys.argv[1]
|
|
print('Found input file ' + inputfile)
|
|
|
|
# this part will be executed first and will call all the other process.
|
|
options = read_parameters(inputfile)
|
|
ROUTINES(options)
|
|
|
|
|