ACLEAR,ALL
! è stato conveniente traslare nell'origine prima di salvare)
ADELE,ALL,,,1
! Pulizia alla fine di ogni iterazione
! Definiamo un vettore che contiene gli angoli tra i due rettangoli che formano ciascuna soletta
! Torna utile in seguito
! *DIM,ANG,ARRAY,4 ! Bisogna definire il vettore ANG fuori dal ciclo do (riga 94)
ANG(i)=ANGLEK(A(i,1),10000+i,A(i,2))
*ENDDO
!********************************************************************
!******* Definizione della sezione ad omega per i correnti ********
!********************************************************************
! In virtù della simmetria, si definisce solo metà sezione
! poi la si ribalta e si fa il merging dei kp
TYPE,1 ! Attiva elemento mesh200
CSYS,0 ! Torniamo nel sistema base e spostiamo il WP per definire in
WPCSYS,-1,0 ! maniera corretta i tre rettangoli che costituiscono la sezione
WPOFFS,0,OM3*SIN(45)
RECTNG,-OM2*2,0,0,OMT ! Primo
rettangolo (quello superiore). I tre rettangoli vengono costruiti
WPOFFS,-OM2 ! con una lunghezza maggiore del necessario, dopo la partizione vengono
WPROTAT,45 ! eliminate le aree superflue
RECTNG,-4*OM3,OM3,0,OMT ! Secondo
rettangolo (quello inclinato)
WPOFFS,-OM3
WPROTAT,-45
RECTNG,-OM1,OM1,0,OMT ! Terzo
rettangolo (quello inferiore)
APTN,ALL ! Partizione
ADELE,5,8,1,1
! Eliminiamo tutte le aree non pertinenti
ARSYM,X,ALL ! Sfruttiamo la simmetria (rispetto a y) per ottenere tutta la sezione (la coordinata X nel
comando indica che le componenti X sono quelle che vengono modificate -vedere help-)
NUMMRG,KP ! Merging dei keypoints
ASEL,ALL ! Riselezioniamo tutto per discretizzare e salvare la sezione
LSLA,S ! Aggiunge le linee connesse alle aree attualmente selezionate
LESIZE,ALL,,,2 !
Divide in due le linee
AMESH,ALL ! Discretizza la sezione
SECWRITE,CORR,SECT,,1 ! Salva la
sezione custom
!********************************************************************
!***************** Costruzione ala ********************
!********************************************************************
ALLSEL ! Pulizia generale
ACLEAR,ALL
ADELE,ALL
LDELE,ALL
KDELE,ALL
CSYS,0
! Costruzione del profilo al root e divisione in sei aree:
! bordo d'attacco, bordo d'uscita e quattro regioni della stessa lunghezza
NACA4,4,4,12,C,100 ! Disegna il
profilo con la macro naca4
C_s=(1-(0.15+0.30))/4 ! Spaziatura
(normalizzata) tra le divisioni delle centine
AL,2,3 ! Costruiamo l'area compresa tra dorso e ventre
!AL,ldorso_,lventre_ ! è anche possibile utilizzare i nomi delle linee dorso
! e ventre forniti in output dalla macro naca4
*DO,i,0.15,0.70,C_s ! Ciclo per
effettuare quattro tagli equispaziati dell'area appena creata
LWPLAN,-1,4,i
! Sposta il WP lungo la corda nella posizione in cui effettuare il taglio
ASBW,ALL ! Taglio (avrà effetto solo sull'area che contiene il WP)
*ENDDO
! Al posto del ciclo avremmo potuto usare un approccio 'manuale'
!LWPLAN,-1,4,0.15 !
Posiziona il WP ortogonalmente alla corda, al 15%
!ASBW,1 ! Usa il WP per tagliare l'area appena ottenuta
!LWPLAN,-1,4,0.15+C_s ! Posiziona il
WP ortogonalmente alla corda, al 28,75%
!ASBW,3 ! Taglio
!LWPLAN,-1,4,0.15+2*C_s ! Posiziona il WP
ortogonalmente alla corda, al 42,5%
!ASBW,1 ! Taglio
!LWPLAN,-1,4,0.15+3*C_s ! Posiziona il WP
ortogonalmente alla corda, al 56,25%
!ASBW,3 ! Taglio
!LWPLAN,-1,4,0.70 ! Posiziona il WP
ortogonalmente alla corda, al 70%
!ASBW,1 ! Taglio
! Estrusione
LOCAL,11,0,C*0.25 !
Creiamo un sistema di coordinate al 25% della corda, utile per l'estrusione
VEXT,ALL,,,b*tan(Lam),,b,ct_cr,ct_cr ! Estrusione lungo il vettore [b*tg(lam);0;b] con fattore di scala lungo x e
y pari al rapporto di rastremazione
L,12,16 ! Definiamo la corda al tip
! Definizione dei kp lungo la linea dei fuochi per tagliare
! l'ala in corrispondenza della posizione di ogni centina
CSYS,0
K,100,C*0.25
! Kp nel fuoco al root
K,100+Nc,b*tan(Lam)+0.25*C,,b ! Kp nel fuoco al tip
!KBETW,12,16,100+Nc,RATIO,0.25 ! Alternativa al rigo precedente: crea il kp nel fuoco al tip con KBETW tra
il punto 12 e 16
KFILL,100,100+Nc,Nc-1,101,1,lt_lr ! Kp nei punti in cui si vuole tagliare, considerando
la spaziatura crescente
*DO,i,101,100+Nc-1,1 ! Ciclo per effettuare
i tagli in corrispondenza dei kp
WPCSYS,-1,0
! Allinea il WP al sistema base
KWPAVE,i ! Trasla il WP nell'i-esimo kp definito prima
VSBW,ALL ! Taglia il volume con il WP
*ENDDO
WPCSYS,-1,0
! Allinea il WP al sistema base
!********************************************************************
!*********** Selezioni per creare i vari gruppi **************
!********************************************************************
! Selezione delle linee del bordo d'attacco
CSKP,12,0,1,12,100 ! Sistema di
coordinate con asse x lungo il bordo d'attacco
LSEL,S,LOC,Y,0
! Seleziona tutte le linee con componente y=0 (del sistema attivo csys12)
LSEL,R,LOC,Z,0
! Seleziona tutte le linee con componente z=0 (del sistema attivo csys12)
CM,lead_edge_line,LINE ! Salviamo il gruppo
di linee del bordo d'attacco
!LSEL,ALL ! Riseleziona tutte le linee (non necessario)
! Selezione delle linee del bordo d'uscita
CSKP,13,0,1001,16,100 ! Sistema di
coordinate con asse x lungo il bordo d'uscita
LSEL,S,LOC,Y,0
! Seleziona tutte le linee con componente y=0 (del sistema attivo csys13)
LSEL,R,LOC,Z,0
! Seleziona tutte le linee con componente z=0 (del sistema attivo csys13)
CM,trail_edge_line,LINE ! Salviamo il gruppo
di linee del bordo d'uscita
!LSEL,ALL ! Riseleziona tutte le linee (non necessario)
! Selezione superficie del bordo d'attacco
CMSEL,S,lead_edge_line ! Richiama il gruppo di
linee del bordo d'attacco
ASLL,S,0 ! Seleziona tutte le aree connesse ad almeno una delle linee selezionate
CM,lead_edge_area,AREA ! Salviamo il gruppo
di areee del bordo d'attacco
!ASEL,ALL ! Riseleziona tutte le aree e tutte le linee (non necessario)
!LSEL,ALL
! Selezione superficie del bordo d'uscita
CMSEL,S,trail_edge_line ! Richiama il gruppo di
linee del bordo d'uscita
ASLL,S,0 ! Seleziona tutte le aree connesse ad almeno una delle linee selezionate
CM,trail_edge_area,AREA ! Salviamo il gruppo
di areee del bordo d'uscita
!ASEL,ALL ! Riseleziona tutte le aree e tutte le linee (non necessario)
!LSEL,ALL
! Selezione linee collegate alle aree del bordo d'attacco: torna utile nel selezionare le centine
CMSEL,S,lead_edge_area ! Richiama il blocco
di superficie totale del bordo d'attacco
LSLA,S ! Seleziona tutte le linee connesse alle aree della superficie totale del bordo d'attacco
CM,lead_e_lines,LINE ! Salviamo questo
gruppo di linee
! Selezione linee collegate alle aree del bordo d'uscita: torna utile nel selezionare le centine
CMSEL,S,trail_edge_area ! Richiama il blocco
di superficie totale del bordo d'attacco
LSLA,S ! Seleziona tutte le linee connesse alle aree della superficie totale del bordo d'attacco
CM,trail_e_lines,LINE ! Salviamo questo
gruppo di linee
! Selezione delle aree del 'guscio' dell'ala
ALLSEL ! Riseleziona tutto
ASEL,S,EXT ! Seleziona solo le aree esterne ai volumi selezionati (tutti quelli creati finora)
CSYS,0 ! Torniamo nel sistema base (centrato nel bordo d'attacco della sezione alla radice)
ASEL,U,LOC,Z,0
! Deseleziona le aree il cui centroide ha coordinata z=0 (aree al root)
ASEL,U,LOC,Z,b
! Deseleziona le aree il cui centroide ha coordinata z=b (aree al tip)
CM,guscio,AREA
! Salviamo la selezione attuale
! Prima di applicare i carichi sarà necessario verificare che tutte le normali siano uscenti e, se non lo sono,
invertirle
! Selezione delle aree di dorso e ventre del cassone
CMSEL,U,lead_edge_area ! Deseleziona le aree
del bordo d'attacco (a partire dalle aree del gruppo guscio appena selezionate)
CMSEL,U,trail_edge_area ! Deseleziona le aree
del bordo d'uscita
CM,cassone,AREA
! Salviamo la selezione attuale
ASEL,R,LOC,Y,0,3000 ! Seleziona, a
partire dalle aree del cassone, quelle con y tra 0 e 3000 (aree del dorso)
CM,dorso,AREA
! Salviamo le aree del dorso
CMSEL,S,cassone
! Richiama le aree di tutto il cassone
CMSEL,U,dorso
! Deseleziona le aree del dorso, ottenendo le aree del ventre
CM,ventre,AREA
! Salviamo le aree del ventre
! Selezione delle aree di dorso e ventre 'totali'
CMSEL,S,guscio
! Seleziona tutte le aree del guscio
ASEL,R,LOC,Y,0,10000 ! Seleziona tutte le
aree del dorso (cassone + bordo d'attacco e d'uscita)
CM,dorso_tot,AREA !
Salviamo le aree del dorso
CMSEL,S,guscio
! Seleziona tutte le aree del guscio
ASEL,R,LOC,Y,-10000,0 ! Seleziona
tutte le aree del ventre (cassone + bordo d'attacco e d'uscita)
CM,ventre_tot,AREA ! Salviamo le
aree del ventre
! Al fine di attribuire correttamente i carichi di pressione è necessario avere tutte le normali alle superfici del
rivestimento uscenti
! Nel mio caso le normali sono già tutte uscenti, per completezza si procede comunque alla procedura
automatica di inversione delle aree
CMSEL,S,dorso_tot !
Richiama il gruppo di aree del dorso del rivestimento
INVAREA,'y',-1
! Le aree con componente y della normale discorde vengono invertite
CMSEL,S,ventre_tot !
Richiama il gruppo di aree del dorso del rivestimento
INVAREA,'y',1
! Le aree con componente y della normale concorde vengono invertite
! Selezione delle linee di dorso e ventre del cassone: torna utile nella mesh delle centine
CMSEL,S,cassone
! Seleziona tutte le aree del cassone
LSLA,S ! Seleziona tutte le linee collegate a queste aree
CM,cassone_lines,LINE ! Salva il
gruppo di linee
! Selezione delle linee delle solette
*DIM,sol,ARRAY,4,2 ! Crea un
array che contiene i punti in cui ci sono le solette (verso orario)
sol(1,1)=3,11,10,2 ! Definisce la
prima colonna: punti al root
sol(1,2)=14,17,15,13 ! Definisce la
seconda colonna: punti al tip
*DO,i,1,4,1
CSKP,14,0,sol(i,1),sol(i,2),100 ! Definiamo un sistema con asse x lungo la linea
della soletta
LSEL,S,LOC,Y,0
! Selezioniamo solo le linee con componenti y e z = 0 nel sistema csys14
LSEL,R,LOC,Z,0
CM,soletta_%i%,LINE ! Salviamo il
gruppo di linee della soletta
! Inversione delle ascisse curvilinee: facciamo in modo che le linee delle solette siano tutte orientate
dal root verso il tip
INVLINE,'x',-1 !
Macro che inverte le linee con direzione discorde ad x di csys14 (necessario per attribuire correttamente le
sezioni)
*ENDDO
! Creiamo anche un gruppo con tutte le solette
CMSEL,S,soletta_1 ! Seleziona
la prima soletta
*DO,i,2,4,1
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
-
Elaborato etica
-
Elaborato Guerra
-
Elaborato di approfondimento Malattie cardiovascolari
-
De Laude Novae Militiae, Elaborato