    

 ## On this page

  

 

 # OpenTD.CoSolver.CoSolver Class Reference

 Last update: 16.07.2025 

Base class for communicating with a Sinda run via an [SF\_Pipe](class_open_t_d_1_1_co_solver_1_1_s_f___pipe.xhtml "Used internally to communicate with Sinda."). [More...](#details)

Inheritance diagram for OpenTD.CoSolver.CoSolver:

 ![](/sites/default/files/migrate-content/opentd_net4_reference_2025_r2_1/class_open_t_d_1_1_co_solver_1_1_co_solver.png)



## <a id="pub-methods" name="pub-methods"></a>Public Member Functions

virtual void [Initialize](#a2b2283732dba7e7d312e760dbeb27191) () void [SetupExperiment](#a3617fe6ead5cfdb4a2e1c2177da800cc) () void [Abort](#ab45be42c6a06f59684f5232c04317755) () int [DoStep](#a5059321ccef0a7cb7027e182517a2edf) () int [Continue](#a26e1f508235105f180744456e538e930) () Tells Sinda to proceed to the next step of the simulation. Return values: -1 - Sinda disconnected or error 0 - Sinda initial connection after call to OPENSF 99 - Sinda termination.   
 string [GetRegisterExpression](#a85b0472bf5932492d43ddb589b95c231) (string name) double [GetRegisterValue](#a3fe1cba2a7d2367faf067cc004bcef24) (string name) void [SetRegisterExpression](#a3bf3e26398bddb3e61c2b2e58b5c2006) (string name, double value) double [GetValue](#a5bc4e6285fb2da1ab4d09e3065201e0e) (string submodel, int Id, string type) double [GetValue](#afd416c6c01ee8f3a4fad228477f0352e) (int SequenceNumber, string type) double [GetValue](#a31513b256d23a5bb0daa2b948ed11d5d) (string name) Int64 [GetNodeSequenceNumber](#a018de939561d328eba2517f39bdfbf29) (string submodel, int Id) Int64 [GetPathSequenceNumber](#a81303c10f46ccf88c67b2a1ac3b4f8de) (string submodel, int Id) Int64 [GetCondSequenceNumber](#af2472b19adc74748e9e862017f62a853) (string submodel, int Id) Int64 [GetTieSequenceNumber](#a2a876b2c903f5f61a209627c6e9ce79d) (string submodel, int Id) Int64 [GetLumpSequenceNumber](#ac302e07ccdedafb16f583cd7560a6702) (string submodel, int Id) void [Set\_Q\_UDFA](#a4792ad1dadfcf3d67318f9b71831e361) (string name, int SequenceNumber, double value) void [SetValue](#ae029c9741f0979c7fef84c0a59865c05) (string submodel, int Id, string type, double value) void [SetValue](#ae9157045732329d7f4dd96b7f85caa9e) (int SequenceNumber, string type, double value) void [SetValue](#a4353240e4b26f00f490452d14ea07d0c) (string name, double value) ## <a id="pro-methods" name="pro-methods"></a>Protected Member Functions

void [CreateSF\_Pipe](#ac0bc1cbcf8feb2a504c04f813e1f7c55) () void [CloseSF\_Pipe](#aeadeeee9ef248a6febf7defefa9fa075) () ## <a id="pro-attribs" name="pro-attribs"></a>Protected Attributes

string [pipeID](#a42f3b1b18324270d9498fce125d139bf) [SF\_Pipe](class_open_t_d_1_1_co_solver_1_1_s_f___pipe.xhtml) [sf\_pipe](#a1311704d2ea767044512f393fd052744) = null ## <a id="properties" name="properties"></a>Properties

int [InitializeTimeoutMs](#a51bc32b974dc706efac6d5a72635eb60) = 60000` [get, set]` Determines how long in milliseconds that [Initialize()](#a2b2283732dba7e7d312e760dbeb27191) will try to connect to the Sinda run.   
 double [CouplingTimeStep](#a0424dcf08184f4116a510aecb8f99a77)` [set]` bool [Converged](#a81c92dc248fde5644c0e46702c5145cd)` [set]` <a id="details" name="details"></a>## Detailed Description

Base class for communicating with a Sinda run via an [SF\_Pipe](class_open_t_d_1_1_co_solver_1_1_s_f___pipe.xhtml "Used internally to communicate with Sinda.").



## Member Function Documentation

<a id="ab45be42c6a06f59684f5232c04317755" name="ab45be42c6a06f59684f5232c04317755"></a>## [◆ ](#ab45be42c6a06f59684f5232c04317755)Abort()

 void OpenTD.CoSolver.CoSolver.Abort  ( )   inline 





<a id="aeadeeee9ef248a6febf7defefa9fa075" name="aeadeeee9ef248a6febf7defefa9fa075"></a>## [◆ ](#aeadeeee9ef248a6febf7defefa9fa075)CloseSF\_Pipe()

 void OpenTD.CoSolver.CoSolver.CloseSF\_Pipe  ( )   inlineprotected 





<a id="a26e1f508235105f180744456e538e930" name="a26e1f508235105f180744456e538e930"></a>## [◆ ](#a26e1f508235105f180744456e538e930)Continue()

 int OpenTD.CoSolver.CoSolver.Continue  ( )   inline 

Tells Sinda to proceed to the next step of the simulation. Return values: -1 - Sinda disconnected or error 0 - Sinda initial connection after call to OPENSF 99 - Sinda termination.

11 - beginning of STEADY 12 - end of STEADY

1 - beginning of TRANSIENT 2 - at end of TRANSIENT time step 3 - at end of TRANSIENT





<a id="ac0bc1cbcf8feb2a504c04f813e1f7c55" name="ac0bc1cbcf8feb2a504c04f813e1f7c55"></a>## [◆ ](#ac0bc1cbcf8feb2a504c04f813e1f7c55)CreateSF\_Pipe()

 void OpenTD.CoSolver.CoSolver.CreateSF\_Pipe  ( )   inlineprotected 





<a id="a5059321ccef0a7cb7027e182517a2edf" name="a5059321ccef0a7cb7027e182517a2edf"></a>## [◆ ](#a5059321ccef0a7cb7027e182517a2edf)DoStep()

 int OpenTD.CoSolver.CoSolver.DoStep  ( )   inline 





<a id="af2472b19adc74748e9e862017f62a853" name="af2472b19adc74748e9e862017f62a853"></a>## [◆ ](#af2472b19adc74748e9e862017f62a853)GetCondSequenceNumber()

 Int64 OpenTD.CoSolver.CoSolver.GetCondSequenceNumber  ( string *submodel*,    int *Id* )  inline 





<a id="ac302e07ccdedafb16f583cd7560a6702" name="ac302e07ccdedafb16f583cd7560a6702"></a>## [◆ ](#ac302e07ccdedafb16f583cd7560a6702)GetLumpSequenceNumber()

 Int64 OpenTD.CoSolver.CoSolver.GetLumpSequenceNumber  ( string *submodel*,    int *Id* )  inline 





<a id="a018de939561d328eba2517f39bdfbf29" name="a018de939561d328eba2517f39bdfbf29"></a>## [◆ ](#a018de939561d328eba2517f39bdfbf29)GetNodeSequenceNumber()

 Int64 OpenTD.CoSolver.CoSolver.GetNodeSequenceNumber  ( string *submodel*,    int *Id* )  inline 





<a id="a81303c10f46ccf88c67b2a1ac3b4f8de" name="a81303c10f46ccf88c67b2a1ac3b4f8de"></a>## [◆ ](#a81303c10f46ccf88c67b2a1ac3b4f8de)GetPathSequenceNumber()

 Int64 OpenTD.CoSolver.CoSolver.GetPathSequenceNumber  ( string *submodel*,    int *Id* )  inline 





<a id="a85b0472bf5932492d43ddb589b95c231" name="a85b0472bf5932492d43ddb589b95c231"></a>## [◆ ](#a85b0472bf5932492d43ddb589b95c231)GetRegisterExpression()

 string OpenTD.CoSolver.CoSolver.GetRegisterExpression  ( string *name*)   inline 





<a id="a3fe1cba2a7d2367faf067cc004bcef24" name="a3fe1cba2a7d2367faf067cc004bcef24"></a>## [◆ ](#a3fe1cba2a7d2367faf067cc004bcef24)GetRegisterValue()

 double OpenTD.CoSolver.CoSolver.GetRegisterValue  ( string *name*)   inline 





<a id="a2a876b2c903f5f61a209627c6e9ce79d" name="a2a876b2c903f5f61a209627c6e9ce79d"></a>## [◆ ](#a2a876b2c903f5f61a209627c6e9ce79d)GetTieSequenceNumber()

 Int64 OpenTD.CoSolver.CoSolver.GetTieSequenceNumber  ( string *submodel*,    int *Id* )  inline 





<a id="afd416c6c01ee8f3a4fad228477f0352e" name="afd416c6c01ee8f3a4fad228477f0352e"></a>## [◆ ](#afd416c6c01ee8f3a4fad228477f0352e)GetValue() \[1/3\]

 double OpenTD.CoSolver.CoSolver.GetValue  ( int *SequenceNumber*,    string *type* )  inline 





<a id="a31513b256d23a5bb0daa2b948ed11d5d" name="a31513b256d23a5bb0daa2b948ed11d5d"></a>## [◆ ](#a31513b256d23a5bb0daa2b948ed11d5d)GetValue() \[2/3\]

 double OpenTD.CoSolver.CoSolver.GetValue  ( string *name*)   inline 





<a id="a5bc4e6285fb2da1ab4d09e3065201e0e" name="a5bc4e6285fb2da1ab4d09e3065201e0e"></a>## [◆ ](#a5bc4e6285fb2da1ab4d09e3065201e0e)GetValue() \[3/3\]

 double OpenTD.CoSolver.CoSolver.GetValue  ( string *submodel*,    int *Id*,    string *type* )  inline 





<a id="a2b2283732dba7e7d312e760dbeb27191" name="a2b2283732dba7e7d312e760dbeb27191"></a>## [◆ ](#a2b2283732dba7e7d312e760dbeb27191)Initialize()

 virtual void OpenTD.CoSolver.CoSolver.Initialize  ( )   inlinevirtual 

Reimplemented in [OpenTD.CoSolver.SF\_CoSolver](class_open_t_d_1_1_co_solver_1_1_s_f___co_solver.xhtml#a526487765b7f0541daf58240ad604aea), and [OpenTD.CoSolver.TDSF\_CoSolver](class_open_t_d_1_1_co_solver_1_1_t_d_s_f___co_solver.xhtml#a30e51b23080c6c567665585f1069fca7).





<a id="a4792ad1dadfcf3d67318f9b71831e361" name="a4792ad1dadfcf3d67318f9b71831e361"></a>## [◆ ](#a4792ad1dadfcf3d67318f9b71831e361)Set\_Q\_UDFA()

 void OpenTD.CoSolver.CoSolver.Set\_Q\_UDFA  ( string *name*,    int *SequenceNumber*,    double *value* )  inline 





<a id="a3bf3e26398bddb3e61c2b2e58b5c2006" name="a3bf3e26398bddb3e61c2b2e58b5c2006"></a>## [◆ ](#a3bf3e26398bddb3e61c2b2e58b5c2006)SetRegisterExpression()

 void OpenTD.CoSolver.CoSolver.SetRegisterExpression  ( string *name*,    double *value* )  inline 





<a id="a3617fe6ead5cfdb4a2e1c2177da800cc" name="a3617fe6ead5cfdb4a2e1c2177da800cc"></a>## [◆ ](#a3617fe6ead5cfdb4a2e1c2177da800cc)SetupExperiment()

 void OpenTD.CoSolver.CoSolver.SetupExperiment  ( )   inline 





<a id="ae9157045732329d7f4dd96b7f85caa9e" name="ae9157045732329d7f4dd96b7f85caa9e"></a>## [◆ ](#ae9157045732329d7f4dd96b7f85caa9e)SetValue() \[1/3\]

 void OpenTD.CoSolver.CoSolver.SetValue  ( int *SequenceNumber*,    string *type*,    double *value* )  inline 





<a id="a4353240e4b26f00f490452d14ea07d0c" name="a4353240e4b26f00f490452d14ea07d0c"></a>## [◆ ](#a4353240e4b26f00f490452d14ea07d0c)SetValue() \[2/3\]

 void OpenTD.CoSolver.CoSolver.SetValue  ( string *name*,    double *value* )  inline 





<a id="ae029c9741f0979c7fef84c0a59865c05" name="ae029c9741f0979c7fef84c0a59865c05"></a>## [◆ ](#ae029c9741f0979c7fef84c0a59865c05)SetValue() \[3/3\]

 void OpenTD.CoSolver.CoSolver.SetValue  ( string *submodel*,    int *Id*,    string *type*,    double *value* )  inline 





## Member Data Documentation

<a id="a42f3b1b18324270d9498fce125d139bf" name="a42f3b1b18324270d9498fce125d139bf"></a>## [◆ ](#a42f3b1b18324270d9498fce125d139bf)pipeID

 string OpenTD.CoSolver.CoSolver.pipeID  protected 





<a id="a1311704d2ea767044512f393fd052744" name="a1311704d2ea767044512f393fd052744"></a>## [◆ ](#a1311704d2ea767044512f393fd052744)sf\_pipe

 [SF\_Pipe](class_open_t_d_1_1_co_solver_1_1_s_f___pipe.xhtml) OpenTD.CoSolver.CoSolver.sf\_pipe = null  protected 





## Property Documentation

<a id="a81c92dc248fde5644c0e46702c5145cd" name="a81c92dc248fde5644c0e46702c5145cd"></a>## [◆ ](#a81c92dc248fde5644c0e46702c5145cd)Converged

 bool OpenTD.CoSolver.CoSolver.Converged  set 





<a id="a0424dcf08184f4116a510aecb8f99a77" name="a0424dcf08184f4116a510aecb8f99a77"></a>## [◆ ](#a0424dcf08184f4116a510aecb8f99a77)CouplingTimeStep

 double OpenTD.CoSolver.CoSolver.CouplingTimeStep  set 





<a id="a51bc32b974dc706efac6d5a72635eb60" name="a51bc32b974dc706efac6d5a72635eb60"></a>## [◆ ](#a51bc32b974dc706efac6d5a72635eb60)InitializeTimeoutMs

 int OpenTD.CoSolver.CoSolver.InitializeTimeoutMs = 60000  getset 

Determines how long in milliseconds that [Initialize()](#a2b2283732dba7e7d312e760dbeb27191) will try to connect to the Sinda run.





---

The documentation for this class was generated from the following file:- C:/Users/mgarrett/source/repos/BuildsTdSuite/builds/TDDEV\_ALPHA/buildXX/OpenTD.CoSolver/**CoSolver.cs**