Changes in SimulatorState:

1. Added method setCellDataComponent()
 2. Removed setFirstSat()

Implemented saturation initialisation using setCellDataComponent()
instead of setFirstSat(). This way the template<class Props> has been
removed from the SimulatorState class.
This commit is contained in:
Joakim Hove 2016-02-17 10:04:13 +01:00
parent 61a600d840
commit 4e81f95c87
2 changed files with 27 additions and 2 deletions

View File

@ -267,7 +267,19 @@ try
/// \internal [two-phase state]
TwophaseState state;
state.init(grid.number_of_cells , grid.number_of_faces, 2);
state.setFirstSat(allcells, props, TwophaseState::MinSat);
{
std::vector<double> min_sat(allcells.size());
std::vector<double> max_sat(allcells.size());
std::vector<double> second_sat(allcells.size());
props.satRange(allcells.size() ,allcells.data() , min_sat.data() , max_sat.data());
std::transform( min_sat.begin() , min_sat.end() , second_sat.begin() , [](double s) { return 1 - s; });
state.setCellDataComponent( "SATURATION" , 0 , allcells , min_sat );
state.setCellDataComponent( "SATURATION" , 1 , allcells , second_sat );
}
/// \internal [two-phase state]
/// \endinternal

View File

@ -214,7 +214,20 @@ try
/// \internal[two-phase state]
TwophaseState state;
state.init(grid.number_of_cells , grid.number_of_faces, 2);
state.setFirstSat(allcells, props, TwophaseState::MinSat);
{
std::vector<double> min_sat(allcells.size());
std::vector<double> max_sat(allcells.size());
std::vector<double> second_sat(allcells.size());
props.satRange(allcells.size() ,allcells.data() , min_sat.data() , max_sat.data());
std::transform( min_sat.begin() , min_sat.end() , second_sat.begin() , [](double s) { return 1 - s; });
state.setCellDataComponent( "SATURATION" , 0 , allcells , min_sat );
state.setCellDataComponent( "SATURATION" , 1 , allcells , second_sat );
}
/// \internal[two-phase state]
/// \endinternal