static std::shared_ptr< Deck > deckWithGRUPTREE() { DeckPtr deck = createDeck(); DeckKeyword gruptreeKeyword("GRUPTREE"); DeckRecord recordChildOfField; auto itemChild1 = DeckItem::make< std::string >( "CHILD_GROUP" ); itemChild1.push_back(std::string("BARNET")); auto itemParent1 = DeckItem::make< std::string >( "PARENT_GROUP" ); itemParent1.push_back(std::string("FAREN")); recordChildOfField.addItem( std::move( itemChild1 ) ); recordChildOfField.addItem( std::move( itemParent1 ) ); gruptreeKeyword.addRecord( std::move( recordChildOfField ) ); deck->addKeyword( std::move( gruptreeKeyword ) ); return deck; }
static Opm::EquilRecord mkEquilRecord( double datd, double datp, double zwoc, double pcow_woc, double zgoc, double pcgo_goc ) { using namespace Opm; auto dd = DeckItem::make< double >( "datdep" ); dd.push_back( datd ); auto dd_dim = std::make_shared< Opm::Dimension >( "dddim", 1 ); dd.push_backDimension( dd_dim, dd_dim ); auto dp = DeckItem::make< double >( "datps" ); dp.push_back( datp ); auto dp_dim = std::make_shared< Opm::Dimension >( "dpdim", 1 ); dp.push_backDimension( dp_dim, dp_dim ); auto zw = DeckItem::make< double >( "zwoc" ); zw.push_back( zwoc ); auto zw_dim = std::make_shared< Opm::Dimension >( "zwdim", 1 ); zw.push_backDimension( zw_dim, zw_dim ); auto pcow = DeckItem::make< double >( "pcow" ); pcow.push_back( pcow_woc ); auto pcow_dim = std::make_shared< Opm::Dimension >( "pcowdim", 1 ); pcow.push_backDimension( pcow_dim, pcow_dim ); auto zg = DeckItem::make< double >( "zgoc" ); zg.push_back( zgoc ); auto zg_dim = std::make_shared< Opm::Dimension >( "zgdim", 1 ); zg.push_backDimension( zg_dim, zg_dim ); auto pcgo = DeckItem::make< double >( "pcgo" ); pcgo.push_back( pcgo_goc ); auto pcgo_dim = std::make_shared< Opm::Dimension >( "pcgodim", 1 ); pcgo.push_backDimension( pcgo_dim, pcgo_dim ); auto i1 = DeckItem::make< int >( "i1" ); auto i2 = DeckItem::make< int >( "i2" ); auto i3 = DeckItem::make< int >( "i3" ); i1.push_back( 0 ); i2.push_back( 0 ); i3.push_back( 0 ); DeckRecord rec; rec.addItem( std::move( dd ) ); rec.addItem( std::move( dp ) ); rec.addItem( std::move( zw ) ); rec.addItem( std::move( pcow ) ); rec.addItem( std::move( zg ) ); rec.addItem( std::move( pcgo ) ); rec.addItem( std::move( i1 ) ); rec.addItem( std::move( i2 ) ); rec.addItem( std::move( i3 ) ); return EquilRecord( rec ); }