Editor
Visualization
mcdp { provides lift [N] requires power [W] requires actuator_mass [g] # Maximum lift provided provided lift <= 10 N # Mass of this actuator required actuator_mass >= 150 g # Power as a function of lift p0 = 1 W p1 = 1.5 W/N^2 l = provided lift required power >= p0 + p1 * (l^2) }
Internal representation details
CompositeNDP                                                                                 
│    provides   lift   SB([0,10]) N │ requires   power           SB([1,151]) W               
│                                   │ requires   actuator_mass   {150 g}                     
│  8 nodes, 6 edges                                                                          
│   connected rec: āœ“                                                                         
│  _c required by _c        ≤ required actuator_mass   equiv (always satisfied)              
│  provided lift            ≤ _l provided by _lim      diff  (always satisfied)              
│  provided lift            ≤ _op provided by _pow     equiv id                              
│  _res required by _mult   ≤ _op provided by _plus    equiv id                              
│  _res2 required by _plus  ≤ required power           equiv id                              
│  _result required by _pow ≤ _op provided by _mult    equiv id                              
ā”œ    _c: SimpleWrap                                                                          
│        │  - │ requires   _c   {150 g}                                                      
│        ā”” DP_Constant šŸ™  ⇸  {150 g}                                                         
│           150 g ≤ š’“                                                                        
ā”œ  _lim: SimpleWrap                                                                          
│        │  provides   _l   {10 N} │ -                                                       
│        ā”” DP_Limit {10 N}  ⇸  šŸ™  > NVU:10 N                                                 
│           š’‡ ≤ 10 N                                                                         
ā”œ _mult: SimpleWrap                                                                          
│        │  provides   _op   SB([0,100]) N² │ requires   _res   SB([0,150]) W                
│        ā”” DP_L_UME SB([0,100]) N²  ⇸  SB([0,150]) W                                         
│           š’‡ ā‹… 1.5 ≤ š’“                                                                      
│          M_C_WrapUnits   N² → W > M_A_Mult1_Upper   SB([0,100])  →  SB([0,150]) x ⟼ x ā‹… 1.5
ā”œ _plus: SimpleWrap                                                                          
│        │  provides   _op   SB([0,150]) W │ requires   _res2   SB([1,151]) W                
│        ā”” DP_L_UME SB([0,150]) W  ⇸  SB([1,151]) W                                          
│           š’‡ + 1 ≤ š’“                                                                        
│          M_C_WrapUnits   W → W > M_A_Add1_Upper   SB([0,150])  →  SB([1,151]) x ⟼ x + 1    
ā””  _pow: SimpleWrap                                                                          
         │  provides   _op   SB([0,10]) N │ requires   _result   SB([0,100]) N²              
         ā”” DP_L_UME SB([0,10]) N  ⇸  SB([0,100]) N²                                          
            š’‡Ā² ≤ š’“                                                                           
           M_C_WrapUnits   N → N² > M_A_PowerFrac_Upper   SB([0,10])  →  SB([0,100]) x ⟼ x²  

hel1-z7-prod-editor-2 Restart page