Página Principal | Lista Alfabética | Lista de Componentes | Lista de Arquivos | Componentes Membros | Arquivos Membros

Referência do Arquivo crs.h

Este grafo mostra quais arquivos estão direta ou indiretamente relacionados com este arquivo:

Included by dependency graph

Vá para o código-fonte deste arquivo.


Deinições e macros

#define CRS_FAILURE   -1
 

Define uma falha na operação desejada.

Definição na linha 59 do arquivo crs.h.

Referenciado por crsPickNode(), drvMouseBt() e prjProcessNode().

#define CRS_FIXED_NODE   -3
 

Define uma falha no equilíbrio de um nó pois ele está fixo.

Definição na linha 68 do arquivo crs.h.

Referenciado por crsChkNodeUnbalance() e drvMouseBt().

#define CRS_NO_MODEL_DEFINED   -2
 

Define uma falha na operação desejada pois não existe nenhum model ativo.

Definição na linha 64 do arquivo crs.h.

Referenciado por crsAddMember(), crsAddNode(), crsChkNodeUnbalance(), crsCompleteModel(), crsGetGlobalBox(), crsPickNode(), crsProcessNode(), crsResetSolution(), crsSolveModel(), crsStepSolution(), drvMouseBt(), prjProcessGoThru(), prjProcessNode() e prjProcessStep().

#define CRS_NO_STEP_TO_GO   0
 

Define uma operação que não pode ser executada pois o processo iterativo já terminou ou um nó já está equilibrado.

Definição na linha 55 do arquivo crs.h.

Referenciado por crsChkNodeUnbalance(), crsSolveModel(), crsStepSolution(), drvKeyCrtl() e drvMouseBt().

#define CRS_SUCCESS   1
 

Define uma operação com sucesso.

Definição na linha 50 do arquivo crs.h.

Referenciado por crsChkNodeUnbalance(), crsCompleteModel(), crsGetGlobalBox(), crsProcessNode(), crsResetSolution(), crsSolveModel(), crsStepSolution(), drvMouseBt(), prjFit(), prjOpenModel(), prjProcessGoThru(), prjProcessNode() e prjProcessStep().

#define ROT_FIX   1
 

Código para rotação fixa em uma extremidade de barra.

Definição na linha 76 do arquivo crs.h.

Referenciado por _dspMemberAtt(), crsAddMember(), crsFixMemberEndRot() e crsFixNodeRot().

#define ROT_FREE   0
 

Código para rotação liberada em uma extremidade de barra.

Definição na linha 72 do arquivo crs.h.

Referenciado por _dspMemberAtt(), crsAddNode(), crsChkNodeUnbalance(), crsFreeMemberEndRot() e crsFreeNodeRot().


Funções

void crsActivateModel void *  model  ) 
 

Esta função ativa um modelo de pórtico plano.

O modelo é fornecido por um ponteiro genérico.

Parâmetros:
model - ponteiro para modelo a ser ativado (in)

Definição na linha 414 do arquivo crs.c.

Referências crs e CrsModel.

Referenciado por prjOpenModel().

int crsAddMember int  node0,
int  node1
 

Esta função armazena os índices dos nós fornecidos na barra corrente.

O índice da barra corrente corresponde ao número de barras antes da chamada desta função. Ela também incrementa o número total de barras. As rotações nas extremidades da barra corrente são fixadas, isto é, a barra corrente é inicializada sem rótulas. A função verifica se o número de barras do modelo é igual ao máximo número de barras com que o vetor de barras está dimensionado. Se este for o caso, a função dobra o tamanho de dimensionamento e realoca o vetor de barras com base no novo tamanho.

Parâmetros:
node0 - índice do nó inicial da barra corrente (in)
node1 - índice do nó final da barra corrente (in)
Retorna:
Índice da barra corrente.

Definição na linha 537 do arquivo crs.c.

Referências crs, CRS_NO_MODEL_DEFINED, _crsmodel::member, _crsmodel::n_member, _crsmember::node0, _crsmember::node1, ROT_FIX, _crsmember::rotlib0 e _crsmember::rotlib1.

Referenciado por ReadBeamElems().

int crsAddNode double  x,
double  y
 

Esta função armazena as coordenadas fornecidas no nó corrente.

O índice do nó corrente corresponde ao número de nós antes da chamada desta função. Ela também incrementa o número total de nós. A rotação do nó corrente é liberada. A função verifica se o número de nós do modelo é igual ao máximo número de nós com que o vetor de nós está dimensionado. Se este for o caso, a função dobra o tamanho de dimensionamento e realoca o vetor de nós com base no novo tamanho.

Parâmetros:
x - coordenada x do nó corrente (in)
y - coordenada y do nó corrente (in)
Retorna:
Índice do nó corrente.

Definição na linha 454 do arquivo crs.c.

Referências crs, CRS_NO_MODEL_DEFINED, _crsmodel::n_node, _crsmodel::node, ROT_FREE, _crsnode::rotlib, _crsnode::x e _crsnode::y.

Referenciado por nfrCrsNodes().

int crsChkNodeUnbalance int  id  ) 
 

Esta função verifica se um nó do modelo ativo que é indicado pelo índice fornecido está em desequilíbrio de momentos.

Um nó está em equilíbrio quando a soma dos momentos fletores em todas as seções adjacentes das barras adjacentes é menor, em módulo, do que o valor da tolerância "mom_tol" do modelo. Os índices válidos para especificar um nó variam de "0" a "n_node-1".

Parâmetros:
id - índice do nó a ser equilibrado (in)
Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo e o processo iterativo não terminou, CRS_NO_STEP_TO_GO (0) quando existe um modelo ativo e o nó fornecido já está equilibrado, CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo ou CRS_FIXED_NODE (-3) se o nó já está em equilíbrio.

Definição na linha 812 do arquivo crs.c.

Referências _crsGetNodeUnbalance(), crs, CRS_FIXED_NODE, CRS_NO_MODEL_DEFINED, CRS_NO_STEP_TO_GO, CRS_SUCCESS, _crsmodel::mom_tol, _crsmodel::node, ROT_FREE e _crsnode::rotlib.

Referenciado por crsProcessNode().

int crsCompleteModel void   ) 
 

Esta função completa a estrutura de dados do modelo de pórtico plano ativo para ser resolvida pelo Processo de Cross.

Ela constroi as listas de barras adjacentes que estão associadas a cada nó. Ela calcula os coeficientes de distribuição de momentos e os coeficientes de transmissão de momentos para todas as barras adjacentes a cada um dos nó do pórtico.

Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo.

Definição na linha 695 do arquivo crs.c.

Referências _crsBuildNodeMemberAdj(), _crsDistribCoef(), crs, CRS_NO_MODEL_DEFINED e CRS_SUCCESS.

Referenciado por prjOpenModel().

void crsFixMemberEndRot int  id,
int  end
 

Esta função fixa a rotação (retira rótula) de uma das extremidades de uma barra do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
end - indica a extremidade da barra (0 = inicial, 1 = final) (in)

Definição na linha 575 do arquivo crs.c.

Referências crs, _crsmodel::member, _crsmodel::n_member, ROT_FIX, _crsmember::rotlib0 e _crsmember::rotlib1.

void crsFixNodeRot int  id  ) 
 

Esta função fixa a rotação de um nó do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice do nó dado não for válido.

Parâmetros:
id - índice do nó no vetor de nós do modelo (in)

Definição na linha 489 do arquivo crs.c.

Referências crs, _crsmodel::n_node, _crsmodel::node, ROT_FIX e _crsnode::rotlib.

Referenciado por ReadNodalSupports().

void crsFreeMemberEndRot int  id,
int  end
 

Esta função libera a rotação (introduz rótula) de uma das extremidades de uma barra do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
end - indica a extremidade da barra (0 = inicial, 1 = final) (in)

Definição na linha 599 do arquivo crs.c.

Referências crs, _crsmodel::member, _crsmodel::n_member, ROT_FREE, _crsmember::rotlib0 e _crsmember::rotlib1.

Referenciado por ReadBeamElems().

void crsFreeModel void *  model  ) 
 

Esta função libera a memória associada a um modelo de pórtico plano.

Ela libera memória utilizada para os vetores de barras e nós do modelo de pórtico plano fornecido (dado por ponteiro). As listas de barras adjacentes de todos os nós do modelo também são liberadas.

Parâmetros:
model - ponteiro para modelo a ser liberado (in)

Definição na linha 432 do arquivo crs.c.

Referenciado por crsInitModel(), prjNew(), prjOpenModel() e prjQuit().

void crsFreeNodeRot int  id  ) 
 

Esta função libera a rotação de um nó do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice do nó dado não for válido.

Parâmetros:
id - índice do nó no vetor de nós do modelo (in)

Definição na linha 508 do arquivo crs.c.

Referências crs, _crsmodel::n_node, _crsmodel::node, ROT_FREE e _crsnode::rotlib.

int crsGetGlobalBox double *  xmin,
double *  xmax,
double *  ymin,
double *  ymax
 

Esta função retorna nos quatro parâmetros os limites das coordenadas x e y do modelo de pórtico plano ativo.

Parâmetros:
xmin - limite inferior da coordenada x (out)
xmax - limite superior da coordenada x (out)
ymin - limite inferior da coordenada y (out)
ymax - limite superior da coordenada y (out)
Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo que não está vazio ou CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo.

Definição na linha 1039 do arquivo crs.c.

Referências crs, CRS_NO_MODEL_DEFINED, CRS_SUCCESS, _crsmodel::n_node, _crsmodel::node, _crsnode::x e _crsnode::y.

Referenciado por prjFit() e prjOpenModel().

void crsGetMemberMoments int  id,
double *  m0,
double *  m1
 

Esta função retorna nos parâmetros os valores dos momentos fletores nas extremidades de uma barra do modelo de pórtico plano ativo.

Os momentos fletores são positivos quando atuam no sentido anti- horário em qualquer das duas extremidades da barra. E são negativos se atuarem no sentido horário. Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
m0 - momento fletor no início da barra (out)
m1 - momento fletor no final da barra (out)

Definição na linha 1013 do arquivo crs.c.

Referências crs, _crsmember::m0, _crsmember::m1, _crsmodel::member e _crsmodel::n_member.

Referenciado por _dspMember() e prjSaveResults().

void crsGetMemberNodes int  id,
int *  node0,
int *  node1
 

Esta função retorna nos parâmetros os índices dos dois nós de uma barra do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
node0 - índice do nó inicial da barra (out)
node1 - índice do nó final da barra (out)

Definição na linha 938 do arquivo crs.c.

Referências crs, _crsmodel::member, _crsmodel::n_member, _crsmember::node0 e _crsmember::node1.

Referenciado por _dspMember() e prjSaveResults().

void crsGetMemberRotLibs int  id,
int *  rotlib0,
int *  rotlib1
 

Esta função retorna nos parâmetros os códigos de liberação de rotação (articulação) de uma barra do modelo de pórtico plano ativo.

Os valores possíveis para os códigos são: ROT_FREE (0) ou ROT_FIX (1). Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
rotlib0 - código de liberação de rotação no início da barra (out)
rotlib1 - código de liberação de rotação no final da barra (out)

Definição na linha 962 do arquivo crs.c.

Referências crs, _crsmodel::member, _crsmodel::n_member, _crsmember::rotlib0 e _crsmember::rotlib1.

Referenciado por _dspMember().

void crsGetMemberUnifLoad int  id,
double *  q
 

Esta função retorna no parâmetro o valor da carga uniformemente distribuída de uma barra do modelo de pórtico plano ativo.

A convenção de sinais adotada é tal que um valor positivo de carga corresponde à direção de baixo para cima com relação ao eixo local y (transversal) da barra. A carga é considerada abrangendo todo o comprimento da barra. Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
q - valor da carga uniformente distribuída (out)

Definição na linha 988 do arquivo crs.c.

Referências crs, _crsmodel::member, _crsmodel::n_member e _crsmember::q.

Referenciado por _dspMember().

void crsGetNodeCoords int  id,
double *  x,
double *  y
 

Esta função retorna nos parâmetros as coordenadas de um nó do do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice do nó dado não for válido.

Parâmetros:
id - índice do nó no vetor de nós do modelo (in)
x - coordenada x do nó corrente (out)
y - coordenada y do nó corrente (out)

Definição na linha 898 do arquivo crs.c.

Referências crs, _crsmodel::n_node, _crsmodel::node, _crsnode::x e _crsnode::y.

Referenciado por _dspMember() e prjSaveResults().

int crsGetNumMembers void   ) 
 

Esta função retorna o número de barras do modelo de pórtico plano ativo.

Se não existir um modelo ativo, o número de barras retornado é nulo.

Retorna:
número total de barras do modelo ativo.

Definição na linha 919 do arquivo crs.c.

Referências crs e _crsmodel::n_member.

Referenciado por dspModel(), prjChkEmptyModel(), prjClipboard(), prjPanDown(), prjPanLeft(), prjPanRight(), prjPanUp(), prjPrint(), prjProcessGoThru(), prjProcessInit(), prjProcessNode(), prjProcessStep(), prjSaveResults(), prjZoomIn() e prjZoomOut().

int crsGetNumNodes void   ) 
 

Esta função retorna o número de nós do modelo de pórtico plano ativo.

Se não existir um modelo ativo, o número de nós retornado é nulo.

Retorna:
numero total de nós do modelo ativo.

Definição na linha 879 do arquivo crs.c.

Referências crs e _crsmodel::n_node.

void* crsInitModel int  max_nodes,
int  max_members
 

Esta função inicializa um novo modelo de pórtico plano.

O tamanho inicial dos vetores de nós e barras do modelo são dimensionados com base nos parâmetros fornecidos (max_nodes e max_members). O número total de nós e barras são inicializados como zero.

Parâmetros:
max_nodes - numero máximo de nós para dimensionamento (in)
max_members - numero máximo de barras para dimensionamento (in)
Retorna:
ponteiro para o novo modelo criado.

Definição na linha 377 do arquivo crs.c.

Referências crsFreeModel(), CrsMember, CrsModel, CrsNode, _crsmodel::max_members, _crsmodel::max_nodes, _crsmodel::member, _crsmodel::n_member, _crsmodel::n_node e _crsmodel::node.

Referenciado por nfrCrsModel().

void crsMemberElasticity int  id,
double  E
 

Esta função define o valor do módulo de elasticidade de uma barra do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
E - valor do módulo de elasticidade (in)

Definição na linha 623 do arquivo crs.c.

Referências crs, _crsmember::E, _crsmodel::member e _crsmodel::n_member.

Referenciado por ReadBeamElems().

void crsMemberInertia int  id,
double  I
 

Esta função define o valor do momento de inércia da seção transversal de uma barra do modelo de pórtico plano ativo.

Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
I - valor do momento de inércia (in)

Definição na linha 644 do arquivo crs.c.

Referências crs, _crsmember::I, _crsmodel::member e _crsmodel::n_member.

Referenciado por ReadBeamElems().

void crsMemberUnifLoad int  id,
double  q
 

Esta função define o valor da carga uniformente distribuída de uma barra do modelo de pórtico plano ativo.

É fornecida a taxa de carregamento transversal uniformemente distribuido da barra, sendo que a convenção de sinais adotada é tal que um valor positivo de carga corresponde à direção de baixo para cima com relação ao eixo local y (transversal) da barra. A carga é considerada abrangendo todo o comprimento da barra. Nada vai acontencer se nenhum modelo estiver ativo ou se o índice da barra dado não for válido.

Parâmetros:
id - índice da barra no vetor de barras do modelo (in)
q - valor da carga uniformente distribuída (in)

Definição na linha 671 do arquivo crs.c.

Referências crs, _crsmodel::member, _crsmodel::n_member e _crsmember::q.

Referenciado por ReadUnifLoad().

int crsPickNode double  x,
double  y,
double  tol
 

Esta função verifica se um ponto (x,y) dado está próximo (a menos de uma tolerância) de um nó do modelo de pórtico plano ativo.

Se o ponto está próximo, o índice do primeiro nó encontrado é retornado.

Parâmetros:
x - coordenada x do ponto dado (in)
y - coordenada y do ponto dado (in)
tol - tolerância para verificar proximidade (in)
Retorna:
O índice do nó encontrando, CRS_FAILURE (-1) quando nenhum nó é encontrado próximo ao ponto ou CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo.

Definição na linha 1082 do arquivo crs.c.

Referências crs, CRS_FAILURE, CRS_NO_MODEL_DEFINED, _crsmodel::n_node, _crsmodel::node, _crsnode::x e _crsnode::y.

Referenciado por prjProcessNode().

int crsProcessNode int  id  ) 
 

Esta função processa o equilíbrio de um nó do modelo ativo que é indicado pelo índice fornecido.

Os índices válidos para especificar um nó variam de "0" a "n_node-1".

Parâmetros:
id - índice do nó a ser equilibrado (in)
Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo e o processo iterativo não terminou, CRS_NO_STEP_TO_GO (0) quando existe um modelo ativo e o nó fornecido já está equilibrado, CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo ou CRS_FIXED_NODE (-3) se o nó já está em equilíbrio.

Definição na linha 854 do arquivo crs.c.

Referências _crsProcessNode(), crs, CRS_NO_MODEL_DEFINED, CRS_SUCCESS e crsChkNodeUnbalance().

Referenciado por prjProcessNode().

int crsResetSolution double  mom_tol  ) 
 

Esta função inicializa o Processo de Cross para o modelo de pórtico plano ativo.

Os momentos fletores iniciais (de engastamento perfeito) são calculados para cada barra em função do seu carregamento distribuído e da presença ou não de articulações em suas extremidades.

Parâmetros:
mom_tol - valor de tolerância de momentos para solução iterativa (in)
Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo ou CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo.

Definição na linha 720 do arquivo crs.c.

Referências _crsInitMoments(), crs, CRS_NO_MODEL_DEFINED, CRS_SUCCESS e _crsmodel::mom_tol.

Referenciado por prjOpenModel() e prjProcessInit().

int crsSolveModel void   ) 
 

Esta função executa o Processo de Cross para o modelo de pórtico plano ativo.

Os momentos fletores não são reinicializados, isto é, a solução executada continua do estado corrente do processo iterativo, que pode estar no início ou não.

Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo, CRS_NO_STEP_TO_GO (0) quando existe um modelo ativo e o todos os nós já estão equilibrados ou CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo.

Definição na linha 745 do arquivo crs.c.

Referências _crsGetMaxMomNode(), _crsProcessNode(), crs, CRS_NO_MODEL_DEFINED, CRS_NO_STEP_TO_GO e CRS_SUCCESS.

Referenciado por prjProcessGoThru().

int crsStepSolution void   ) 
 

Esta função processa o equilíbrio de um nó do modelo ativo que tem o maior desequilíbrio de momentos em módulo.

Retorna:
CRS_SUCCESS (1) quando existe um modelo ativo e o processo iterativo não terminou, CRS_NO_STEP_TO_GO (0) quando existe um modelo ativo e o todos os nós já estão equilibrados ou CRS_NO_MODEL_DEFINED (-2) quando não tem nenhum modelo ativo.

Definição na linha 777 do arquivo crs.c.

Referências _crsGetMaxMomNode(), _crsProcessNode(), crs, CRS_NO_MODEL_DEFINED, CRS_NO_STEP_TO_GO e CRS_SUCCESS.

Referenciado por prjProcessStep().


Gerado em Tue Oct 5 04:55:03 2004 para Trab3 por doxygen 1.3.4