Opened 16 years ago

Closed 16 years ago

#21 closed defect (fixed)

Operações matriciais

Reported by: Argimiro Resende Secchi Owned by: Rafael de Pelegrini Soares
Priority: major Milestone:
Component: EMSO Version: 0.9.48
Keywords: sum x sumt Cc:

Description

No exemplo em anexo, ao fazer a análise de consistência do exemplo sample_stoic_conv, ocorre um erro na linha 211 do arquivo stoic.mso devido a dimensão das matrizes quando usamos sum() na primeira operação e falha de mamória quando usamo sumt() no lugar.

Attachments (3)

sample_stoic.mso (5.1 KB) - added by Argimiro Resende Secchi 16 years ago.
stoic.mso (6.0 KB) - added by Argimiro Resende Secchi 16 years ago.
tank_basic.mso (5.9 KB) - added by Argimiro Resende Secchi 16 years ago.

Download all attachments as: .zip

Change History (8)

Changed 16 years ago by Argimiro Resende Secchi

Attachment: sample_stoic.mso added

Changed 16 years ago by Argimiro Resende Secchi

Attachment: stoic.mso added

comment:1 Changed 16 years ago by Rafael de Pelegrini Soares

Necessita mais informações:

  • O exemplo anexado depende do arquivo "tank_basic" que não foi anexado.

Changed 16 years ago by Argimiro Resende Secchi

Attachment: tank_basic.mso added

comment:2 in reply to:  1 Changed 16 years ago by Argimiro Resende Secchi

Anexado!

Replying to rafael:

Necessita mais informações:

  • O exemplo anexado depende do arquivo "tank_basic" que não foi anexado.

comment:3 Changed 16 years ago by Rafael de Pelegrini Soares

Status: newassigned

Problema reproduzido mas ainda não foi resolvido.

Independente disto, os modelos em anexo utilizam o número de reações "NReac" como "ext", acredito que isto não seja adequado para o caso de reações (cada reator do diagrama pode ter reações diferentes).

comment:4 Changed 16 years ago by Rafael de Pelegrini Soares

O problema pode ser reproduzido com o seguinte FlowSheet? reduzido:

FlowSheet Teste
	PARAMETERS
	stoic(5,3) as Real(Default=1);
	
	VARIABLES
	s(5) as Real;
	
	EQUATIONS
	s = sumt(stoic);
	
	OPTIONS
	#mode = "static";
end

Se é selecionado o modo estático, o problema não aparece. Provavelmente o bug está relacionado com o código de derivação.

comment:5 Changed 16 years ago by Rafael de Pelegrini Soares

Resolution: fixed
Status: assignedclosed

Problema resolvido, estará na próxima distribuição.

Fonte do problema:

  • Uma chamada tipo: "sum(par)"
  • Onde "par" é uma expressão que depende apenas de parâmetros
  • A derivada de parâmetros gera nós "nulos" ao invés de nós "zeros" para ser mais eficiente, isto acabou gerando problemas em tempo de execução
Note: See TracTickets for help on using tickets.