def __init__(self, input=None, formule_extraction=None, calculer_vecteur_normal=False, normals_aux_cellules=False): #initialisation de la classe parente attributs = locals().copy() del attributs['self'] ObjetPyturbo.__init__(self, **attributs) # initialisation particuliere self._mettre_a_jour = True
def __init__(self, nom=None, RefAero=RefAero(), Maillage = Maillage(), omega_par_blocs=[29210. * numpy.pi/30.] * 18 + [0.0] * 7, timestep=0.0, itime=None, inititer=None, _vtkDataObject=None): attributs = locals().copy() del attributs['self'] #initialisation de la classe parente ObjetPyturbo.__init__(self, **attributs)
def __init__(self, input=None, acces_fichier=None, fmt_fichier='bin', precision='i4r8', endian='big', ecrire_maillage=False, donnees_aux_cellules = False, numbloc=1): attributs = locals().copy() del attributs['self'] #initialisation de la classe parente ObjetPyturbo.__init__(self, **attributs)
def __init__(self, maillage, liste_acces_fichiers, liste_numblocs, liste_frontieres, liste_directions=[], dict_fenetres_blocs={}, liste_dossiers = None, ): #Initialisation de la classe parente attributs = locals().copy() del attributs['self'] ObjetPyturbo.__init__(self, **attributs) #Coefficients de Fourier coeffs_a = None coeffs_b = None #lecture des fichiers chorochroniques si le dictionnaire de description des frontieres a ete renseigne self.update()
def __init__( self, fmt_fichier="bin", precision="i4r8", endian="big", acces_fichier=None, compter_saut_de_ligne=False, decalage_numbloc_lus=0, assembler_vecteurs=True, traitement_non_numeros=False, seulement_les_numeros=None, ): attributs = locals().copy() del attributs["self"] self._mettre_a_jour = True # initialisation de la classe parente ObjetPyturbo.__init__(self, **attributs) # sortie du lecteur self.output = None
def __init__(self, input=None, acces_fichier=None): attributs = locals().copy() del attributs['self'] #initialisation de la classe parente ObjetPyturbo.__init__(self, **attributs)
def __init__(self, input=None, a_calculer = None, nom_resultat = None, RefAero=RefAero(), \ momentumRelativeFormulation=True, \ keepIntermediateVariables=False, hubFileName = "/media/FreeAgent GoFlex Drive/DATA_PI4/hub", tipFileName = "/media/FreeAgent GoFlex Drive/DATA_PI4/shroud", use_cell_data = False, ): """fonction d'initialisation c'est ici qu'est defini le dictionnaire contenant les formules pour le calcul des grandeurs les noms des arrays a utiliser sont aussi definis - vitesse - moment cinetique - masse volumique - vitesse de rotation - etc... """ #initialisation de la classe parente attributs = locals().copy() del attributs['self'] ObjetPyturbo.__init__(self, **attributs) # initialisation particuliere self._mettre_a_jour = True #definition des noms qui vont etre utilises pour le calcul # ils peuvent etre changes par l'utilisateur self.densityArrayName = 'ro' self.totalEnergyPerUnitOfVolumeArrayName = 'roe' self.momentumArrayName = 'momentum' self.omegaArrayName = 'omega' self.relativeVelocityArrayName = 'vrel' self.absoluteVelocityArrayName = 'vabs' self.absoluteCineticEnergyArrayName = 'ecin' self.relativeCineticEnergyArrayName = 'ecinrel' self.internalEnergyArrayName = 'e_interne' self.staticTemperatureArrayName = 'ts' self.absoluteTotalTemperatureArrayName = 'tt' self.relativeTotalTemperatureArrayName = 'ttrel' self.staticPressureArrayName = 'ps' self.absoluteTotalPressureArrayName = 'pt' self.relativeTotalPressureArrayName = 'ptrel' self.absoluteMachNumberArrayName = 'mabs' self.relativeMachNumberArrayName = 'mrel' self.entropyArrayName = 's' self.radialCoordinateArrayName = 'coordr' self.angularCoordinateArrayName = 'coordtheta' self.radialUnitVectorArrayName = 'er' self.angularUnitVectorArrayName = 'etheta' self.yZRelativeAngleArrayName = 'alphaYZrel' self.yZAbsoluteAngleArrayName = 'alphaYZabs' self.xRelativeAngleArrayName = 'alphaXrel' self.xAbsoluteAngleArrayName = 'alphaXabs' self.AbsoluteMeridionalAngleArrayName = 'alpha_m' self.RelativeMeridionalAngleArrayName = 'alpha_m_rel' self.dictionnaire_des_formules = { 'RelativeVelocity': [ {'omega': self.omegaArrayName, 'ro': self.densityArrayName, 'momentum': self.momentumArrayName}, 'momentum * 1 / ro' if self.momentumRelativeFormulation else 'momentum * 1 / ro + omega * coordz * {0} * jHat - omega * coordy * {0} * kHat' .format(self.RefAero.l_ref), self.relativeVelocityArrayName], 'AbsoluteVelocity': [ {'omega': self.omegaArrayName, 'ro': self.densityArrayName, 'momentum': self.momentumArrayName}, 'momentum * 1 / ro - omega * coordz * {0} * jHat + omega * coordy * {0} * kHat' .format(self.RefAero.l_ref) if self.momentumRelativeFormulation else 'momentum * 1 / ro', self.absoluteVelocityArrayName], 'AbsoluteCineticEnergy': [ {'vabs': self.absoluteVelocityArrayName}, 'vabs . vabs * 1 / 2', self.absoluteCineticEnergyArrayName], 'RelativeCineticEnergy': [ {'vrel': self.relativeVelocityArrayName}, 'vrel . vrel * 1 / 2', self.relativeCineticEnergyArrayName], 'InternalEnergy': [ {'ro': self.densityArrayName, 'roEt': self.totalEnergyPerUnitOfVolumeArrayName, 'ecin': self.relativeCineticEnergyArrayName if self.momentumRelativeFormulation \ else self.absoluteCineticEnergyArrayName}, 'roEt / ro - ecin', self.internalEnergyArrayName], 'StaticTemperature': [ {'e_interne': self.internalEnergyArrayName}, 'e_interne * ({0} - 1) / {1}'.format(self.RefAero.gamma_ref, self.RefAero.r_gaz_ref), self.staticTemperatureArrayName], 'AbsoluteTotalTemperature': [ {'ts': self.staticTemperatureArrayName, 'ecin': self.absoluteCineticEnergyArrayName}, 'ts + ecin * ( {0} - 1) / ( {0} * {1} )'.format(self.RefAero.gamma_ref, self.RefAero.r_gaz_ref), self.absoluteTotalTemperatureArrayName], 'RelativeTotalTemperature': [ {'ts': self.staticTemperatureArrayName, 'ecinrel': self.relativeCineticEnergyArrayName}, 'ts + ecinrel * ( {0} - 1) / ( {0} * {1} )'.format(self.RefAero.gamma_ref, self.RefAero.r_gaz_ref), self.relativeTotalTemperatureArrayName], 'StaticPressure': [ {'ro': self.densityArrayName, 'ts': self.staticTemperatureArrayName}, 'ro * {0} * ts'.format(self.RefAero.r_gaz_ref), self.staticPressureArrayName], 'AbsoluteTotalPressure': [ {'ps': self.staticPressureArrayName, 'tt': self.absoluteTotalTemperatureArrayName, 'ts': self.staticTemperatureArrayName}, 'ps * (tt / ts) ^ ({0} / ({0} - 1))'.format(self.RefAero.gamma_ref), self.absoluteTotalPressureArrayName], 'RelativeTotalPressure': [ {'ps': self.staticPressureArrayName, 'ttrel': self.relativeTotalTemperatureArrayName, 'ts': self.staticTemperatureArrayName}, 'ps * (ttrel / ts) ^ ({0} / ({0} - 1))'.format(self.RefAero.gamma_ref), self.relativeTotalPressureArrayName], 'AbsoluteMachNumber': [ {'ts': self.staticTemperatureArrayName, 'vabs': self.absoluteVelocityArrayName}, 'mag(vabs) / sqrt({0} * {1} * ts)'.format(self.RefAero.gamma_ref, self.RefAero.r_gaz_ref), self.absoluteMachNumberArrayName], 'RelativeMachNumber': [ {'ts': self.staticTemperatureArrayName, 'vrel': self.relativeVelocityArrayName}, 'mag(vrel) / sqrt({0} * {1} * ts)'.format(self.RefAero.gamma_ref, self.RefAero.r_gaz_ref), self.relativeMachNumberArrayName], 'Entropy': [ {'ts': self.staticTemperatureArrayName, 'ps': self.staticPressureArrayName}, '{0} * {1} / ({0} - 1) * ln(ts / {2}) - {1} * ln(ps / {3})' .format(self.RefAero.gamma_ref, self.RefAero.r_gaz_ref, self.RefAero.t_ref, self.RefAero.p_ref), self.entropyArrayName], 'RadialCoordinate': [ {}, 'sqrt(coordy ^ 2 + coordz ^ 2)', self.radialCoordinateArrayName], 'AngularCoordinate': [ {'coordr': self.radialCoordinateArrayName}, 'acos(coordy / coordr) * coordz / abs(coordz) + 2 * acos(-1.0) * (1 - coordz / abs(coordz))/2.0', self.angularCoordinateArrayName], 'RadialUnitVector': [ {'coordtheta': self.angularCoordinateArrayName}, 'cos(coordtheta) * jHat + sin(coordtheta) * kHat', self.radialUnitVectorArrayName], 'AngularUnitVector': [ {'coordtheta': self.angularCoordinateArrayName}, '-sin(coordtheta) * jHat + cos(coordtheta) * kHat', self.angularUnitVectorArrayName], 'YZRelativeAngle': [ { 'coordtheta': self.angularCoordinateArrayName, 'vrel': self.relativeVelocityArrayName, 'er': self.radialUnitVectorArrayName, 'etheta': self.angularUnitVectorArrayName}, 'acos( (vrel . er) / mag(vrel) ) * sign(vrel . etheta) * 90.0 / acos(0.0)', self.yZRelativeAngleArrayName], 'YZAbsoluteAngle': [ { 'coordtheta': self.angularCoordinateArrayName, 'vabs': self.absoluteVelocityArrayName, 'er': self.radialUnitVectorArrayName, 'etheta': self.angularUnitVectorArrayName}, 'acos( (vabs . er) / mag(vabs) ) * sign(vabs . etheta) * 90.0 / acos(0.0)', self.yZAbsoluteAngleArrayName], 'XRelativeAngle': [ { 'vrel': self.relativeVelocityArrayName, 'er': self.radialUnitVectorArrayName}, 'acos( (vrel - (vrel . er) * er) . iHat / mag((vrel - (vrel . er) * er)) ) * sign((vrel - (vrel . er) * er) . jHat) * 90.0 / acos(0.0)', self.xRelativeAngleArrayName], 'XAbsoluteAngle': [ { 'vabs': self.absoluteVelocityArrayName, 'er': self.radialUnitVectorArrayName, 'etheta': self.angularUnitVectorArrayName}, 'acos(((vabs - (vabs . er) * er) . iHat)/ mag(vabs - (vabs . er) * er)) * sign((vabs - (vabs . er) * er) . etheta) * 90.0 / acos(0.0)', self.xAbsoluteAngleArrayName], 'XCoordinate': [ {}, 'coordx', 'coordx'], 'YCoordinate': [ {}, 'coordy', 'coordy'], 'ZCoordinate': [ {}, 'coordz', 'coordz'], 'UVParametrization_RelativeMeridionalAbscissa': [ {}, 'UVParametrization', 'xm'], 'UVParametrization_hsH': [ {}, 'UVParametrization', 'hsH'], 'gradPs_adv': [ { 'vabs': self.absoluteVelocityArrayName, 'grad(ps)': 'grad(' + self.staticPressureArrayName + ')' }, 'grad(ps).vabs/mag(vabs)', 'gradPs_adv'], 'angle_meridien_absolu': [ { 'vabs': self.absoluteVelocityArrayName, 'er': self.radialUnitVectorArrayName, 'etheta': self.angularUnitVectorArrayName }, 'acos( mag(vabs - (vabs.etheta) * etheta) / mag(vabs) ) * sign(vabs . etheta) * 90.0 / acos(0.0)', self.AbsoluteMeridionalAngleArrayName], 'angle_meridien_relatif': [ { 'vrel': self.absoluteVelocityArrayName, 'er': self.radialUnitVectorArrayName, 'etheta': self.angularUnitVectorArrayName }, 'acos( mag(vrel - (vrel.etheta) * etheta) / mag(vrel) ) * sign(vrel . etheta) * 90.0 / acos(0.0)', self.RelativeMeridionalAngleArrayName], #'Q_criterion': [ #{}, #'Q_criterion', #'Q_criterion'],