33 #ifndef DARCY_FLOW_LMH_HH 34 #define DARCY_FLOW_LMH_HH 39 #include <boost/exception/info.hpp> 78 template<
int spacedim,
class Value>
class FieldDivide;
136 <<
"Diverged nonlinear solver. Reason: " << EI_Reason::val
139 <<
"Missing the key 'time', obligatory for the transient problems.");
154 std::shared_ptr<SubDOFHandlerMultiDim>
dh_p_;
184 void initialize()
override;
185 virtual void initialize_specific();
186 void zero_time_step()
override;
187 void update_solution()
override;
190 void solve_time_step(
bool output =
true);
193 virtual void accept_time_step();
194 virtual void postprocess();
195 virtual void output_data()
override;
202 { data_->extra_storativity = extra_stor; }
206 { data_->extra_source = extra_src; }
218 virtual bool zero_time_term(
bool time_global=
false);
221 void solve_nonlinear();
235 void read_initial_condition();
242 virtual void initial_condition_postprocess();
249 void allocate_mh_matrix();
267 virtual void assembly_linear_system();
275 virtual double solution_precision()
const;
278 void print_matlab_matrix(
string matlab_file);
285 {
return *(data_->lin_sys_schur); }
312 #endif //DARCY_FLOW_LMH_HH VectorMPI p_edge_solution_previous
void set_extra_source(const Field< 3, FieldValue< 3 >::Scalar > &extra_src)
Sets external source field (coupling with other equation).
bool use_steady_assembly_
static const int registrar
Registrar of class to factory.
VectorMPI p_edge_solution
Class template representing a field with values dependent on: point, element, and region...
std::shared_ptr< LinSys > lin_sys_schur
std::shared_ptr< SubDOFHandlerMultiDim > dh_p_
DOF handler represents DOFs of element pressure.
Mixed-hybrid model of linear Darcy flow, possibly unsteady.
Basic time management functionality for unsteady (and steady) solvers (class Equation).
Basic time management class.
DarcyFlowMHOutput * output_object
std::shared_ptr< EqData > data_
unsigned int nonlinear_iteration_
void set_extra_storativity(const Field< 3, FieldValue< 3 >::Scalar > &extra_stor)
Sets external storarivity field (coupling with other equation).
LinSys & lin_sys_schur()
Getter for the linear system of the 2. Schur complement.
std::shared_ptr< Balance > balance_
VectorMPI p_edge_solution_previous_time
mixed-hybrid model of linear Darcy flow, possibly unsteady.
std::map< LongIdx, LocalSystem > seepage_bc_systems