Example #1
0
 def test_Wing_param_update(self):
     OC = self.__init_OC()
     wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
     wing_param.build_wing()
     wing_param.set_value('span', 34.1)
     wing_param.set_value('sweep', 32.)
     wing_param.set_value('break_percent', 33.)
     wing_param.set_value('root_chord', 6.1)
     wing_param.set_value('break_chord', 4.6)
     wing_param.set_value('tip_chord', 1.5)
     wing_param.set_value('root_height', 1.28)
     wing_param.set_value('break_height', 0.97)
     wing_param.set_value('tip_height', 0.33)
     wing_param.convert_to_design_variable('span', (10., 50.))
     wing_param.convert_to_design_variable('sweep', (0., 40.))
     wing_param.convert_to_design_variable('break_percent', (20., 40.))
     wing_param.convert_to_design_variable('root_chord', (5., 7.))
     wing_param.convert_to_design_variable('break_chord', (3., 5.))
     wing_param.convert_to_design_variable('tip_chord', (1., 2.))
     wing_param.convert_to_design_variable('root_height', (1., 1.5))
     wing_param.convert_to_design_variable('break_height', (0.8, 1.2))
     wing_param.convert_to_design_variable('tip_height', (0.2, 0.5))
     wing_param.build_linear_airfoil(OC,
                                     AoA0=-2.,
                                     Cm0=-0.1,
                                     set_as_ref=True)
     wing_param.build_airfoils_from_ref()
     try:
         wing_param.update()
         ok = True
     except:
         ok = False
     assert (ok)
Example #2
0
 def test_Wing_param_convert(self):
     wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
     wing_param.build_wing()
     wing_param.set_value('span', 34.1)
     wing_param.set_value('sweep', 32.)
     wing_param.set_value('break_percent', 33.)
     wing_param.set_value('root_chord', 6.1)
     wing_param.set_value('break_chord', 4.6)
     wing_param.set_value('tip_chord', 1.5)
     wing_param.set_value('root_height', 1.28)
     wing_param.set_value('break_height', 0.97)
     wing_param.set_value('tip_height', 0.33)
     try:
         wing_param.convert_to_design_variable('span', (10., 50.))
         wing_param.convert_to_design_variable('sweep', (0., 40.))
         wing_param.convert_to_design_variable('break_percent', (20., 40.))
         wing_param.convert_to_design_variable('root_chord', (5., 7.))
         wing_param.convert_to_design_variable('break_chord', (3., 5.))
         wing_param.convert_to_design_variable('tip_chord', (1., 2.))
         wing_param.convert_to_design_variable('root_height', (1., 1.5))
         wing_param.convert_to_design_variable('break_height', (0.8, 1.2))
         wing_param.convert_to_design_variable('tip_height', (0.2, 0.5))
         ok = True
     except:
         ok = False
     assert (ok)
Example #3
0
 def __init_wing_param(self):
     OC=OperatingCondition('cond1')
     OC.set_Mach(0.8)
     OC.set_AoA(3.5)
     OC.set_altitude(10000.)
     OC.set_T0_deg(15.)
     OC.set_P0(101325.)
     OC.set_humidity(0.)
     OC.compute_atmosphere()
     
     wing_param=Wing_param('test_param',geom_type='Broken',n_sect=20)
     wing_param.build_wing()
     wing_param.set_value('span',34.1)
     wing_param.set_value('sweep',34.)
     wing_param.set_value('break_percent',33.)
     wing_param.set_value('root_chord',6.1)
     wing_param.set_value('break_chord',4.6)
     wing_param.set_value('tip_chord',1.5)
     wing_param.set_value('root_height',1.28)
     wing_param.set_value('break_height',0.97)
     wing_param.set_value('tip_height',0.33)
     wing_param.convert_to_design_variable('span',(10.,50.))
     wing_param.convert_to_design_variable('sweep',(0.,40.))
     wing_param.convert_to_design_variable('break_percent',(20.,40.))
     wing_param.convert_to_design_variable('root_chord',(5.,7.))
     wing_param.convert_to_design_variable('break_chord',(3.,5.))
     wing_param.convert_to_design_variable('tip_chord',(1.,2.))
     wing_param.convert_to_design_variable('root_height',(1.,1.5))
     wing_param.convert_to_design_variable('break_height',(0.8,1.2))
     wing_param.convert_to_design_variable('tip_height',(0.2,0.5))
     wing_param.build_linear_airfoil(OC, AoA0=-2., Cm0=-0.1, set_as_ref=True)
     wing_param.build_airfoils_from_ref()
     wing_param.update()
     
     return OC,wing_param
Example #4
0
 def test_Wing_param_build_wing(self):
     wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
     try:
         wing_param.build_wing()
         ok = True
     except:
         ok = False
     assert (ok)
Example #5
0
 def __config_param(self):
     input_keys=self.__config_dict.keys()
     
     geom_type_key=self.__tag+'.param.geom_type'
     if geom_type_key in input_keys:
         geom_type = self.__config_dict[geom_type_key]
     else:
         geom_type= 'Broken'
         
     n_sect_key=self.__tag+'.param.n_sect'
     if n_sect_key in input_keys:
         n_sect = self.__config_dict[n_sect_key]
     else:
         n_sect = 20
         
     self.__wing_param = Wing_param(self.__tag+'.param',geom_type=geom_type,n_sect=n_sect)
     self.__wing_param.set_AoA_id(self.__AoA_id)
     self.__wing_param.config_from_dict(self.__OC, self.__config_dict)
Example #6
0
    def __init_wing_param(self):
        OC = OperatingCondition('cond1')
        OC.set_Mach(0.8)
        OC.set_AoA(3.5)
        OC.set_altitude(10000.)
        OC.set_T0_deg(15.)
        OC.set_P0(101325.)
        OC.set_humidity(0.)
        OC.compute_atmosphere()

        wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
        wing_param.build_wing()
        wing_param.set_value('span', 34.1)
        wing_param.set_value('sweep', 34.)
        wing_param.set_value('break_percent', 33.)
        wing_param.set_value('root_chord', 6.1)
        wing_param.set_value('break_chord', 4.6)
        wing_param.set_value('tip_chord', 1.5)
        wing_param.set_value('root_height', 1.28)
        wing_param.set_value('break_height', 0.97)
        wing_param.set_value('tip_height', 0.33)
        wing_param.convert_to_design_variable('span', (10., 50.))
        wing_param.convert_to_design_variable('sweep', (0., 40.))
        wing_param.convert_to_design_variable('break_percent', (20., 40.))
        wing_param.convert_to_design_variable('root_chord', (5., 7.))
        wing_param.convert_to_design_variable('break_chord', (3., 5.))
        wing_param.convert_to_design_variable('tip_chord', (1., 2.))
        wing_param.convert_to_design_variable('root_height', (1., 1.5))
        wing_param.convert_to_design_variable('break_height', (0.8, 1.2))
        wing_param.convert_to_design_variable('tip_height', (0.2, 0.5))
        wing_param.build_meta_airfoil(OC,
                                      '../examples/MetaModelFixed.xml',
                                      relative_thickness=.12,
                                      camber=0.,
                                      Sref=1.,
                                      Lref=1.,
                                      sweep=.0,
                                      set_as_ref=True)
        wing_param.build_airfoils_from_ref()
        wing_param.update()

        return OC, wing_param
Example #7
0
 def test_Wing_param_set_value(self):
     """
     test set value for Wing_param
     """
     wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
     wing_param.build_wing()
     try:
         wing_param.set_value('span', 34.1)
         wing_param.set_value('sweep', 32.)
         wing_param.set_value('break_percent', 33.)
         wing_param.set_value('root_chord', 6.1)
         wing_param.set_value('break_chord', 4.6)
         wing_param.set_value('tip_chord', 1.5)
         wing_param.set_value('root_height', 1.28)
         wing_param.set_value('break_height', 0.97)
         wing_param.set_value('tip_height', 0.33)
         ok = True
     except:
         ok = False
     assert (ok)
#
from DLLM.DLLMGeom.wing_param import Wing_param
from MDOTools.OC.operating_condition import OperatingCondition
import numpy
import string

OC=OperatingCondition('cond1')

OC.set_altitude(3000.)
OC.set_T0_deg(15.)
OC.set_P0(101325.)
OC.set_humidity(0.)

nsect=50

wing_param=Wing_param('test_param',geom_type='Elliptic',n_sect=nsect)
wing_param.set_distrib_type('cos_law')
wing_param.build_wing()
wing_param.set_value('span',40.)
wing_param.set_value('root_chord',4.)
wing_param.set_value('root_height',0.0)
wing_param.set_value('tip_height',0.0)
wing_param.build_linear_airfoil(OC, AoA0=0., Cm0=-0.1, set_as_ref=True)
wing_param.build_airfoils_from_ref()
wing_param.update()

airfoils=wing_param.get_linked_airfoils()
Cla=airfoils[24].ClAlpha(0.0,0.3)

print "Cla=",Cla
Example #9
0
from MDOTools.ValidGrad.FDValidGrad import FDValidGrad
from DLLM.DLLMGeom.wing_param import Wing_param
from DLLM.DLLMKernel.DLLMSolver import DLLMSolver
from MDOTools.OC.operating_condition import OperatingCondition
import numpy

OC = OperatingCondition('cond1')
OC.set_Mach(0.8)
OC.set_AoA(3.5)
OC.set_altitude(10000.)
OC.set_T0_deg(15.)
OC.set_P0(101325.)
OC.set_humidity(0.)
OC.compute_atmosphere()

wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
wing_param.build_wing()
wing_param.set_value('span', 34.1)
wing_param.set_value('sweep', 34.)
wing_param.set_value('break_percent', 33.)
wing_param.set_value('root_chord', 6.1)
wing_param.set_value('break_chord', 4.6)
wing_param.set_value('tip_chord', 1.5)
wing_param.set_value('root_height', 1.28)
wing_param.set_value('break_height', 0.97)
wing_param.set_value('tip_height', 0.33)
wing_param.convert_to_design_variable('span', (0., 50.))
wing_param.convert_to_design_variable('sweep', (0., 40.))
wing_param.convert_to_design_variable('break_percent', (20., 40.))
wing_param.convert_to_design_variable('root_chord', (5., 7.))
wing_param.convert_to_design_variable('break_chord', (3., 5.))
Example #10
0
 def test_Wing_param_instantiation(self):
     """
     test class instantiation
     """
     wing_param = Wing_param('test_param', geom_type='Broken', n_sect=20)
     assert (wing_param is not None)
Example #11
0
OC = OperatingCondition('cond1')
#OC.set_Mach(0.8)
#OC.set_Mach(0.6)
#OC.set_AoA(3.5)
AoA_list = [float(xx) for xx in range(0, 10)]
AoA_list = [9.]
#Mach_list = [float(xx)/10. for xx in range(3, 9)]
Mach_list = [0.2]  #,0.6,0.8]

OC.set_altitude(10000.)
OC.set_T0_deg(15.)
OC.set_P0(101325.)
OC.set_humidity(0.)

wing_param = Wing_param('test_param', geom_type='Rectangular', n_sect=50)
wing_param.build_wing()
wing_param.set_value('span', 40.)
#wing_param.set_value('sweep',34.)
wing_param.set_value('sweep', 0.)
wing_param.set_value('root_chord', 1.0)
wing_param.set_value('root_height', 0.1)
wing_param.set_value('tip_height', 0.1)

wing_param.build_linear_airfoil(OC,
                                AoA0=0.,
                                Cm0=-0.1,
                                Ka=0.75,
                                set_as_ref=True)
#wing_param.build_meta_airfoil(OC, '../ONERA_D.xml', relative_thickness=.09, camber=0, Sref=1., Lref=1., sweep=.0, set_as_ref=True)
wing_param.build_airfoils_from_ref()