1

I have a simulation Case object:

Case theCase=arguments.InputCase;

I can get its related development strategy via:

Slb.Ocean.Petrel.Simulation.EclipseFormatSimulator.Arguments args=WellKnownSimulators.ECLIPSE100.GetEclipseFormatSimulatorArguments(theCase);
DevelopmentStrategy oldStrategy=args.Strategies.DevelopmentStrategies.First();

I need to get some of oldStrategy's members such the Dates that rules have been declared. I also need to change some parts of oldStrategy rules at any date such as "AnnularFCVs" fraction open.

How can I access these parts of an existing development strategy? Edit Development Strategy

for example in the above picture, my strategy is "ND" and I have to change one of rules which is valve aperture/fraction open at some dates. how can I do that with ocean and if it is not possible to edit rules, how can I change its associated well folder instead at that date? I don't see any date to choose my rule in the selected strategy to try to edit it!

If there is no answer to this question, could anybody please show me how can I show the "Development Strategy" process window when it's needed?!

user3636337
  • 113
  • 1
  • 6

1 Answers1

1

I need to get some of oldStrategy's members such as "Start Date" and "End Date" and change them to my desired value

Pre 2014.1 the DevelopmentStrategy is read-only in the arguments package; you need to rebuild the collection and set it back to the DevelopmentStrategies property:

Strategies.DevelopmentStrategies = ... //some IEnumerable<DevelopmentStrategy>

Regarding AnnularFCV, the DevelopmentStrategy ValveAperature rule allows you to control valve FractionOpen for a named valve.

RJFalconer
  • 10,890
  • 5
  • 51
  • 66
  • you mean, I have to get my strategy collection, add a developemt strategy to it and set the collection value to the new collection?! I think I didn't realize your solution properly! – user3636337 Jun 15 '14 at 07:01
  • I have another question... in petrel environment, it is possible to COPY-PASTE items in input tree... is there an option in Ocean to use copy-paste functionality when it is desired... i need to have a copy of well or strategy somewhere. how can I do this?! – user3636337 Jun 15 '14 at 07:02
  • @user3636337 yes that sounds correct. You may want to remove the old strategy from the collection before setting the collection back. – RJFalconer Jun 16 '14 at 07:40
  • Please ask a new question for the copy-paste issue – RJFalconer Jun 16 '14 at 07:52
  • I asked the new question at: http://stackoverflow.com/questions/24242116/copy-paste-items-in-petrel-using-ocean – user3636337 Jun 17 '14 at 09:42
  • I asked the new question at: http://stackoverflow.com/questions/24242116/copy-paste-items-in-petrel-using-ocean and about the rebuild of collection in developement strategies< I get the list, delete the old one, add edited one to list and try to set it back to collection using: strategycol.DevelopmentStrategies = listStrategy as IEnumerable; but it says: Property or indexer 'Slb.Ocean.Petrel.DomainObject.Simulation.DevelopmentStrategyCollection.DevelopmentStrategies' cannot be assigned to -- it is read only – user3636337 Jun 17 '14 at 09:53
  • Your `args.Strategies` should be `S.O.P.Simulation.EclipseFormatSimulator.Arguments.StrategyArguments`, which _does_ have a get/set `DevelopmentStrategies` IEnumerable. It looks like you're trying to modify the *Project*'s `DevelopmentStrategyCollection` which is read-only, rather than the *Case*'s, which isn't. – RJFalconer Jun 19 '14 at 10:43
  • Actually I need to change my selected development strategy, I edit my question, please see it again! – user3636337 Jun 21 '14 at 09:33