Development of the FASTPROOF project: Implementation of a Modelica library for the simulation of offshore facilities Workshop on Simulation at the System Level Carg` ese, 2014 1 / 37
Context • FASTPROOF is a collaborative project between eni , saipem , eurobios and ENS Cachan • The goal is to develop a software tool to simulate the operation of offshore oil facilities • Focus is on open formats and open languages to share models and data - make them easy to extend • The simulation concerns the global behavior of the system, with both physics and risk aspects 2 / 37
Context Two aspects: • Physics ◮ Fluid flow in pipes ◮ Heat transfer: through pipe walls, from heating system, etc. ◮ Power consumption/energy conversion: electrical (generators), mechanical (pump), heat (heater) ◮ Controlled systems: check stability/efficiency of controllers • Risk ◮ Failure of components ◮ Maintenance ◮ Reliability 3 / 37
Context Goals: • Physics ◮ Help dimensioning some of the system characteristics, e.g. generator power, thickness of insulation layers, etc. ◮ Centralize the data to be shared between various actors ◮ Study the behavior of the whole system ◮ Based on the equations of physics • Risk ◮ Estimate the availability of an installation ◮ Compare the reliability of two designs ◮ Assess the gain/risk ratio of an installation ◮ Stochastic simulation: probabilities , statistics 4 / 37
Framework design • Physics ◮ Favor the composability of the developed models ◮ Ideally, the user can freely combine the models ◮ The components should be re-usable , i.e. not developed for a particular set of neighbor components ◮ The components should be extensible , i.e. easy to refine • Risk ◮ Models easy to understand, with parameters that can actually be known (e.g. no conditional probabilities no one can know) ◮ Synthetic output to help the decision 5 / 37
Summary 1 Introduction 2 Physics simulation 3 Risk simulation 4 Two examples 5 Conclusion 6 / 37
Modelica • Modelica is a simulation language ◮ It is object-oriented i.e. a new model can be built upon an existing model ◮ It is acausal : no imposed causality (i.e. no pre-specified input/output) • A model is a set of differential algebraic equations (+ algorithms) • Models are connected through connectors • The connectors automatically add the equations at the interface between components: ◮ Potential variables: Equality at the connection point ◮ Flow variables: sum to zero at the connection point ◮ Stream variables: transported quantities (depends on the sign of an associated flow variable) • Tools are available to compile and run models and plot the outputs (e.g. OpenModelica, Dymola) 7 / 37
Multi-physics simulation with Modelica • Specific connectors are defined for each type of physical phenomenon • Modelica allows the call to external code (e.g. in C language), which can be used to read parameters in a database for example Sea temperature model °C 40 Experimental 30 20 10 0 data -10 Electric power supply Heat transfer Experimental Thermal diffusion law data Pipe wall Current Temperature Voltage Heat flow Fluid flow Mass conservation Energy conservation Pressure Electromechanical Momentum conservation Mass flow Fluid characteristics conversion Fluid composition Reservoir Pump Pipeline Transport specific enthalpy 8 / 37
Modelica components • Typical models in an offshore facility: ◮ Pipes: flow of a fluid mixture ◮ Heat: heat transfer through pipe wall, through heating material ◮ Electrical: diesel generator ◮ Controllers: heating system ◮ Other items: tanks, valves, junctions, pumps 9 / 37
Pipe model • Connector for pipe models: ◮ Pressure p ◮ Mass flow rate q m ◮ Vector of mass fractions X = ( X 1 , X 2 , . . . , X n ) ◮ Transported specific enthalpy h Length = 500 m • Equations: ◮ Volume conservation ◮ Mass balance ◮ Enthalpy balance ◮ Pressure drop 10 / 37
Pipe model • Two ports: a and b • 0D model, quasi-stationary state • Volume conservation: n n X a i q a X b i q b � m � m + = 0 ρ i ρ i i =1 i =1 • Mass balance: X a i q a m + X b i q b m i ˙ = m • Enthalpy balance: n � h = X i c p i T i =1 H = m total h m h a + q b q a m h b H flow = ˙ H flow + Q wall H = flow 11 / 37
Pipe: friction model • For one substance: dp i = pressureLossCoefficient( ρ i , D , L , µ i , v i ) | v i | + dp g i • Velocity of substance i is v i = X a i q a m ρ i A • Hydrostatic pressure term: dp g i = sin( θ ) m i g A • pressureLossCoefficient () is given by: pressureLossCoefficient( ρ i , v i , D , L , µ i ) = f Darcy ( Re i , D ) L ρ i 2 D • Overall pressure drop: n dp i = p a − p b � dp = i =1 12 / 37
Pipe model • The pipe model is 0D: all the quantities are averaged inside the volume • It is possible to approximate a 1D model by concatenating multiple 0D models • Example: 1500m pipeline divided into 30 segments T emperature at the well T emperature along the pipeline Sea temperature 13 / 37
Heat transfer models • Heat connector: Temperature T , heat flow rate Q flow • Basic model of material with heat capacity (two heat connectors) C p dT Q a flow + Q b = flow dt K th ( T a − T ) Q a = flow Q b � T − T b � = K th flow • Insulation layers are stacks of blocks: Joule heating k th1 (T 1 - T 2 ) k th1 (T 2 - T 3 ) k th2 (T 4 - T 5 ) k th3 (T 6 - T 7 ) k th2 (T 3 - T 4 ) k th3 (T 5 - T 6 ) T 6 T 2 T 4 T 1 T 7 T 1 T 3 T 5 T 7 Fluid Pipe wall Heater Insulant Sea water 14 / 37
Electrical models • Electric connector: electric potential v , electric current i • Example, diesel generator: two electrical connectors ( e 1 and e 2 ), one fluid connector Diesel Generator v e 1 − v e 2 = V 0 i e 1 + i e 2 = 0 1500 V q m × specific energy diesel = ( v e 1 − v e 2 ) i e 1 • Heating system with temperature control: two electrical connectors ( e 1 and e 2 ), two heat connectors ( h 1 and h 2 ), one input signal ( T ref ) = ( v e 1 − v e 2 ) i e 1 Q heating mat. i e 1 + i e 2 = 0 dT C p = Q + K th ( T h 1 − T ) + K th ( T h 2 − T ) dt = min(max ( K p ( T − T ref ) , 0) , Q max ) Q 15 / 37
Summary 1 Introduction 2 Physics simulation 3 Risk simulation 4 Two examples 5 Conclusion 16 / 37
Two levels • Macro level based on expert knowledge ◮ General description of the system with a small number of states • Micro level based on statistics of observed failures ◮ The components are considered individually 17 / 37
Macro level • The system is modeled as a Markov chain • Markov chains are sequences of random variables taking values in a so-called state space 1 production 0.98 0.02 0.5 2 no touch time / repair 0.5 0.98 3 repair fpso or subsea / preserv ok 0.02 0.02 0.98 0.98 5 repair preserv 4 restart 0.02 6 hydrates 1 18 / 37
Macro level • Monte-Carlo method: generate many random sequences of events • Simulate decision strategies and context changes • Results are reported using standard techniques in statistics: - Mean / variance representation - Assessment of extreme values - Assessment of resilience - Evaluation of confidence intervals 19 / 37
Micro level • The micro level is meant to model component failures and maintenance • Based on statistics gathered on real installations • Each item is considered independently from the others • Data comes from the OREDA 1 handbook: statistics for time-between-failures and time-to-repair 1 Offshore Reliability Data Handbook. 4th Edition. SINTEF Technology and Society (2002). 20 / 37
OREDA database • Example of the values given by OREDA (centrifugal pump): Failure rate (per 10 6 hours) Failure mode Number of failures Repair time (hours) Mean Standard deviation Min Max Mean Critical 464 70.52 106.81 1.0 57.6 1025.0 Degraded 537 237.3 267.91 0.5 32.1 798.0 Incipient 936 834.3 688.83 0.5 15.6 697.0 Unknown 12 4.5 6.65 2.0 13.6 48.0 • From these data, we can build a stochastic model of the component 21 / 37
Markov chain model (micro level) • Continuous-time semi-Markov chain: Degraded p degraded t repair degraded t degraded p critical p incipient t critical t incipient OK Incipient Critical t repair critical t repair incipient p unknown t repair unknown t unknown Unknown • p i : probability of transition to state i • t i : holding time, i.e. time before the transition actually triggers 22 / 37
Markov chain model (micro level) • Transition probabilities: p failure i = number of observed failures of type i number of observed failures of any kind • Holding times are computed from failure rates (exponential distribution) and (min,mean,max) values (beta distribution) 1.2 1.15 Probability density function 1.1 1.05 1 0.95 0.9 0.85 0.8 0.75 0.7 0.65 0.6 0.55 0.5 0.45 0.4 0.35 0.3 0.25 0.2 0.15 0.1 0.05 0 0 2 6 10 14 18 22 26 30 34 38 42 46 50 54 58 62 66 70 74 78 82 86 90 94 98 Time [hour] min mean max Pump OK ~24% ~100% ~28% ~100% ~48% ~100% ~ 1% ~100% ~7m ~2d ~16y ~1d ~2m ~15h ~11y ~13h critical degraded incipient unknown 23 / 37
Recommend
More recommend