コード例 #1
0
# design variable to change
i_DV = 9  # lower surface, half-chord

# design variable values
DV_vals = numpy.linspace(-0.02, 0.02, 11)

# setup config changes
config_delta = []
for X in DV_vals:
    DV_X = numpy.zeros(n_DV)
    DV_X[i_DV] = X
    config_delta.append({'VARIABLES': DV_X})

# -------------------------------------------------------------------
#  Run Project
# -------------------------------------------------------------------

# evaluate project (saves all design data in process)
design_new, _, _ = The_Project.evaluate(config_delta)

# save project
libSU2.save_data(project_filename, The_Project)

# save matlab data
if scipy_loaded:
    design_name_mat = os.path.splitext(design_filename)[0] + '.mat'
    libSU2.save_data(design_name_mat, design_new)

# done
print '\nDONE !'
コード例 #2
0
ファイル: rerun_project.py プロジェクト: ADTG-VSSC/SU2
# setup config changes
config_delta = []
for X in DV_vals:
    DV_X = numpy.zeros(n_DV)
    DV_X[i_DV] = X
    config_delta.append( {'VARIABLES':DV_X} )


# -------------------------------------------------------------------
#  Run Project
# -------------------------------------------------------------------    

# evaluate project (saves all design data in process)
design_new,_,_ = The_Project.evaluate(config_delta)

# save project
libSU2.save_data(project_filename,The_Project)

# save matlab data
if scipy_loaded:
    design_name_mat = os.path.splitext( design_filename )[0] + '.mat'
    libSU2.save_data(design_name_mat,design_new)

# done
print '\nDONE !'





コード例 #3
0
ファイル: pyopt_project.py プロジェクト: zhucer2003/SU2
# filenames
config_filename = 'config_NACA0012.cfg'  # SU2 config file
design_filename = 'design_NACA0012.pkl'  # design data (objectives,gradients,variables)
project_filename = 'project_NACA0012.pkl'  # project data (a class structure)
design_matname = os.path.splitext(design_filename)[0] + '.mat'

# load old project
if os.path.exists(project_filename):
    The_Project = libSU2.load_data(project_filename)
    The_Project.folder_self = os.getcwd()

# start new project
else:
    # new design data
    design_init = {'VARIABLES': [], 'OBJECTIVES': {}, 'GRADIENTS': {}}
    libSU2.save_data(design_filename, design_init)
    # start project
    The_Project = Project(config_name=config_filename,
                          design_name=design_filename)
#: if load/start project

# -------------------------------------------------------------------
#  Setup Optimizer
# -------------------------------------------------------------------

n_DV = len(The_Project.config_current['DEFINITION_DV']['KIND'])

# Initial guess
x0 = numpy.zeros(n_DV)

# Bounds
コード例 #4
0
ファイル: pyopt_project.py プロジェクト: ADTG-VSSC/SU2
design_filename  = 'design_NACA0012.pkl'  # design data (objectives,gradients,variables)
project_filename = 'project_NACA0012.pkl' # project data (a class structure)
design_matname   = os.path.splitext( design_filename )[0] + '.mat'

# load old project
if os.path.exists(project_filename):
    The_Project = libSU2.load_data(project_filename)
    The_Project.folder_self = os.getcwd()        

# start new project
else:
    # new design data
    design_init = { 'VARIABLES'  : [] ,
                    'OBJECTIVES' : {} ,
                    'GRADIENTS'  : {}  }
    libSU2.save_data(design_filename,design_init)
    # start project
    The_Project = Project( config_name = config_filename ,
                           design_name = design_filename  )        
#: if load/start project


# -------------------------------------------------------------------
#  Setup Optimizer
# -------------------------------------------------------------------     

n_DV = len( The_Project.config_current['DEFINITION_DV']['KIND'] )

# Initial guess
x0    = numpy.zeros(n_DV)