ProcessLib/HT/HTProcess.cpp
// this is almost a copy of the implementation in the GroundwaterFlow
this is almost a copy of the implementation in the GroundwaterFlow
this is almost a copy of the implementation in the GroundwaterFlow
void HTProcess::postTimestepConcreteProcess(std::vector<GlobalVector*> const& x,
                                            const double t,
                                            const double ,
                                            int const process_id)
{
    if (_use_monolithic_scheme && process_id != 0)
    {
        OGS_FATAL(
            "The condition of process_id = 0 must be satisfied for "
            "monolithic HTProcess, which is a single process.");
    }
    if (!_use_monolithic_scheme && process_id != _hydraulic_process_id)
    {
        DBUG("This is the thermal part of the staggered HTProcess.");
        return;
    }
    if (!_surfaceflux)  
    {
        return;
    }
    ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
    _surfaceflux->integrate(x, t, *this, process_id, _integration_order, _mesh,
                            pv.getActiveElementIDs());
    _surfaceflux->save(t);
}
void HTProcess :: postTimestepConcreteProcess ( std :: vector < GlobalVector * > const & x , const double t , const double , int const process_id ) { if ( _use_monolithic_scheme && process_id != 0 ) { OGS_FATAL ( " " " " ) ; } if ( ! _use_monolithic_scheme && process_id != _hydraulic_process_id ) { DBUG ( " " ) ; return ; } if ( ! _surfaceflux ) { return ; } ProcessLib :: ProcessVariable const & pv = getProcessVariables ( process_id ) [ 0 ] ; _surfaceflux -> integrate ( x , t , * this , process_id , _integration_order , _mesh , pv . getActiveElementIDs ( ) ) ; _surfaceflux -> save ( t ) ; }
this is almost a copy of the implementation in the GroundwaterFlow
this is almost a copy of the implementation in the GroundwaterFlow
/*delta_t*/ // For the monolithic scheme, process_id is always zero. // computing the surfaceflux is optional