How to pass multiple variables from one model to another model (inner/outer)












1















Let's say we have the following model:



Collector:



model Collector
Real collect_here;
annotation(defaultComponentPrefixes="inner");
end Collector;


and the following model potentially multiple times:



model Calculator
outer Collector collector;
Real calculatedVariable = 2*time;

equation
calculatedVariable = collector.collect_here;

end Calculator;


The code above works if calcModel is present only once in the system to be simulated. If the model exists more than once I get a singular system. This is demonstrated by the Example below. Changing the parameter works either gives a working or failing system.



model Example
parameter Boolean works = true;

inner Collector collector;
Calculator calculator1;
Calculator calculator2 if not works;

end Example;


Using an array inside the collector to pass multiple variables in it doesn't solve it.



Another possible way to solve this is possible by use of connectors, but I only made it work with one calcModel.










share|improve this question





























    1















    Let's say we have the following model:



    Collector:



    model Collector
    Real collect_here;
    annotation(defaultComponentPrefixes="inner");
    end Collector;


    and the following model potentially multiple times:



    model Calculator
    outer Collector collector;
    Real calculatedVariable = 2*time;

    equation
    calculatedVariable = collector.collect_here;

    end Calculator;


    The code above works if calcModel is present only once in the system to be simulated. If the model exists more than once I get a singular system. This is demonstrated by the Example below. Changing the parameter works either gives a working or failing system.



    model Example
    parameter Boolean works = true;

    inner Collector collector;
    Calculator calculator1;
    Calculator calculator2 if not works;

    end Example;


    Using an array inside the collector to pass multiple variables in it doesn't solve it.



    Another possible way to solve this is possible by use of connectors, but I only made it work with one calcModel.










    share|improve this question



























      1












      1








      1








      Let's say we have the following model:



      Collector:



      model Collector
      Real collect_here;
      annotation(defaultComponentPrefixes="inner");
      end Collector;


      and the following model potentially multiple times:



      model Calculator
      outer Collector collector;
      Real calculatedVariable = 2*time;

      equation
      calculatedVariable = collector.collect_here;

      end Calculator;


      The code above works if calcModel is present only once in the system to be simulated. If the model exists more than once I get a singular system. This is demonstrated by the Example below. Changing the parameter works either gives a working or failing system.



      model Example
      parameter Boolean works = true;

      inner Collector collector;
      Calculator calculator1;
      Calculator calculator2 if not works;

      end Example;


      Using an array inside the collector to pass multiple variables in it doesn't solve it.



      Another possible way to solve this is possible by use of connectors, but I only made it work with one calcModel.










      share|improve this question
















      Let's say we have the following model:



      Collector:



      model Collector
      Real collect_here;
      annotation(defaultComponentPrefixes="inner");
      end Collector;


      and the following model potentially multiple times:



      model Calculator
      outer Collector collector;
      Real calculatedVariable = 2*time;

      equation
      calculatedVariable = collector.collect_here;

      end Calculator;


      The code above works if calcModel is present only once in the system to be simulated. If the model exists more than once I get a singular system. This is demonstrated by the Example below. Changing the parameter works either gives a working or failing system.



      model Example
      parameter Boolean works = true;

      inner Collector collector;
      Calculator calculator1;
      Calculator calculator2 if not works;

      end Example;


      Using an array inside the collector to pass multiple variables in it doesn't solve it.



      Another possible way to solve this is possible by use of connectors, but I only made it work with one calcModel.







      modelica dymola






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 14 '18 at 9:19









      Markus A.

      698113




      698113










      asked Nov 13 '18 at 15:21









      PhilPhil

      1258




      1258
























          2 Answers
          2






          active

          oldest

          votes


















          3














          Using multiple instances of Calculator does brake the model, as the single variable calculatedVariable will have multiple equations trying to compute its value. Therefore Dymola complains that the system is structurally singular, in this case meaning that there are more equations than variables in the resulting system of equations.



          To give a bit more of an insight: Actually checking Collector will fail, as since Modelica 3.0 every component has to be balanced (meaning it has to have as many unknowns as states), which is not the case for Collector as it does have one unknown but no equation. This strongly limits the possible applications for the inner/outer construct as basically every variable has to be computed where it is defined.



          In the given example this is compensated in the overall system if exactly one Calculator is used. So this single combination will work. Although this works, it is something that should not be done - for the obvious reason of being very error-prone (and all sub-models should pass the check).



          Your question on how to solve this issue actually misses a description of what the issue actually is. There are some cases in my mind that your approach could be useful for:




          1. You want to plot multiple variables from a single point, which would be collector. For this purpose "variable selections" should be the most straight-forward way to go: see Dymola Manual Vol. 1, Section "4.3.11 Matching and variable selections" on how to apply them.

          2. You want to carry out some mathematical operation on that variables. Then it could be useful to have a vectorized input of variable size. This enables an arbitrary number of connections to this input. For an example of this take a look at: Modelica.Blocks.Math.MultiSum

          3. You want to route multiple signals between different models (which is unlikely judging from your description, but still): Then expandable connectors would be a good possibility. To get an impression of what that does take a look at Modelica.Blocks.Examples.BusUsage.


          Hope this helps, otherwise please specify more clearly what you actually want to achieve with your code.






          share|improve this answer


























          • I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

            – Phil
            Nov 14 '18 at 8:30











          • Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

            – Markus A.
            Nov 14 '18 at 9:08













          • Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

            – Phil
            Nov 14 '18 at 9:16













          • The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

            – Markus A.
            Nov 14 '18 at 9:25











          • I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

            – Phil
            Nov 14 '18 at 9:29



















          3














          I prepared a demonstrative library for such scenario some days ago. You can access it at https://gist.github.com/beutlich/e630b2bf6cdf3efe96e5e9a637124fe1. If you read the documentation on Example2 you can see the link to an article from H. Elmqvis et. al., which is the clue to your problem. That is, you need a connector, and inherited connects from every Calculator to the one Collector.






          share|improve this answer

























            Your Answer






            StackExchange.ifUsing("editor", function () {
            StackExchange.using("externalEditor", function () {
            StackExchange.using("snippets", function () {
            StackExchange.snippets.init();
            });
            });
            }, "code-snippets");

            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "1"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: true,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: 10,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53284169%2fhow-to-pass-multiple-variables-from-one-model-to-another-model-inner-outer%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            2 Answers
            2






            active

            oldest

            votes








            2 Answers
            2






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            3














            Using multiple instances of Calculator does brake the model, as the single variable calculatedVariable will have multiple equations trying to compute its value. Therefore Dymola complains that the system is structurally singular, in this case meaning that there are more equations than variables in the resulting system of equations.



            To give a bit more of an insight: Actually checking Collector will fail, as since Modelica 3.0 every component has to be balanced (meaning it has to have as many unknowns as states), which is not the case for Collector as it does have one unknown but no equation. This strongly limits the possible applications for the inner/outer construct as basically every variable has to be computed where it is defined.



            In the given example this is compensated in the overall system if exactly one Calculator is used. So this single combination will work. Although this works, it is something that should not be done - for the obvious reason of being very error-prone (and all sub-models should pass the check).



            Your question on how to solve this issue actually misses a description of what the issue actually is. There are some cases in my mind that your approach could be useful for:




            1. You want to plot multiple variables from a single point, which would be collector. For this purpose "variable selections" should be the most straight-forward way to go: see Dymola Manual Vol. 1, Section "4.3.11 Matching and variable selections" on how to apply them.

            2. You want to carry out some mathematical operation on that variables. Then it could be useful to have a vectorized input of variable size. This enables an arbitrary number of connections to this input. For an example of this take a look at: Modelica.Blocks.Math.MultiSum

            3. You want to route multiple signals between different models (which is unlikely judging from your description, but still): Then expandable connectors would be a good possibility. To get an impression of what that does take a look at Modelica.Blocks.Examples.BusUsage.


            Hope this helps, otherwise please specify more clearly what you actually want to achieve with your code.






            share|improve this answer


























            • I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

              – Phil
              Nov 14 '18 at 8:30











            • Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

              – Markus A.
              Nov 14 '18 at 9:08













            • Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

              – Phil
              Nov 14 '18 at 9:16













            • The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

              – Markus A.
              Nov 14 '18 at 9:25











            • I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

              – Phil
              Nov 14 '18 at 9:29
















            3














            Using multiple instances of Calculator does brake the model, as the single variable calculatedVariable will have multiple equations trying to compute its value. Therefore Dymola complains that the system is structurally singular, in this case meaning that there are more equations than variables in the resulting system of equations.



            To give a bit more of an insight: Actually checking Collector will fail, as since Modelica 3.0 every component has to be balanced (meaning it has to have as many unknowns as states), which is not the case for Collector as it does have one unknown but no equation. This strongly limits the possible applications for the inner/outer construct as basically every variable has to be computed where it is defined.



            In the given example this is compensated in the overall system if exactly one Calculator is used. So this single combination will work. Although this works, it is something that should not be done - for the obvious reason of being very error-prone (and all sub-models should pass the check).



            Your question on how to solve this issue actually misses a description of what the issue actually is. There are some cases in my mind that your approach could be useful for:




            1. You want to plot multiple variables from a single point, which would be collector. For this purpose "variable selections" should be the most straight-forward way to go: see Dymola Manual Vol. 1, Section "4.3.11 Matching and variable selections" on how to apply them.

            2. You want to carry out some mathematical operation on that variables. Then it could be useful to have a vectorized input of variable size. This enables an arbitrary number of connections to this input. For an example of this take a look at: Modelica.Blocks.Math.MultiSum

            3. You want to route multiple signals between different models (which is unlikely judging from your description, but still): Then expandable connectors would be a good possibility. To get an impression of what that does take a look at Modelica.Blocks.Examples.BusUsage.


            Hope this helps, otherwise please specify more clearly what you actually want to achieve with your code.






            share|improve this answer


























            • I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

              – Phil
              Nov 14 '18 at 8:30











            • Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

              – Markus A.
              Nov 14 '18 at 9:08













            • Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

              – Phil
              Nov 14 '18 at 9:16













            • The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

              – Markus A.
              Nov 14 '18 at 9:25











            • I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

              – Phil
              Nov 14 '18 at 9:29














            3












            3








            3







            Using multiple instances of Calculator does brake the model, as the single variable calculatedVariable will have multiple equations trying to compute its value. Therefore Dymola complains that the system is structurally singular, in this case meaning that there are more equations than variables in the resulting system of equations.



            To give a bit more of an insight: Actually checking Collector will fail, as since Modelica 3.0 every component has to be balanced (meaning it has to have as many unknowns as states), which is not the case for Collector as it does have one unknown but no equation. This strongly limits the possible applications for the inner/outer construct as basically every variable has to be computed where it is defined.



            In the given example this is compensated in the overall system if exactly one Calculator is used. So this single combination will work. Although this works, it is something that should not be done - for the obvious reason of being very error-prone (and all sub-models should pass the check).



            Your question on how to solve this issue actually misses a description of what the issue actually is. There are some cases in my mind that your approach could be useful for:




            1. You want to plot multiple variables from a single point, which would be collector. For this purpose "variable selections" should be the most straight-forward way to go: see Dymola Manual Vol. 1, Section "4.3.11 Matching and variable selections" on how to apply them.

            2. You want to carry out some mathematical operation on that variables. Then it could be useful to have a vectorized input of variable size. This enables an arbitrary number of connections to this input. For an example of this take a look at: Modelica.Blocks.Math.MultiSum

            3. You want to route multiple signals between different models (which is unlikely judging from your description, but still): Then expandable connectors would be a good possibility. To get an impression of what that does take a look at Modelica.Blocks.Examples.BusUsage.


            Hope this helps, otherwise please specify more clearly what you actually want to achieve with your code.






            share|improve this answer















            Using multiple instances of Calculator does brake the model, as the single variable calculatedVariable will have multiple equations trying to compute its value. Therefore Dymola complains that the system is structurally singular, in this case meaning that there are more equations than variables in the resulting system of equations.



            To give a bit more of an insight: Actually checking Collector will fail, as since Modelica 3.0 every component has to be balanced (meaning it has to have as many unknowns as states), which is not the case for Collector as it does have one unknown but no equation. This strongly limits the possible applications for the inner/outer construct as basically every variable has to be computed where it is defined.



            In the given example this is compensated in the overall system if exactly one Calculator is used. So this single combination will work. Although this works, it is something that should not be done - for the obvious reason of being very error-prone (and all sub-models should pass the check).



            Your question on how to solve this issue actually misses a description of what the issue actually is. There are some cases in my mind that your approach could be useful for:




            1. You want to plot multiple variables from a single point, which would be collector. For this purpose "variable selections" should be the most straight-forward way to go: see Dymola Manual Vol. 1, Section "4.3.11 Matching and variable selections" on how to apply them.

            2. You want to carry out some mathematical operation on that variables. Then it could be useful to have a vectorized input of variable size. This enables an arbitrary number of connections to this input. For an example of this take a look at: Modelica.Blocks.Math.MultiSum

            3. You want to route multiple signals between different models (which is unlikely judging from your description, but still): Then expandable connectors would be a good possibility. To get an impression of what that does take a look at Modelica.Blocks.Examples.BusUsage.


            Hope this helps, otherwise please specify more clearly what you actually want to achieve with your code.







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 14 '18 at 8:27

























            answered Nov 13 '18 at 20:18









            Markus A.Markus A.

            698113




            698113













            • I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

              – Phil
              Nov 14 '18 at 8:30











            • Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

              – Markus A.
              Nov 14 '18 at 9:08













            • Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

              – Phil
              Nov 14 '18 at 9:16













            • The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

              – Markus A.
              Nov 14 '18 at 9:25











            • I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

              – Phil
              Nov 14 '18 at 9:29



















            • I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

              – Phil
              Nov 14 '18 at 8:30











            • Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

              – Markus A.
              Nov 14 '18 at 9:08













            • Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

              – Phil
              Nov 14 '18 at 9:16













            • The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

              – Markus A.
              Nov 14 '18 at 9:25











            • I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

              – Phil
              Nov 14 '18 at 9:29

















            I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

            – Phil
            Nov 14 '18 at 8:30





            I want to collect the heat loss calculated from a collection of models so that its easier to process in the analysis of the system.

            – Phil
            Nov 14 '18 at 8:30













            Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

            – Markus A.
            Nov 14 '18 at 9:08







            Do you want a vector of every single heat loss, or is the sum of them enough? For the sum it should be the easiest way to use the components from Modelica.Thermal.HeatTransfer as e.g. in Modelica.Thermal.HeatTransfer.Examples.Motor where all heat flows are routed to environment. By "process in the analysis", do you think of doing this in Modelica of offline after the simulation?

            – Markus A.
            Nov 14 '18 at 9:08















            Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

            – Phil
            Nov 14 '18 at 9:16







            Although the first step is to add up the heat loss of the individual components, the next step is to add up the sum of other variables such as power. So I need a general applicable solution to the problem. The sum is supposed to be calculated during simulation.

            – Phil
            Nov 14 '18 at 9:16















            The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

            – Markus A.
            Nov 14 '18 at 9:25





            The only thing that comes to my mind right now is to use option 2 from my original answer. It is a bit cumbersome as you need to draw a line for each signal, but I can't think of a general way to do it...

            – Markus A.
            Nov 14 '18 at 9:25













            I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

            – Phil
            Nov 14 '18 at 9:29





            I just tried this and added a connect(variable,multiSum.u[X]) to the models, but the dimension of the input of the multiSum -X- needs to be entered for each of the connect statements. Due to the size of our models, this isn't practicable or rather impossible right now. There is already a solution to my problem inside the TransiEnt library, but I have difficulties understanding it right now. I'll add the solution when I figured it out.

            – Phil
            Nov 14 '18 at 9:29













            3














            I prepared a demonstrative library for such scenario some days ago. You can access it at https://gist.github.com/beutlich/e630b2bf6cdf3efe96e5e9a637124fe1. If you read the documentation on Example2 you can see the link to an article from H. Elmqvis et. al., which is the clue to your problem. That is, you need a connector, and inherited connects from every Calculator to the one Collector.






            share|improve this answer






























              3














              I prepared a demonstrative library for such scenario some days ago. You can access it at https://gist.github.com/beutlich/e630b2bf6cdf3efe96e5e9a637124fe1. If you read the documentation on Example2 you can see the link to an article from H. Elmqvis et. al., which is the clue to your problem. That is, you need a connector, and inherited connects from every Calculator to the one Collector.






              share|improve this answer




























                3












                3








                3







                I prepared a demonstrative library for such scenario some days ago. You can access it at https://gist.github.com/beutlich/e630b2bf6cdf3efe96e5e9a637124fe1. If you read the documentation on Example2 you can see the link to an article from H. Elmqvis et. al., which is the clue to your problem. That is, you need a connector, and inherited connects from every Calculator to the one Collector.






                share|improve this answer















                I prepared a demonstrative library for such scenario some days ago. You can access it at https://gist.github.com/beutlich/e630b2bf6cdf3efe96e5e9a637124fe1. If you read the documentation on Example2 you can see the link to an article from H. Elmqvis et. al., which is the clue to your problem. That is, you need a connector, and inherited connects from every Calculator to the one Collector.







                share|improve this answer














                share|improve this answer



                share|improve this answer








                edited Nov 14 '18 at 12:10

























                answered Nov 14 '18 at 11:20









                tbeutbeu

                32525




                32525






























                    draft saved

                    draft discarded




















































                    Thanks for contributing an answer to Stack Overflow!


                    • Please be sure to answer the question. Provide details and share your research!

                    But avoid



                    • Asking for help, clarification, or responding to other answers.

                    • Making statements based on opinion; back them up with references or personal experience.


                    To learn more, see our tips on writing great answers.




                    draft saved


                    draft discarded














                    StackExchange.ready(
                    function () {
                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53284169%2fhow-to-pass-multiple-variables-from-one-model-to-another-model-inner-outer%23new-answer', 'question_page');
                    }
                    );

                    Post as a guest















                    Required, but never shown





















































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown

































                    Required, but never shown














                    Required, but never shown












                    Required, but never shown







                    Required, but never shown







                    Popular posts from this blog

                    Xamarin.iOS Cant Deploy on Iphone

                    Glorious Revolution

                    Dulmage-Mendelsohn matrix decomposition in Python