class RotorAeroCode(Component): """ Wrapper for a code capable of predicting the distributed loads on a rotor """ pf = VarTree(BladePlanformVT(), iotype='in', desc='Blade geometric definition') inflow = VarTree(TurbineEnvironmentVT(), iotype='in', desc='Rotor inflow conditions') oper = VarTree(RotorOperationalData(), iotype='out', desc='Operational data') rotor_loads = VarTree(RotorLoadsVT(), iotype='out', desc='Rotor torque, power, and thrust') blade_loads = VarTree(DistributedLoadsExtVT(), iotype='out', desc='Spanwise load distributions') def execute(self): print 'perform analysis here'
class IECRunCaseBaseVT(VariableTree): case_name = Str( 'IEC_case', desc='Name of the specific case passed to the aeroelastic code') # This appears to be broken # simulation = VarTree(AeroElasticSimulationSetup(), desc='Basic simulation input settings') environment = VarTree(TurbineEnvironmentVT(), desc='Inflow conditions to the turbine simulation')
class IECRunCaseBaseVT(VariableTree): case_name = Str( 'IEC_case', desc='Name of the specific case passed to the aeroelastic code') simulation = VarTree( AeroElasticSimulationSetup(), desc='Basic simulation input settings' ) # 4/28/2015 kld: should move elsewhere but leaving in for debugging environment = VarTree(TurbineEnvironmentVT(), desc='Inflow conditions to the turbine simulation')
class RotorAeroBase(Component): """ Base class for models that can predict the power and thrust of wind turbine rotor for a single inflow case """ pf = VarTree(BladePlanformVT(), iotype='in', desc='Blade geometric definition') inflow = VarTree(TurbineEnvironmentVT(), iotype='in', desc='Rotor inflow conditions') oper = VarTree(RotorOperationalData(), iotype='out', desc='Operational data') rotor_loads = VarTree(RotorLoadsVT(), iotype='out', desc='Rotor torque, power, and thrust')
class RotorAero(Component): """ Class that extends the TurbineAeroBase with distributed blade loads for a single inflow case """ pf = VarTree(BladePlanformVT(), iotype='in', desc='Blade geometric definition') inflow = VarTree(TurbineEnvironmentVT(), iotype='in', desc='Rotor inflow conditions') oper = VarTree(RotorOperationalData(), iotype='out', desc='Operational data') rotor_loads = VarTree(RotorLoadsVT(), iotype='out', desc='Rotor torque, power, and thrust') blade_loads = VarTree(DistributedLoadsExtVT(), iotype='out', desc='Spanwise load distributions')
class AeroElasticSolverBase(Component): """ base class for aeroelastic solvers that computes both steady state aerodynamic loads and structural deflections in a monolithic analysis for a single case """ wt = VarTree(AeroelasticHAWTVT(), iotype='in', desc='Turbine definition') inflow = VarTree(TurbineEnvironmentVT(), iotype='in', desc='Inflow conditions') oper = VarTree(RotorOperationalData(), iotype='out', desc='Operational data') rotor_loads = VarTree(RotorLoadsVT(), iotype='out', desc='Rotor torque, power, and thrust') blade_loads = VarTree(DistributedLoadsVT(), iotype='out', desc='Spanwise load distributions') blade_disps = VarTree(BeamDisplacementsVT(), iotype='out', desc='Blade deflections and rotations')
class AEsolver(Component): wt = VarTree(AeroelasticHAWTVT(), iotype='in', desc='Turbine definition') inflow = VarTree(TurbineEnvironmentVT(), iotype='in', desc='Inflow conditions') oper = VarTree(RotorOperationalData(), iotype='out', desc='Operational data') rotor_loads = VarTree(RotorLoadsVT(), iotype='out', desc='Rotor torque, power, and thrust') blade_loads = VarTree(DistributedLoadsExtVT(), iotype='out', desc='Spanwise load distributions') blade_disps = VarTree(BeamDisplacementsVT(), iotype='out', desc='Blade deflections and rotations') def execute(self): print '' print 'running aeroelastic analysis ...'