GAMS Source
equil(dof)..sum(members,C(members,dof)*QF(members)) =e= F(dof);
QF(members)/S(members) =e= sum(dof,C(members,dof)*u(dof))
- lambda("plus",members) + lambda("minus",members);
- QF(members)$plus(plastic) + QF(members)$minus(plastic)
+ q0(plastic,"beam")$be(members)
+ q0(plastic,"spring")$sp(members)
+ (h(plastic,"beam")*lambda(plastic,members))$be(members)
+ (h(plastic,"spring")*lambda(plastic,members))$sp(members)
q0.fx(...) = ...; h.fx(...) = 0;
model base /equil.u,constit.QF,yield.lambda /;
PARAMETER pertu(dof) / …. /;
positive variables uerr(dof1);
equations lower(dof1),upper(dof1),uerrdef;
lower(dof1).. u(dof1) =g= pertu(dof1) - uerr(dof1);
upper(dof1).. u(dof1) =l= pertu(dof1) + uerr(dof1);
uerrdef.. mu =e= sum(dof1,uerr(dof1));
model identify /equil.u,constit.QF,yield.lambda,lower,upper,uerrdef/;