Source code for RCAIDE.Library.Methods.Aerodynamics.Athena_Vortex_Lattice.write_avl_airfoil_file

# RCAIDE/Library/Methods/Aerodynamics/Athena_Vortex_Lattice/write_avl_airfoil_file.py
#
# Created: Oct 2024, M. Clarke

# ----------------------------------------------------------------------------------------------------------------------
#  IMPORT
# ----------------------------------------------------------------------------------------------------------------------

# RCAIDE 
from RCAIDE.Library.Methods.Aerodynamics.Athena_Vortex_Lattice.purge_files  import purge_files
from RCAIDE.Library.Methods.Geometry.Airfoil.import_airfoil_geometry        import import_airfoil_geometry 

# python imports
import os

# ----------------------------------------------------------------------------------------------------------------------
#  write_avl_airfoil_file
# ---------------------------------------------------------------------------------------------------------------------- 
[docs] def write_avl_airfoil_file(rcaide_airfoil_filename): """ This function writes the standard airfoil file format from Airfoil tools to avl file format Assumptions: None Source: Inputs: filename Outputs: airfoil.dat Properties Used: N/A """ # unpack avl_inputs avl_airfoil_filename = rcaide_airfoil_filename.split(".")[-2].split("/")[-1] + '.dat' # purge file purge_files([avl_airfoil_filename]) # read airfoil file header origin = os.getcwd() os_path = os.path.split(origin)[0] f_path = rcaide_airfoil_filename f = open(f_path) data_block = f.readlines() f.close() airfoil_name = data_block[0].strip() # import airfoil coordinates airfoil_geometry_data = import_airfoil_geometry(f_path) dim = len(airfoil_geometry_data.x_coordinates) # write file with open(avl_airfoil_filename,'w') as afile: afile.write(airfoil_name + "\n") for i in range(dim - 1): if i == int(dim/2): pass elif airfoil_geometry_data.y_coordinates[i] < 0.0: case_text = '\t' + format(airfoil_geometry_data.x_coordinates[i], '.7f')+ " " + format(airfoil_geometry_data.y_coordinates[i], '.7f') + "\n" afile.write(case_text) else: case_text = '\t' + format(airfoil_geometry_data.x_coordinates[i], '.7f')+ " " + format(airfoil_geometry_data.y_coordinates[i], '.7f') + "\n" afile.write(case_text) afile.close() return avl_airfoil_filename