2012-05-31 3 views
4

매개 변수를 조건에 따라 특정 유형으로 만들려고합니다. 그러나이 작업을 수행하는 방법이나 이것이 실제로 Modelica에서 가능하거나 합법적인지 여부는 확실하지 않습니다. 내가하고 싶은 것을 원칙이 (비 작동 코드 예제) 같은 것입니다 :매개 변수에 대한 조건부 유형 지정이 가능합니까?

package test 
type TypeA=enumeration(A,C,E); 
type TypeB=enumeration(B,D,F); 

model foo 
    parameter Boolean Condition; 
    parameter if Condition then TypeA else TypeB MyParameter; 
end foo; 
end test; 
+0

그것이 효과가 있다면 정말 좋을 것입니다. :-피 – Christoph

답변

2

내가 교체 모델 또는 교체 유형이 acheive 기대했다,하지만 난 거기받지 못했습니다.

그러나 아래 코드는 foo의 인스턴스에서 MyParameter의 유형을 변경할 수 있도록합니다. 어쩌면 이것이 도움이 될 수도 있고, 누군가에게 직업을 끝내는 데 영감을 줄 수도 있습니다.

package test 
type TypeA = enumeration(A,C, E); 
type TypeB = enumeration(B, D, F); 

model foo 
    parameter Boolean Condition; 
    replaceable type MyType = TypeA; 
    parameter MyType MyParameter; 
end foo; 

model UseFoo 
    foo myfoo(Condition=true, redeclare TypeB MyType, 
    MyParameter = TypeB.B); 
end UseFoo; 

end test; 
관련 문제