Sunteți pe pagina 1din 11

Lower Danube University of Galati

Faculty of Naval Arhitecture

STRUCTURAL ANALYSIS
AND HYDROELASTICITY

2015
GALATI

Capitolul I
Modele 3D-FEM de analiza a rezistentei locale
1.1 Modelele 3D-CAD
A. Petrolier

Rezultate

B. Portcontainer

Rezultate

C.
Dupa ce am generat modelul 3D-FEM, am extins pe lungimea navei, zona centrala
aproximativ 70-75% si 25-30% zona de la extremitati. Apoi am echilibrat nave in apa calma si
la asezarea statica pe val folosind GEO-commands.
Mai intai am calculat pescajul, iar dupa prima analiza am citit forta de reactiune si am
facut corectiile de pescaj.

Capitolul II
Elemente ale limbajului de programare GEO-macro al Cosmos/M
Limbajul Cosmos/M permite definirea urmtoarelor tipuri de parametrii utilizator:
variabile simple, matrici i vectori, funcii utilizator, asupra crora se pot aplica
operatorii
matematici standard.
Fiecare utilizator isi poate crea propriile subprograme, respectiv macrouri ce se
includ n fiierul GEOMACRO.MAC din directorul c:\cosmosm i care sunt apelabile
direct din interfaa GEOSTAR.
2.1 Parametrii: variabile simple, masive, functii UDF
Un parametru (variabil simpl, matrice, funcie) se caracterizeaz prin:
identificator (nume), tip (real sau ntreg), valoare (expresie).
Fiecare parametru trebuie s aib nume distinct, ce conin maxim 10 caractere
alfanumerice (A-Z, 0-9). Primul caracter al identificatorului trebuie s fie o liter.
Suplimentar n limbajul Cosmos/M exist identificatori rezervai pentru variabile
i
funcii predefinite ale programului, a cror nume nu poate fi realocat (ex. PTMAX,
CRMAX, SFMAX, etc.).
Linia de comentariu n limbajul Cosmos/M se declar folosind C* la nceput
de linie comand.
A. Variabile simple
Declararea variabilelor utilizator se face prin comanda:
PARASSIGN, <nume>, <tip, REAL sau INT>, <valoare>
ce poate fi apelat interactiv din meniul Cosmos/M (Control >Parameter>Assign
Parameter) sau prin linie-comand de la consol (GEO>).
Obs. Valoarea parametrului poate fi numeric sau o expresie din variabile i funcii.
Listarea variabilelor utilizator se face prin comanda:
PARLIST,<nume>
ce poate fi apelat interactiv din meniul Cosmos/M (Control >Parameter>List
Parameter) sau prin linie-comand de la consol (GEO>).
Pentru afiarea tuturor variabilelor utilizator definite se utilizeaz comanda:
PARLIST,*
Obs. Variabilele predefinite nu pot fi listate direct, fiind necesar atribuirea lor unor
variabile utilizator, folosind comanda PARASSIGN.
Comanda PARLIST afieaz pe ecran numrul variabilei, numele, tipul i
valoarea numeric pentru fiecare parametru, ce pot fi copiate folosind comanda copy
de la fereastra tip Windows de listare.

tergerea variabilelor utilizator se realizeaz prin comanda:


PARDEL,<nume>
ce poate fi apelat interactiv din meniul Cosmos/M (Control >Parameter>Delete
Parameter)
sau prin linie-comand de la consol (GEO>).
Pentru a terge ultima variabil utilizator definit se apeleaz la comanda:
PARDEL,*
B. Funcii definite de utilizator (UDF)
La definirea funciile utilizator UDF se impun urmtoarele restricii:
numrul maxim de caractere a numelui funciei UDF este 10;
numrul maxim de funcii utilizator definite este 200;
numrul maxim de variabile n argumentul funciei este 20;
numrul maxim de caractere pentru numele unei variabile din argument este
10;
numrul maxim de caractere a expresiei funciei utilizator este 200.
Definirea unei funcii utilizator UDF se realizeaz cu urmtoarea comand:
FUNCDEF, <nume funcie & argumente>, <tip REAL sau INT>,
definirea expresiei
ce poate fi apelat interactiv din meniul Cosmos/M (Control >Parameter>Define
Function) sau prin linie-comand de la consol (GEO>).
Listarea unei funcii utilizator UDF se face prin comanda:
FUNCLIST, <nume funcie>
ce poate fi apelat interactiv din meniul Cosmos/M (Control >Parameter>List Function)
sau prin linie-comand de la consol (GEO>).
Pentru afiarea tuturor funciilor utilizator definite se utilizeaz comanda:
FUNCLIST,*
tergerea funciilor utilizator UDF se realizeaz prin comanda:
FUNCDEL, <nume funcie>
ce poate fi apelat interactiv din meniul Cosmos/M (Control >Parameter>Delete
Function) sau prin linie-comand de la consol (GEO>).
Pentru a terge ultima funcie utilizator definit se apeleaz la comanda:
FUNCDEL,*

2.2 Structuri de control si repetitive


Asemeni limbajelor de programare standard, algoritmii de calcul in
Cosmos/M conin
urmtorii pai:
Comenzi secveniale: conin toate comenzile ce se execut n mod
succesiv ntr-un bloc de calcul, incluznd i definirea parametrilor variabile,
matrici i funcii utilizator: PARASSIGN, ARRDEF,ARRASSIGN, FUNCDEF.
Structuri de control: conin comenzile de salt sau condiionare logic:
GOTO, IF-ELSEIF-ELSE
Structuri repetitive: comenzi repetitive pentru blocuri de comenzi: LOOP

Sintaxa comenzilor de control i repetitive folosite n limbajul


Cosmos/M
- pot fi implementate n modulele de GEO macro-comenzi, dar nu pot fi
utilizate interactiv din modulul de pre/post-procesare GEOSTAR.
- se impun urmtoarele limitri: numele etichetei (label) maxim 10
caractere i numrul maxim de comenzi de control / repetitive (#) n fiierul
GEO-macro nu trebuie s fie mai mare de 500.
Expresii logice
Expresiile logice se formeaz folosind urmtorii operatori:
== egal cu
!= nu este egal cu
< mai mic dect
<= mai mic dect sau egal cu
> mai mare dect
>= mai mare dect sau egal cu
&& i
| | sau
Comenzile IF i ELSEIF
Cele dou structuri de control IF i ELSEIF folosesc o condiie logic, sau
combinaii
de expresii logice, pentru a determina selecia instruciunilor ce urmeaz a fi
executate.
n cazul n care se selecteaz o singur instruciune, pentru IF se folosete
sintaxa:
#IF (condiie)
instruciune
#ENDIF
n cazul n care se selecteaz un set de instruciuni, pentru IF se folosete
sintaxa:
#IF (condiie)
instruciune 1
...
instruciune m
#ENDIF
n cazul comenzilor IF imbricate se folosete sintaxa:
#IF (condiie 1)
instruciune 1
...
instruciune m
#IF (condiie 2)
instruciune m+1
...
instruciune n
#ENDIF

instruciune n+1
...
instruciune p
#ENDIF
Structura IF-ELSE permite programului selecia a dou seturi de comenzi,
funcie de
evaluarea condiiei logice True/False, avnd sintaxa:
#IF (condiie)
instruciune 1
...
instruciune m
#ELSE
instruciune m+1
...
instruciune n
#ENDIF
n cazul cnd se realizeaz selecia dup mai multe condiii logice, folosirea
unui numr mare de comenzi IF imbricate conduce la generarea unei
structuri de comenzi greu de verificat. n acest caz se recomand folosirea
structurii de control IF-ELSEIF-ELSE, avnd pentru trei condiii succesive
urmtoarea sintax:
#IF (condiie 1)
instruciune 1
...
instruciune m
#ELSEIF (condiie 2)
instruciune m+1
...
instruciune n
#ELSEIF (condiie 3)
instruciune n+1
...
instruciune p
#ELSE
instruciune p+1
...
instruciune q
#ENDIF
Comanda LOOP
Comanda LOOP realizeaz un numr de cicluri pentru un set de comenzi, cu
sintaxa:
PARASSIGN,ITER,INT,0
#LOOP <etichet> <numrul maxim de cicli>
PARASSIGN,ITER,INT,ITER+1
instruciune 1

...
instruciune m
#LABEL <etichet>
Obs. Ciclarea n comanda LOOP se realizeaz implicit cu un increment unitar.
Se pot introduce comenzi de control IF i GOTO n cadrul setului de
instruciuni, permind chiar stoparea ciclrii i salt la o referin n
exteriorul structurii LOOP. Nu se admit referine din exteriorul comenzi LOOP
la blocul de instruciuni din interiorul ciclului.
Comanda GOTO
Comanda #GOTO asigur saltul necondiionat la o etichet precizat, fr a
mai parcurge setul curent de instruciuni, avnd urmtoare sintax:
#GOTO <etichet>
...
#LABEL <etichet>

2.3 Definirea GEO-macrourilor


Limbajul COSMOS/M permite definirea unui subprogram (macro) care s
includ: comenzi standard GEOSTAR, expresii parametrice i structuri de
control.
Argumentele subprogramului (macro-ului) include variabilele de intrare ct
i cele de ieire.
Apelarea subprogramelor (macro-urilor) utilizator UDM i
lansarea n execuie se realizeaz prin comanda:
CALLMACRO, <nume macro>, argument 1, . . . , argument
n
ce poate fi apelat interactiv din meniul Cosmos/M (Control
>Parameter>Call Macro) sau
prin linie-comand de la consol (GEO>).
Se introduc urmtoarele limitri pentru numele i argumentele macro-urilor:
numele unui macro poate avea maxim 10 caractere;
numrul de argumente 0 10;
numele unui argument poate avea maxim 10 caractere;
argumentele unui macro nu pot fi dect variabile simple (nu se admit
matrici sau funcii);
nu se poate folosi un numr n locul unui argument la apelarea unui macro
(asignarea
numrului la variabila relaionat argumentului se face prin comanda
PARASSIGN);
toate argumentele unui macro trebuie definite aprioric prin comanda
PARASSIGN.
Crearea unui macro n limbajul COSMOS/M
Subprogramul (macro) trebuie inclus n fiierul GEOMACRO.MAC n directorul
c:\cosmosm, unde se regsesc i executabilele programului COSMOS/M.
Crearea unui macro trebuie s respecte urmtoare sintax:

$MACRO, <nume macro>, argument 1, . . . , argument n


instruciune 1
...
instruciune m
$ENDM
Obs. n interiorul unui macro se pot defini variabile, matrici i funcii
utilizator locale, ce trebuie s satisfac urmtoarele restricii:
numrul maxim de variabile simple definite de utilizator (inclusiv
argumentele) este 50;
numrul maxim de funcii definite de utilizator local este 50;
numrul maxim de matrici definite de utilizator local este 10.
Obs. Variabilele i funciile predefinite ale limbajului Cosmos/M au un
caracter global, respectiv aceste variabile nu se includ n lista argumentelor
la un macro.
Obs. n limbajul Cosmos/M toate macro-urile sunt incluse ntr-un unic
fiier GEOMACRO.MAC, ntr-o succesiune aleatoare, putnd fi apelate ntre
ele fr restricii, mai puin un macro pe el nsui, ca n urmtorul exemplu:

2.3.1 Definire presiune hidrostatica


Exemplu de fiier al procedurilor GEOMACRO.MAC pentru definirea pe
un model corp nav a cmpului de presiune hidrostatic (hst_press)
Se folosesc urmtoarele date de intrare:
Tief - cota suprafeei libere,
dsw - pescajul mediu al navei,
dpp,dpv - pescajele pupa-prova ale navei,
Lenght - lungimea navei egal cu lungimea valului echivalent cvasistatic,
Hw - nlimea valului echivalent cvasi-static.
Fiierul GEOMACRO.MAC
C* *****Hydrostatic pressure with flat free surface KN/m2
$macro,hst_press
parassign,Tief,real,<Tief> // comanda parassign defineste variabilele
utilizatorului, ex. inaltimea
parassign,sgn,int,1 //in loc de <Tief> trecem inaltimea dorita
CALLMACRO,hst_shell,Tief,sgn // apeleaza comanda hst_shell si inlocuieste in
macro Tief and sgn
$ENDM
$macro,hst_shell,Tief,sgn
parassign,csid,int,0
parassign,i,int,0
#loop LB1 ELMAX // va repeta comanda pana cand i devine egal cu elmax.
parassign,i,int,i+1 // mareste i cu 1 la fiecare repetare (loop)

#if (exist(EL|i) && listsel(EL|i)) // verifica daca elementele exista si sunt accesibile
parassign,fnum,int,0
parassign,z,real,ZELF(i|fnum|csid) // variabila va primi coordonata z al centrului de
greutate de pe fata
//elementului
parassign,pval,real,((Tief-z)*1.025*9.81) //valoarea presiunii se va calcula in functie
de pozitia
//elemetului repectiv si
acceleratia gravitationala a apei
parassign,fnum,int,5
#if (pval>0) //verifica daca valoare presiunii este mai mare decat 0 si daca e
adevarat
parassign,pval,real,(pval*sgn)
PEL,i,pval,fnum,i,1,4 // se aplica presiune egala cu pval pe elementul i pe fata
fnum
#endif
#endif
#label LB1
$ENDM
C* *****End

S-ar putea să vă placă și

  • Referat SAHYD
    Referat SAHYD
    Document11 pagini
    Referat SAHYD
    Mihaela Nidelcu
    Încă nu există evaluări
  • Referat Element Finit
    Referat Element Finit
    Document14 pagini
    Referat Element Finit
    Mihaela Nidelcu
    Încă nu există evaluări
  • Referat SAHYD
    Referat SAHYD
    Document11 pagini
    Referat SAHYD
    Mihaela Nidelcu
    Încă nu există evaluări
  • Referat SAHYD
    Referat SAHYD
    Document11 pagini
    Referat SAHYD
    Mihaela Nidelcu
    Încă nu există evaluări
  • Referat Element Finit
    Referat Element Finit
    Document14 pagini
    Referat Element Finit
    Mihaela Nidelcu
    Încă nu există evaluări
  • Referat
    Referat
    Document9 pagini
    Referat
    Mihaela Nidelcu
    Încă nu există evaluări
  • Tanker OSPREY: Dimensiuni Principale
    Tanker OSPREY: Dimensiuni Principale
    Document19 pagini
    Tanker OSPREY: Dimensiuni Principale
    Mihaela Nidelcu
    Încă nu există evaluări
  • Fundamente de Inginerie Mecanica
    Fundamente de Inginerie Mecanica
    Document53 pagini
    Fundamente de Inginerie Mecanica
    Adrian Ioncica
    0% (1)
  • VLGN
    VLGN
    Document18 pagini
    VLGN
    Mihaela Nidelcu
    Încă nu există evaluări
  • Titlu
    Titlu
    Document1 pagină
    Titlu
    Mihaela Nidelcu
    Încă nu există evaluări
  • Tanker Osprey
    Tanker Osprey
    Document19 pagini
    Tanker Osprey
    Mihaela Nidelcu
    Încă nu există evaluări
  • Vrachier 180 M
    Vrachier 180 M
    Document23 pagini
    Vrachier 180 M
    Alexe Marian
    Încă nu există evaluări
  • Mineralier 180 000tdw
    Mineralier 180 000tdw
    Document13 pagini
    Mineralier 180 000tdw
    Mihaela Nidelcu
    100% (1)
  • Mineralier 180 000tdw
    Mineralier 180 000tdw
    Document13 pagini
    Mineralier 180 000tdw
    Mihaela Nidelcu
    100% (1)
  • Proiect TN
    Proiect TN
    Document62 pagini
    Proiect TN
    Mihaela Nidelcu
    Încă nu există evaluări
  • Formule La Geometrie
    Formule La Geometrie
    Document5 pagini
    Formule La Geometrie
    vissionamd
    Încă nu există evaluări
  • PROIECT
    PROIECT
    Document14 pagini
    PROIECT
    Mihaela Nidelcu
    Încă nu există evaluări