adding kalman
This commit is contained in:
42
kalman/run_forward.py
Normal file
42
kalman/run_forward.py
Normal file
@@ -0,0 +1,42 @@
|
||||
''' Run a forward simulation.
|
||||
Detects FractionalStep and Hyperelasticity from input files.
|
||||
'''
|
||||
from dolfin import parameters
|
||||
import ruamel.yaml as yaml
|
||||
import argparse
|
||||
import logging
|
||||
logging.getLogger().setLevel(logging.INFO)
|
||||
|
||||
parameters['form_compiler']['optimize'] = True
|
||||
parameters['form_compiler']['cpp_optimize'] = True
|
||||
parameters['form_compiler']['cpp_optimize_flags'] = ('-O3 -ffast-math '
|
||||
'-march=native')
|
||||
|
||||
def get_forward_solver(inputfile):
|
||||
''' Get forward solver from input file '''
|
||||
with open(inputfile, 'r') as f:
|
||||
options = yaml.load(f)
|
||||
|
||||
if 'fluid' in options:
|
||||
from navierstokes import solver
|
||||
elif 'material' in options:
|
||||
parameters['form_compiler']['quadrature_degree'] = 6
|
||||
from hyperelasticity import solver
|
||||
|
||||
return solver
|
||||
|
||||
|
||||
def get_parser():
|
||||
parser = argparse.ArgumentParser(
|
||||
description='Run forward simulation',
|
||||
formatter_class=argparse.RawDescriptionHelpFormatter)
|
||||
parser.add_argument('inputfile', type=str, help='path to YAML input file')
|
||||
return parser
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
inputfile = get_parser().parse_args().inputfile
|
||||
|
||||
solver = get_forward_solver(inputfile)
|
||||
sol = solver.init(inputfile)
|
||||
sol.solve()
|
Reference in New Issue
Block a user