diff --git a/ProcessLib/ComponentTransport/ComponentTransportFEM.h b/ProcessLib/ComponentTransport/ComponentTransportFEM.h index 7fb23d8ca0f3cad99bd99298cf834bfa901c7435..35479ad107439bed79db5483a2c0c5d833c15761 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportFEM.h +++ b/ProcessLib/ComponentTransport/ComponentTransportFEM.h @@ -45,6 +45,8 @@ struct IntegrationPointData final : N(N_), dNdx(dNdx_), integration_weight(integration_weight_) {} + void pushBackState() { porosity_prev = porosity; } + NodalRowVectorType const N; GlobalDimNodalMatrixType const dNdx; double const integration_weight; @@ -52,6 +54,7 @@ struct IntegrationPointData final GlobalIndexType chemical_system_id = 0; double porosity = std::numeric_limits<double>::quiet_NaN(); + double porosity_prev = std::numeric_limits<double>::quiet_NaN(); EIGEN_MAKE_ALIGNED_OPERATOR_NEW; }; @@ -1060,6 +1063,13 @@ public: void postTimestepConcrete(Eigen::VectorXd const& /*local_x*/, double const /*t*/, double const /*dt*/) override { + unsigned const n_integration_points = + _integration_method.getNumberOfPoints(); + + for (unsigned ip = 0; ip < n_integration_points; ip++) + { + _ip_data[ip].pushBackState(); + } } private: