• Non ci sono risultati.

Codici ANSYS e Matlab dello studio svolto nel capitolo 5 Appendice E

N/A
N/A
Protected

Academic year: 2021

Condividi "Codici ANSYS e Matlab dello studio svolto nel capitolo 5 Appendice E"

Copied!
14
0
0

Testo completo

(1)

Appendice E

Codici ANSYS e Matlab dello studio svolto nel

capitolo 5

E.1 Codici ANSYS

Il seguente programma si riferisce alle simulazioni descritte nel paragrafo 5.1.1: i codici delle simulazioni descritte nei paragrafi 5.1.2 e 5.1.3 non sono riportate, perché uguali a questa (cambia solo il parametro %r%degx, che diventa, rispettivamente, %r%degy e %r%degz). Si lancia un ciclo si simulazioni, in cui si cambia l’orientazione degli assi cristallini, ruotandola attorno all’asse x:

Inizio ciclo

*do,r,0,90,5

I0=10e-3 Definizione corrente e resistenza R0=104.166667

Ambiente di programmazione: preprocessore.

/prep7

et,1,solid226,101

local,11 Si definiscono due sistemi locali di coordinate: il local,12,,,,,,r secondo ruotato attorno all’asse x di un angolo r

(2)

Si specificano i gradi di libertà, le costanti elastiche e i coefficienti di piezoresistività: dof,ux,uy,uz,volt,curr p11=-102.2e-5 p12=53.4e-5 p44=-13.6e-5 G1=146e3 NU=0.23 mp,ex,1,G1 mp,ey,1,G1 mp,ez,1,G1 mp,PRXY,1,NU mp,PRYZ,1,NU mp,PRXZ,1,NU mp,RSVX,1,10 mp,RSVY,1,10 mp,RSVZ,1,10 tb,PZRS,1 tbdata,1,p11,p12,p12 tbdata,7,p12,p11,p12 tbdata,13,p12,p12,p11 tbdata,22,p44 tbdata,29,p44 tbdata,36,p44

Creazione del blocco rigido:

a=1e6 G2=a*G1 mp,ex,2,G2 mp,ey,2,G2 mp,ez,2,G2 mp,PRXY,2,NU

(3)

mp,PRYZ,2,NU mp,PRXZ,2,NU mp,RSVX,2,10 mp,RSVY,2,10 mp,RSVZ,2,10 tb,PZRS,2 tbdata,1,p11,p12,p12 tbdata,7,p12,p11,p12 tbdata,13,p12,p12,p11 tbdata,22,p44 tbdata,29,p44 tbdata,36,p44 csys,11

Creazione della geometria:

block,-0.3,0.3,0,4,0,26 blc4,-0.3,0,0.6,4,1 vptn,1,2 vsel,all vsel,s,volume,,4 esys,12 Meshing e coupling: esize,0.2 vatt,1,,1 vsel,s,volume,,3 esys,12 esize,0.2 vatt,2,,1 vsel,all vmesh,all csys,11

(4)

nsel,s,node,,1783,1823 nsel,a,node,,9533 nsel,a,node,,9783,9787 nsel,a,node,,10658,10837 cp,1,volt,all *get,nl,node,0,num,min nsel,s,loc,z,1 cp,2,volt,all nsel,all

Applicazione delle sollecitazioni:

asel,s,loc,z,26 da,all,ux,0 da,all,uy,0 da,all,uz,0 asel,all da,8,volt,0 da,1,volt,0 fk,7,amps,10e-3 fk,13,amps,-10e-3 fk,1,fx,-5 fk,4,fx,5 finish

Ambiente di programmazione: soluzione.

/solu

antype,static solve

finish /post1

*get,V1,node,nl,volt Si prende la tensione ai capi della trave, delta_R=(V1/I0)-R0 si calcola la R e si salva in un file.

(5)

parsav,all,%r%degx,txt finish

/clear

*enddo Fine del ciclo

Segue il codice delle simulazioni probabilistiche, contenute nel paragrafo 5.2:

File di analisi.

*set,w,0.3 *set,h,4 *set,l,27 *set,I0,10e-3 *set,R0,104.166667 ! /prep7 et,1,solid226,101 local,11

Si definiscono le proprietà del materiale:

dof,ux,uy,uz,volt,curr *set,p11,-102.2e-5 *set,p12,53.4e-5 *set,p44,-13.6e-5 *set,G1,146e3 *set,NU,0.23 mp,ex,1,G1 mp,ey,1,G1 mp,ez,1,G1 mp,PRXY,1,NU

(6)

mp,PRYZ,1,NU mp,PRXZ,1,NU mp,RSVX,1,10 mp,RSVY,1,10 mp,RSVZ,1,10 tb,PZRS,1 tbdata,1,p11,p12,p12 tbdata,7,p12,p11,p12 tbdata,13,p12,p12,p11 tbdata,22,p44 tbdata,29,p44 tbdata,36,p44 Blocco rigido *set,a,1e6 *set,G2,a*G1 mp,ex,2,G2 mp,ey,2,G2 mp,ez,2,G2 mp,PRXY,2,NU mp,PRYZ,2,NU mp,PRXZ,2,NU mp,RSVX,2,10 mp,RSVY,2,10 mp,RSVZ,2,10 tb,PZRS,2 tbdata,1,p11,p12,p12 tbdata,7,p12,p11,p12 tbdata,13,p12,p12,p11 tbdata,22,p44 tbdata,29,p44 tbdata,36,p44

(7)

csys,11 block,-W,W,0,h,0,l *do,i,1,26 wplane,i,-w,0,i,w,0,i,w,4,i vsbw,all numcmp,volu *enddo vsel,all

In questo ciclo si attribuisce un’orientazione (inizializzata a 0 gradi) ad ogni grano; il file probabilistico sostituirà ai valori di tale orientazione le variabili casuali con distribuzione uniforme. *do,r,1,25 *set,or,r+11 vsel,s,volume,,r *set,y%r%,0 local,or,,,,,,x,y%r% esys,or vatt,1,,1 csys,11 esize,0.2 lsel,s,loc,x,-0.3 lsel,r,loc,y,4 lesize,all,0.5,,,,1 lsel,s,loc,x,-0.3 lsel,r,loc,y,0 lesize,all,0.5,,,,1 lsel,s,loc,x,0.3 lsel,r,loc,y,4 lesize,all,0.5,,,,1 lsel,s,loc,x,0.3 lsel,r,loc,y,0 lesize,all,0.5,,,,1

(8)

vmesh,all

*enddo

Creazione del blocco rigido

vsel,s,volume,,26,27 esys,11 vatt,2,,1 esize,0.2 lsel,s,loc,x,-0.3 lsel,r,loc,y,4 lesize,all,0.5,,,,1 lsel,s,loc,x,-0.3 lsel,r,loc,y,0 lesize,all,0.5,,,,1 lsel,s,loc,x,0.3 lsel,r,loc,y,4 lesize,all,0.5,,,,1 lsel,s,loc,x,0.3 lsel,r,loc,y,0 lesize,all,0.5,,,,1 lsel,all vmesh,all csys,11 vsel,all Coupling: nsel,s,loc,z,25 cp,1,volt,all nsel,s,loc,z,0 cp,2,volt,all *get,nl,node,0,num,min nsel,all

(9)

Applicazione delle sollecitazioni: asel,s,loc,z,0 da,all,ux,0 da,all,uy,0 da,all,uz,0 asel,s,loc,z,25 asel,a,loc,z,27 da,all,volt,0 asel,all fk,1,amps,I0 fk,106,amps,-I0 fk,5,fx,-5 fk,7,fx,5 finish

Ambiente di programmazione: soluzione.

/solu

antype,static solve

finish

Ambiente di programmazione: postprocessore.

Si ricava la variazione di resistenza e si salvano i parametri in un file /post1 set,1 *get,V1,node,nl,volt *set,delta_R,(V1/I0)-R0 parsav,all,%x%deg,txt parsav,all,param,txt finish

(10)

/clear

parres,,param,txt

File probabilistico: sostituisce ad ogni valore

y%r%

una variabile

casuale con distribuzione uniforme; questa operazione viene svolta per

ogni valore della rotazione attorno all’asse x.

*do,x,0,90,15 Inizio ciclo: si lancia il file di analisi per ogni valore di x del ciclo

/input,analysis,txt /filname,poly%x%

Ambiente di programmazione: Progetto probabilistico

/pds

pdanl,analysis,txt

Si definisce l’orientazione di ogni grano come variabile casuale in ingresso y%r%:

*do,r,1,25

pdvar,y%r%,unif,0,90

*enddo

Si definiscono le variabili casuali in uscita:

pdvar,V1,resp pdvar,delta_R,resp

(11)

pdmeth,mcs,lhs

pdlhs,50 ciclo formato da 50 simulazioni pdexe,mcs

Si salvano i risultati ottenuti e si conclude il ciclo:

pdsave parsav,all,param,txt pdclr finish /clear parres,,param,txt

*enddo Fine ciclo

E.2: Codici Matlab

Il seguente codice è stato utilizzato per creare la figura 5.1; la figura 5.2 è stat realizzata con lo stesso codice, in cui si è messo il comando s1='deg.txt', a posto di s1='degx.txt'.

Si prendono i valori delle variazioni di resistenza dai file %r%degx.txt e si crea il vettore delle ascisse, che contiene gli angoli, e quello delle ordinate, che contiene leR.

function []=deltar() t=0:2.5:90; dr=1:1:37;

(12)

m=n/4 str=num2str(m); s1='degx.txt'; name=strcat(str,s1); fid=fopen(name,'r'); tline=fgets(fid); tline=fgets(fid); tline=fgets(fid); Degrees=str delta_r=tline(18:end) i=(n+5)/5 dr(i)=str2num(delta_r)/10^13 st=fclose(fid); end

Si fa un grafico di R( )θx , attraverso l’interpolazione dei valori ottenuti: x=0:1:90;

y=interp1(t,dr,x,'spline'); plot(t,dr,'*m',x,y)

E.3 Tabelle dei risultati

E.3.1 Materiale con assi cristallini ruotati rispetto all’asse x

Si riporta una tabella contenente i valori di θx e delle corrispondenti ∆R; tali

valori sono stati interpolati per ottenere la figura 5.2:

x

θ [deg] ∆R [mΩ] θx [deg] ∆R [mΩ]

(13)

2.5 -7.13 50 -127.99 5 -10.05 52.5 -123.49 7.5 -14.79 55 -117.37 10 -21.22 57.5 -109.79 12.5 -29.11 60 -100.99 15 -38.23 62.5 -91.19 17.5 -48.27 65 -80.71 20 -58.92 67.5 -69.84 22.5 -69.85 70 -58.91 25 -80.72 72.5 -48.27 27.5 -91.20 75 -38.23 30 -100.99 77.5 -29.12 32.5 -109.79 80 -21.22 35 -117.37 82.5 -14.79 37.5 -123.49 85 -10.04 40 -127.99 87.5 -7.13 42.5 -130.74 90 -6.15 45 -131.67

E.3.2 Materiale con assi cristallini ruotati rispetto all’asse y

Si riporta una tabella contenente i valori di θ e delle corrispondenti yR; tali

valori sono stati interpolati per ottenere la figura 5.3:

y

θ [deg] ∆R [mΩ] θ [deg] yR [mΩ]

0 -6.15 47.5 -4.66

(14)

5 -6.20 52.5 -4.94 7.5 -6.26 55 -5.16 10 -6.32 57.5 -5.40 12.5 -6.38 60 -5.65 15 -6.41 62.5 -5.88 17.5 -6.41 65 -6.09 20 -6.35 67.5 -6.24 22.5 -6.25 70 -6.35 25 -6.09 72.5 -6.41 27.5 -5.89 75 -6.41 30 -5.65 77.5 -6.38 32.5 -5.40 80 -6.33 35 -5.16 82.5 -6.26 37.5 -4.94 85 -6.20 40 -4.77 87.5 -6.16 42.5 -4.66 90 -6.15 45 -4.63

Riferimenti

Documenti correlati