title: What is the meaning of "Algebraic loop involving integers or booleans" in the error message
body: <p>I'm making the PI controller using the Dymola Platform and i met the error message like below</p>
  
  <p><a href="https://i.stack.imgur.com/1gwaG.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/1gwaG.png" alt="Error message"></a></p>
  
  <p>And here's some of my code that consist of valve which calculate the disp and PI controller which control the amount of the disp.
  They are communicating each other using the flag</p>
  
  <pre class="lang-c prettyprint-override"><code>  //PI controller///
  
    if flag_input==1 then //flag_input==1 : Stop control / flag_input==0 : Restart control//
      control:=0;
    else
      control:=(P_term+I_term)/unit;
    end if;
  
    if error&lt;0 then // error&lt;0 : flag to Valve to restart calculating the disp//
      flag_output:=1;
    else
      flag_output:=0;
    end if;
  
  //Valve//
  
    if (26/5)*(thetta/(2*pi))*0.001&gt;0.026 and flag_input==0 then
    //restart calculating the disp when received flag==1 from the PI controller//
      disp:=0.026;
      flag:=1;
    elseif (26/5)*(thetta/(2*pi))*0.001&lt;0 and flag_input==0 then
      disp:=0;
      flag:=1;
    else
      disp:=(26/5)*(thetta/(2*pi))*0.001;
      flag:=0;
    end if;
  </code></pre>
  
  <p>Can someone tell me what is the meaning of algebraic loop error and figure out the problem?</p>