open-psa / mef

The Open-PSA Model Exchange Format
https://open-psa.github.io/mef
5 stars 7 forks source link

How to connect Reactor Fault Tree to Line1 and Line2's Fault Tree? #61

Open xyz2k8 opened 5 months ago

xyz2k8 commented 5 months ago

What are the semantics of referencing only one gate node in the define-gate node?

<define-gate name="Line1.VI.vfRightFlow_false" >
    <gate name="TK.vfOutFlow_false" />  
</define-gate>

I generated a Fault Tree (FT.xml) containing the above fragment using the example from the tutorial . After sorting it out, I found:



### Question
How to connect Reactor Fault Tree to Line1 and Line2's Fault Tree? Which key information in the fault tree file did I ignore?
cfolleau commented 5 months ago

<?xml version='1.0' encoding='ISO-8859-15'?> <!DOCTYPE opsa-mef>

cfolleau commented 5 months ago

Use for "or" logic. You should create intermediate gate for Line1.P (you should not use inside ) .

If you want to find a software that is compatible with this Open-PSA (for export en import), you can try the free demo version of GRIF (Fault-Tree module). It is perfect to test small files. But you will need the full version is you have more than 5 basic events.

xyz2k8 commented 5 months ago
</define-basic-event>
<define-basic-event name='Line2.VO.fRightFlow_false'>

</define-basic-event>
<define-gate name='Reacto.vfInFlow_false'>
  <and>
    <basic-event name='Line1.VO.fRightFlow_false'/>
    <basic-event name='Line2.VO.fRightFlow_false'/>
  </and>
</define-gate>

Where did this snippet come from? The xml file I uploaded should be:

<define-gate name="Line2.VO.vfRightFlow_false" >
    <gate name="Line2.P.vfOutFlow_false" />
</define-gate>

<define-gate name="Reactor.vfInFlow_false" >
    <and >
      <gate name="Line1.VO.vfRightFlow_false" />
      <gate name="Line2.VO.vfRightFlow_false" />
    </and>
</define-gate>

The differences between the above two paragraphs:

Reacto.vfInFlow_false vs Reactor.vfInFlow_false
Line1.VO.fRightFlow_false vs Line1.VO.vfRightFlow_false
Line2.VO.fRightFlow_false vs Line2.VO.vfRightFlow_false

But I think these differences are not the key to the problem.

xyz2k8 commented 5 months ago

Use for "or" logic. You should create intermediate gate for Line1.P (you should not use inside ) .

If you want to find a software that is compatible with this Open-PSA (for export en import), you can try the free demo version of GRIF (Fault-Tree module). It is perfect to test small files. But you will need the full version is you have more than 5 basic events.

Use for "or" logic: What is the basis for this conclusion? Now that we know the fault trees of each component on the two lines and the fault tree of the Reactor, we can connect these scattered fault trees to construct a complete fault tree. My problem is that it seems that the information like Use for "or" logic is missing in the xml file.

cfolleau commented 5 months ago

Use for "or" logic. You should create intermediate gate for Line1.P (you should not use inside ) . If you want to find a software that is compatible with this Open-PSA (for export en import), you can try the free demo version of GRIF (Fault-Tree module). It is perfect to test small files. But you will need the full version is you have more than 5 basic events.

Use for "or" logic: What is the basis for this conclusion? Now that we know the fault trees of each component on the two lines and the fault tree of the Reactor, we can connect these scattered fault trees to construct a complete fault tree. My problem is that it seems that the information like Use for "or" logic is missing in the xml file.

Sorry, I misunderstood, I thought you tried to write an Open-PSA file manually for an "and" gate, based on the topic : "How to connect Reactor Fault Tree to Line1 and Line2's Fault Tree". The file I attached was generated "manually" (with typo errors ;-) ) based on your "reactor fault-tree" table. I didn't read the tutorial. Maybe you should try to as people who did the tutorial.