40class BlackoilWellModelNlddGeneric
43 std::vector<Scalar> getPrimaryVarsDomain(
const int domainIdx)
const;
44 void setPrimaryVarsDomain(
const int domainIdx,
const std::vector<Scalar>& vars);
47 {
return well_local_cells_; }
49 const std::map<std::string, int>& well_domain()
const
50 {
return well_domain_; }
54 : genWellModel_(model)
57 void calcDomains(
const std::vector<const SubDomainIndices*>& domains);
60 void logDomains()
const;
62 void findWellDomains(
const std::vector<const SubDomainIndices*>& domains);
64 void calcLocalIndices(
const std::vector<const SubDomainIndices*>& domains);
69 std::map<std::string, int> well_domain_{};
77class BlackoilWellModelNldd :
78 public BlackoilWellModelNlddGeneric<GetPropType<TypeTag, Properties::Scalar>,
79 typename GetPropType<TypeTag, Properties::FluidSystem>::IndexTraitsType>
85 using PressureMatrix =
typename BlackoilWellModel<TypeTag>::PressureMatrix;
86 using BVector =
typename BlackoilWellModel<TypeTag>::BVector;
88 using IndexTraits =
typename FluidSystem::IndexTraitsType;
94 : BlackoilWellModelNlddGeneric<Scalar, IndexTraits>(model)
98 void addWellPressureEquations(PressureMatrix& jacobian,
99 const BVector& weights,
100 const bool use_well_weights,
101 const int domainIndex)
const;
105 void assemble(
const double dt,
106 const Domain& domain);
108 void updateWellControls(
const Domain& domain);
110 void setupDomains(
const std::vector<Domain>& domains);
114 const std::vector<Scalar>& B_avg,
119 void recoverWellSolutionAndUpdateWellState(
const BVector& x,
120 const int domainIdx);
123 int numLocalWells()
const
125 return wellModel_.numLocalWells();
129 int numLocalWellsEnd()
const
131 return wellModel_.numLocalWellsEnd();
137 void assembleWellEq(
const double dt,
138 const Domain& domain);
144 mutable BVector x_local_;
typename Properties::Detail::GetPropImpl< TypeTag, Property >::type::type GetPropType
get the type alias defined in the property (equivalent to old macro GET_PROP_TYPE(....
Definition propertysystem.hh:233
Representing a part of a grid, in a way suitable for performing local solves.
Definition SubDomain.hpp:85