CIV-8 FUND DE COMPUTAÇÃO GRÁFICA APLICADA 6 Primeiro Trabalho Programação em C: Implementação e elementos finitos isoparamétricos O objetivo este trabalho é implementar funções básicas e uma família e quatro elementos finitos isoparamétricos planos e continuiae C A família e elementos a ser implementaa é: Elemento Forma Nº e nós Tipo e interpolação T triângulo Linear Q quarilátero Linear T6 triângulo 6 Quarática Q8 quarilátero 8 Quarática Numeração local os nós os elementos: 7 T Q 6 T6 5 8 Q8 6 5 Etapa Os elementos finitos são caracterizaos pelas chamaas funções e forma, que efinem a interpolação o campo funamental (eslocamentos, por exemplo) entro o elemento O objetivo esta etapa o trabalho é escrever funções em C que avaliam as funções e forma os elementos implementaos em um ponto qualquer no seu interior e efinio pelos valores e suas coorenaas paramétricas (r, : (a) shptshape: Esta função avalia as funções e forma e um elemento triangular linear (T) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação As uas coorenaas paramétricas corresponem às uas primeiras coorenaas e área triangulares que efinem a posição o ponto e avaliação Os valores as três funções e forma avaliaas no ponto ao são retornaos no vetor shape voi shptshape( ouble r, ouble s, ouble shape[] ); (b) shpqshape: Esta função avalia as funções e forma e um elemento quarilátero bilinear (Q) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação Os valores as quatro funções e forma avaliaas no ponto ao são retornaos no vetor shape voi shpqshape( ouble r, ouble s, ouble shape[] ); (c) shpt6shape: Esta função avalia as funções e forma e um elemento triangular quarático (T6) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação As uas coorenaas paramétricas corresponem às uas primeiras coorenaas e área triangulares que efinem a posição o ponto e avaliação Os valores as seis funções e forma avaliaas no ponto ao são retornaos no vetor shape voi GetT6Shape( ouble r, ouble s, ouble shape[] ); () shpq8shape: Esta função avalia as funções e forma e um elemento quarilátero quarático (Q8) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação Os valores as oito funções e forma avaliaas no ponto ao são retornaos no vetor shape voi shpq8shape( ouble r, ouble s, ouble shape[] );
Etapa Na formulação e um eterminao elemento finito isoparamétrico é necessário avaliar as erivaas as funções e forma o elemento em relação às coorenaas paramétricas que as escrevem O objetivo esta etapa é escrever funções para avaliar as erivaas as funções e forma em relação às suas coorenaas paramétricas para os quatro tipos e elementos finitos planos É efinia uma estrutura em C que serve para eclarar variáveis que armazenam os ois valores as erivaas e uma função e forma em relação a caa uma as coorenaas paramétricas (r, : typeef struct _erivnat { ouble r; ouble s; } DerivNat; (e) shptderiv: Esta função avalia as erivaas as funções e forma e um elemento triangular linear (T) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação As uas coorenaas paramétricas corresponem às uas primeiras coorenaas e área triangulares que efinem a posição o ponto e avaliação Os valores as erivaas as três funções e forma avaliaas no ponto ao são retornaos no vetor eriv voi shptderiv( ouble r, ouble s, DerivNat eriv[] ); (f) shpqderiv: Esta função avalia as erivaas as funções e forma e um elemento quarilátero bilinear (Q) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação Os valores as erivaas as quatro funções e forma avaliaas no ponto ao são retornaos no vetor eriv voi shpqderiv( ouble r, ouble s, DerivNat eriv[] ); (g) shpt6deriv: Esta função avalia as erivaas as funções e forma e um elemento triangular quarático (T6) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação As uas coorenaas paramétricas corresponem às uas primeiras coorenaas e área triangulares que efinem a posição o ponto e avaliação Os valores as erivaas as seis funções e forma avaliaas no ponto ao são retornaos no vetor eriv voi shpt6deriv( ouble r, ouble s, DerivNat eriv[] ); (f) shpq8deriv: Esta função avalia as erivaas as funções e forma e um elemento quarilátero quarático (Q8) São aas as coorenaas paramétricas r e s corresponentes ao ponto e avaliação Os valores as erivaas as oito funções e forma avaliaas no ponto ao são retornaos no vetor eriv voi shpq8deriv( ouble r, ouble s, DerivNat eriv[] ); Etapa Na formulação isoparamétrica o métoo os elementos finitos a istorção e forma e um elemento fica caracterizaa por um tensor chamao e Jacobiano, que no caso biimensional é representao por uma matriz x que poe ser avaliaa em qualquer ponto no interior e um elemento: x r y r [ J ] = x s y s O eterminante a matriz o Jacobiano, J, é um fator e escala e área para o mapeamento que leva o espaço paramétrico para o espaço cartesiano O valor e J é uma meia a istorção o elemento finito em um eterminao ponto Valores negativos ou nulo e J inicam que existe uma istorção exageraa o elemento finito O objetivo esta etapa o trabalho é escrever uma função que avalie a matriz o Jacobiano e seu eterminante para um elemento finito isoparamétrico biimensional, seno aas as coorenaas cartesianas os nós o elemento e as erivaas as funções e forma em relação às coorenaas paramétricas avaliaas em um ponto qualquer
Pee-se então escrever a função shpelemjacobian abaixo, que serve para calcular o Jacobiano e qualquer elemento finito isoparamétrico plano (continuiae C ) É efinia uma estrutura em C que serve para eclarar variáveis que armazenam os ois valores as coorenaas e um nó no espaço cartesiano biimensional: typeef struct _point { ouble x; ouble y; } Point; (g) shpelemjacobian: Esta função calcula a matriz o Jacobiano e seu eterminante para um elemento finito isoparamétrico plano, seno aas as coorenaas cartesianas os nós o elemento e as erivaas as funções e forma em relação às coorenaas paramétricas avaliaas em um ponto qualquer A matriz o Jacobiano é retornaa no último argumento a função e o seu valor e retorno é o eterminante o Jacobiano ouble shpelemjacobian( int num_noes, Point noe_coors[], DerivNat eriv[], ouble jacobian[][] ); Etapa Esta etapa consiste em escrever as funções que utilizam as funções esenvolvias nas etapas anteriores Nesta etapa será escrito um móulo que gerencia um elemento finito por vez Serão escritas funções para ler os aos e um elemento finito e um arquivo, para salvar os aos o elemento finito corrente em um arquivo, para avaliar a posição e um ponto entro o elemento, seno aas as suas coorenaas paramétricas, e para avaliar o eterminante o Jacobiano em um ponto Fornecio e Peio Os arquivos para execução o trabalho estão isponíveis entro e um arquivo comprimio (civ8trabvc6zip), que está isponível no site a isciplina na web São fornecios os seguintes arquivos o programa: rvc (Driver: funções que controlam o programa) elmc (elm: móulo e elemento finito) elmh shpc (shp: móulo e funções e forma e jacobiano) shph Os arquivos elmc e shpc estão incompletos O trabalho constiste em complementar estes arquivos conforme inicao entro o cóigo O entenimento o cóigo existente nestes arquivos é consierao parte o trabalho Também são fornecios arquivos conteno aos e um elemento finito para serem lios pelo programa Pee-se também, em papel, somente as linhas que foram aicionaas nos arquivos Estas linhas evem ser inicaas a seguinte forma: COMPLETE AQUI: XX LINHAS ADICIONADAS Anexo Expressões analíticas as funções e forma os elementos consieraos e e sua erivaas parciais em relação às coorenaas paramétricas
FUNÇÕES DE FORMA DE ELEMENTOS FINITOS ISOPARAMÉTRICOS PLANOS E SUAS DERIVADAS Elemento Finito T Funções e Forma (em coorenaas paramétricas r e : L( r, r L( r, s L( r, r s N( r, L( r, N( r, L( r, N( r, L( r, Derivaas as funções e forma em relação às coorenaas paramétricas: r N( r, s N( r, r N( r, s N( r, r N( r, s N( r, Elemento Finito Q Funções e Forma (em coorenaas paramétricas r e : N( r, N( r, r) ( N( r, r) ( N( r, r) ( r) ( Derivaas as funções e forma em relação às coorenaas paramétricas: r N( r, s s N( r, r r N( r, s s N( r, r r N( r, s s N( r, r r N( r, s s N( r, r
Elemento Finito T6 Funções e Forma (em coorenaas paramétricas r e : L( r, r L( r, s L( r, r s N( r, L( r, ( L( r, ) N( r, L( r, ( L( r, ) N( r, L( r, ( L( r, ) N( r, L( r, L( r, N5( r, L( r, L( r, N6( r, L( r, L( r, Derivaas as funções e forma em relação às coorenaas paramétricas: r N( r, r s N( r, r N( r, s N( r, s r N( r, r s s N( r, r s r N( r, s s N( r, r r N5( r, s s N5( r, r 8 s r N6( r, 8 r s s N6( r, r
Elemento Finito Q8 Funções e Forma (em coorenaas paramétricas r e : N5( r, r ( N7( r, r ( N6( r, s ( r) N8( r, s ( r) N( r, ( r) ( N8( r, N5( r, N( r, ( r) ( N6( r, N7( r, N( r, ( r) ( N5( r, N6( r, N( r, ( r) ( N7( r, N8( r, Derivaas as funções e forma em relação às coorenaas paramétricas: r N( r, s s r ( s N( r, r s ( r) r r N( r, s r ( s s N( r, r r s ( r) r N( r, s s r ( s N( r, r s ( r) r r N( r, s r ( s s N( r, r r s ( r) r N5( r, r( s N5( r, r r N6( r, s s N6( r, s( r) r N7( r, r( s N7( r, r r N8( r, s s N8( r, s( r)