Closed velazquezr35 closed 2 years ago
En la próxima reunión se pueden discutir estos cambios,
Una idea más pulida de la única función a 'rescatar' de eigpp sería:
def rec_cases(fnc):
def inner(av_cases):
fnc(av_case for av_case in av_cases)
return inner
@rec_cases
def eigen_an(loc_case, dirs, **kwargs):
"""
Doc here
loc_case: str av file
dirs: dict, {s_path, s_p11_subdir, RSN, FCS, etc.}
"""
loc_sim = sim()
loc_sim.name = case_tag(case_type='R',case_vel = loc_case[-4:], vel_otp ='.')
loc_sim.fName = case_tag(case_type='R',case_vel = loc_case[-4:])
loc_sim.descr = 'v_\infty =' + case_tag(case_vel = loc_case[-4:], vel_otp ='.') +'\, ft/s'
loc_sim.stru.nodes = [200000, 200001]
loc_sim.stru.intLabOffset = 6 #NO OLVIDAR
loc_sim.stru.sti = np.array([127300,127300,127300,221448514,221448514,221448514,0,0,0,0,0,0])
loc_sim.stru.p11FN = 'pcolgante.@1' #binary .p11 fname
loc_sim.stru = rd_u(loc_sim.stru, **{'subDir_P11':dirs['r_path']+dirs['r_p11_subdir']+loc_case+'/'})
loc_sim.stru.rsnDe= 'pcolgante'
loc_sim.stru = rd_rsn_De(loc_sim.stru, **{'subDir_RSN':dirs['r_path']+dirs['r_RSN_subdir']})
loc_sim.stru = rd_u(loc_sim.stru, **{'subDir_P11':dirs['r_path']+dirs['r_p11_subdir']+loc_case+'/'})
if dirs['r_FCS_fname'] in lst_av_dirs(dirs['r_path']+dirs['r_p11_subdir']+loc_case+'/'):
loc_sim.stru.loadsFN = dirs['r_FCS_fname'][:-4]
loc_sim.stru = ae_Ftable(loc_sim.stru,**{'subDir_FCS':dirs['r_path'] + dirs['r_p11_subdir']+loc_case+'/'})
print('FCS file analized', loc_case)
else:
print('FCS file not found, case:', loc_case)
# D - M DEC
loc_sim.stru = modalDecomp(loc_sim.stru, **{'subDir_BIN':dirs['bin_path']})
# F - W
# loc_sim.stru = loads_w(loc_sim.stru)
# loc_sim.stru = modal_w(loc_sim.stru)
#SAVE
svBin(loc_sim, **{'subDir_BIN': ['bin_path']})
return None
Lo anterior se implementó correctamente en sim_db
y es funcional.
Elimino eigpp
.
Profe,
Abro este issue para dejar nota del proceso de organización y limpieza del archivo
eigpp
y discutir los cambios.Creo que las funciones que están en el archivo (última versión en el repo) están 'obsoletas'. Voy por partes:
1) rd_data:
Lo anterior es obsoleto en el sentido de que con los últimos enfoques, inicialmente se genera la info y se la exporta (
svBin
) y luego para 'leer', directamente se trae elcase
del binario (rdBin
).Lo mismo aplica para el sector de cargas:
2) Luego, hay un sector del archivo comentado, que es una definición inicial de la parte de
modalDecomp
, actualmente implementada y funcional ensim_db
.3) Finalmente, hay una función llamada epp(case, kwargs), la cual generaba el análisis eigen inicialmente. Actualmente esto se hace en un par de líneas dentro del archivo
análisis.py
, por lo que podría implementarse algo con un nombre similar y que lo haga, pero descartando la original:E implementar en
sim_db
algo similar a:Lo anterior NO funciona, es sólo una idea con copy-paste de lo que hay en el archivo de análisis. La implementaría para un caso único y con un decorador
@repetir
o algo, pasarla múltiples veces sobre el listado de archivos disponibles.No hay más en
eigpp
. Creo que puede eliminarse directamente, conservando esto. Estaré implementando lo anterior ensim_db
.Mantengo al tanto las novedades. Pronto abriré una nueva branch con estos cambios.
RR