diff --git a/NumLib/ODESolver/ODESystem.h b/NumLib/ODESolver/ODESystem.h index 233ea92da8f8b0c3f5c963f3f0710cf4cc39038d..1f7437ebb344388f607d3b87a27f90dec25abc98 100644 --- a/NumLib/ODESolver/ODESystem.h +++ b/NumLib/ODESolver/ODESystem.h @@ -125,7 +125,8 @@ public: * \mathtt{Jac} \f$. * \endparblock */ - virtual void assembleWithJacobian(const double t, GlobalVector const& x, + virtual void assembleWithJacobian(const double t, double const dt, + GlobalVector const& x, GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, GlobalMatrix& M, GlobalMatrix& K, diff --git a/NumLib/ODESolver/TimeDiscretization.h b/NumLib/ODESolver/TimeDiscretization.h index e65f20459dc17c0a27806e05e4192f0326e750d1..4033a5f232fb3437aebc17128aa0d05217397734 100644 --- a/NumLib/ODESolver/TimeDiscretization.h +++ b/NumLib/ODESolver/TimeDiscretization.h @@ -166,6 +166,10 @@ public: //! assembled. virtual double getCurrentTime() const = 0; + //! Returns \f$ \Delta t_C \f$, i.e., the time at which the equation will be + //! assembled. + virtual double getCurrentTimeIncrement() const = 0; + //! Returns \f$ \hat x \f$, i.e. the discretized approximation of \f$ \dot x //! \f$. void getXdot(GlobalVector const& x_at_new_timestep, GlobalVector& xdot) const @@ -286,6 +290,7 @@ public: } double getCurrentTime() const override { return _t; } + double getCurrentTimeIncrement() const override { return _delta_t; } double getNewXWeight() const override { return 1.0 / _delta_t; } void getWeightedOldX(GlobalVector& y) const override { @@ -349,6 +354,8 @@ public: return _t_old; // forward Euler does assembly at the preceding timestep } + double getCurrentTimeIncrement() const override { return _delta_t; } + GlobalVector const& getCurrentX( const GlobalVector& /*x_at_new_timestep*/) const override { @@ -430,6 +437,7 @@ public: } double getCurrentTime() const override { return _t; } + double getCurrentTimeIncrement() const override { return _delta_t; } double getNewXWeight() const override { return 1.0 / _delta_t; } void getWeightedOldX(GlobalVector& y) const override { @@ -509,6 +517,7 @@ public: } double getCurrentTime() const override { return _t; } + double getCurrentTimeIncrement() const override { return _delta_t; } double getNewXWeight() const override; diff --git a/NumLib/ODESolver/TimeDiscretizedODESystem.cpp b/NumLib/ODESolver/TimeDiscretizedODESystem.cpp index 0b6dc1741e9ae9814245042bc16daeab3239c5d4..6fd0a0b847f318cbd488813f16d867c10a7f6e8a 100644 --- a/NumLib/ODESolver/TimeDiscretizedODESystem.cpp +++ b/NumLib/ODESolver/TimeDiscretizedODESystem.cpp @@ -76,6 +76,7 @@ void TimeDiscretizedODESystem< namespace LinAlg = MathLib::LinAlg; auto const t = _time_disc.getCurrentTime(); + auto const dt = _time_disc.getCurrentTimeIncrement(); auto const& x_curr = _time_disc.getCurrentX(x_new_timestep); auto const dxdot_dx = _time_disc.getNewXWeight(); auto const dx_dx = _time_disc.getDxDx(); @@ -89,8 +90,8 @@ void TimeDiscretizedODESystem< _Jac->setZero(); _ode.preAssemble(t, x_curr); - _ode.assembleWithJacobian(t, x_curr, xdot, dxdot_dx, dx_dx, *_M, *_K, *_b, - *_Jac); + _ode.assembleWithJacobian(t, dt, x_curr, xdot, dxdot_dx, dx_dx, *_M, *_K, + *_b, *_Jac); LinAlg::finalizeAssembly(*_M); LinAlg::finalizeAssembly(*_K); diff --git a/ProcessLib/AbstractJacobianAssembler.h b/ProcessLib/AbstractJacobianAssembler.h index 54a31db8452e8da4c5d1f514cb661f24a60522d4..7eb946c11571c70208316b64c475ccf1f9d167c2 100644 --- a/ProcessLib/AbstractJacobianAssembler.h +++ b/ProcessLib/AbstractJacobianAssembler.h @@ -24,13 +24,15 @@ class AbstractJacobianAssembler public: //! Assembles the Jacobian, the matrices \f$M\f$ and \f$K\f$, and the vector //! \f$b\f$. - virtual void assembleWithJacobian( - LocalAssemblerInterface& local_assembler, double const t, - std::vector<double> const& local_x, - std::vector<double> const& local_xdot, const double dxdot_dx, - const double dx_dx, std::vector<double>& local_M_data, - std::vector<double>& local_K_data, std::vector<double>& local_b_data, - std::vector<double>& local_Jac_data) = 0; + virtual void assembleWithJacobian(LocalAssemblerInterface& local_assembler, + double const t, double const dt, + std::vector<double> const& local_x, + std::vector<double> const& local_xdot, + const double dxdot_dx, const double dx_dx, + std::vector<double>& local_M_data, + std::vector<double>& local_K_data, + std::vector<double>& local_b_data, + std::vector<double>& local_Jac_data) = 0; //! Assembles the Jacobian, the matrices \f$M\f$ and \f$K\f$, and the vector //! \f$b\f$ with coupling. diff --git a/ProcessLib/AnalyticalJacobianAssembler.cpp b/ProcessLib/AnalyticalJacobianAssembler.cpp index 8d9fd3d04951bd8cf90cdccce43cd351710d9067..5bf99eca0489eb7b43b5f8075c3fba0f537dd425 100644 --- a/ProcessLib/AnalyticalJacobianAssembler.cpp +++ b/ProcessLib/AnalyticalJacobianAssembler.cpp @@ -15,13 +15,13 @@ namespace ProcessLib { void AnalyticalJacobianAssembler::assembleWithJacobian( - LocalAssemblerInterface& local_assembler, double const t, + LocalAssemblerInterface& local_assembler, double const t, double const dt, std::vector<double> const& local_x, std::vector<double> const& local_xdot, const double dxdot_dx, const double dx_dx, std::vector<double>& local_M_data, std::vector<double>& local_K_data, std::vector<double>& local_b_data, std::vector<double>& local_Jac_data) { - local_assembler.assembleWithJacobian(t, local_x, local_xdot, dxdot_dx, + local_assembler.assembleWithJacobian(t, dt, local_x, local_xdot, dxdot_dx, dx_dx, local_M_data, local_K_data, local_b_data, local_Jac_data); } diff --git a/ProcessLib/AnalyticalJacobianAssembler.h b/ProcessLib/AnalyticalJacobianAssembler.h index 3df92c3839d9896838f0300d5001c1bb67d56c55..e71d15dc886a5d391f86ae3cbb1f5dee4307174a 100644 --- a/ProcessLib/AnalyticalJacobianAssembler.h +++ b/ProcessLib/AnalyticalJacobianAssembler.h @@ -31,13 +31,15 @@ public: //! \f$b\f$. //! In this implementation the call is only forwarded to the respective //! method of the given \c local_assembler. - void assembleWithJacobian( - LocalAssemblerInterface& local_assembler, double const t, - std::vector<double> const& local_x, - std::vector<double> const& local_xdot, const double dxdot_dx, - const double dx_dx, std::vector<double>& local_M_data, - std::vector<double>& local_K_data, std::vector<double>& local_b_data, - std::vector<double>& local_Jac_data) override; + void assembleWithJacobian(LocalAssemblerInterface& local_assembler, + double const t, double const dt, + std::vector<double> const& local_x, + std::vector<double> const& local_xdot, + const double dxdot_dx, const double dx_dx, + std::vector<double>& local_M_data, + std::vector<double>& local_K_data, + std::vector<double>& local_b_data, + std::vector<double>& local_Jac_data) override; void assembleWithJacobianForStaggeredScheme( LocalAssemblerInterface& local_assembler, diff --git a/ProcessLib/CentralDifferencesJacobianAssembler.cpp b/ProcessLib/CentralDifferencesJacobianAssembler.cpp index c335fa99933afe6e1298e712b42b86c2d5c07aeb..3a93d3496c2aa0c58be56b8e6747236f69d3a406 100644 --- a/ProcessLib/CentralDifferencesJacobianAssembler.cpp +++ b/ProcessLib/CentralDifferencesJacobianAssembler.cpp @@ -26,7 +26,7 @@ CentralDifferencesJacobianAssembler::CentralDifferencesJacobianAssembler( } void CentralDifferencesJacobianAssembler::assembleWithJacobian( - LocalAssemblerInterface& local_assembler, const double t, + LocalAssemblerInterface& local_assembler, const double t, double const dt, const std::vector<double>& local_x_data, const std::vector<double>& local_xdot_data, const double dxdot_dx, const double dx_dx, std::vector<double>& local_M_data, diff --git a/ProcessLib/CentralDifferencesJacobianAssembler.h b/ProcessLib/CentralDifferencesJacobianAssembler.h index 27b68a30684f8f4bd69aedcd83ed03ef4c165749..2d5736fd18b2ad3069339817b0744163081ed34e 100644 --- a/ProcessLib/CentralDifferencesJacobianAssembler.h +++ b/ProcessLib/CentralDifferencesJacobianAssembler.h @@ -50,13 +50,15 @@ public: //! //! \attention It is assumed that the local vectors and matrices are ordered //! by component. - void assembleWithJacobian( - LocalAssemblerInterface& local_assembler, double const t, - std::vector<double> const& local_x, - std::vector<double> const& local_xdot, const double dxdot_dx, - const double dx_dx, std::vector<double>& local_M_data, - std::vector<double>& local_K_data, std::vector<double>& local_b_data, - std::vector<double>& local_Jac_data) override; + void assembleWithJacobian(LocalAssemblerInterface& local_assembler, + double const t, double const dt, + std::vector<double> const& local_x, + std::vector<double> const& local_xdot, + const double dxdot_dx, const double dx_dx, + std::vector<double>& local_M_data, + std::vector<double>& local_K_data, + std::vector<double>& local_b_data, + std::vector<double>& local_Jac_data) override; private: std::vector<double> const _absolute_epsilons; diff --git a/ProcessLib/CompareJacobiansJacobianAssembler.cpp b/ProcessLib/CompareJacobiansJacobianAssembler.cpp index 0955881bc42ba61fe72d92af85a3fcb86b9db76a..816f60130c09e8a6447f4993ef117e45ed13981e 100644 --- a/ProcessLib/CompareJacobiansJacobianAssembler.cpp +++ b/ProcessLib/CompareJacobiansJacobianAssembler.cpp @@ -125,7 +125,7 @@ const std::string msg_fatal = namespace ProcessLib { void CompareJacobiansJacobianAssembler::assembleWithJacobian( - LocalAssemblerInterface& local_assembler, double const t, + LocalAssemblerInterface& local_assembler, double const t, double const dt, std::vector<double> const& local_x, std::vector<double> const& local_xdot, const double dxdot_dx, const double dx_dx, std::vector<double>& local_M_data, std::vector<double>& local_K_data, @@ -147,7 +147,7 @@ void CompareJacobiansJacobianAssembler::assembleWithJacobian( // First assembly -- the one whose results will be added to the global // equation system finally. - _asm1->assembleWithJacobian(local_assembler, t, local_x, local_xdot, + _asm1->assembleWithJacobian(local_assembler, t, dt, local_x, local_xdot, dxdot_dx, dx_dx, local_M_data, local_K_data, local_b_data, local_Jac_data); @@ -161,7 +161,7 @@ void CompareJacobiansJacobianAssembler::assembleWithJacobian( std::vector<double> local_Jac_data2; // Second assembly -- used for checking only. - _asm2->assembleWithJacobian(local_assembler, t, local_x, local_xdot, + _asm2->assembleWithJacobian(local_assembler, t, dt, local_x, local_xdot, dxdot_dx, dx_dx, local_M_data2, local_K_data2, local_b_data2, local_Jac_data2); diff --git a/ProcessLib/CompareJacobiansJacobianAssembler.h b/ProcessLib/CompareJacobiansJacobianAssembler.h index e4170e1287f2e26c6a9f5ee5de74ea8ec12f61f5..3c429372b3f14c770fd25691bb7e421f876ee24a 100644 --- a/ProcessLib/CompareJacobiansJacobianAssembler.h +++ b/ProcessLib/CompareJacobiansJacobianAssembler.h @@ -52,7 +52,7 @@ public: } void assembleWithJacobian(LocalAssemblerInterface& local_assembler, - double const t, + double const t, double const dt, std::vector<double> const& local_x, std::vector<double> const& local_xdot, const double dxdot_dx, const double dx_dx, diff --git a/ProcessLib/LocalAssemblerInterface.cpp b/ProcessLib/LocalAssemblerInterface.cpp index a7f7d059506f50883e86d41255e2e2f8d945b733..4c35edd87287415b7791183d4e4fb5f3e47930e8 100644 --- a/ProcessLib/LocalAssemblerInterface.cpp +++ b/ProcessLib/LocalAssemblerInterface.cpp @@ -39,7 +39,8 @@ void LocalAssemblerInterface::assembleForStaggeredScheme( } void LocalAssemblerInterface::assembleWithJacobian( - double const /*t*/, std::vector<double> const& /*local_x*/, + double const /*t*/, double const /*dt*/, + std::vector<double> const& /*local_x*/, std::vector<double> const& /*local_xdot*/, const double /*dxdot_dx*/, const double /*dx_dx*/, std::vector<double>& /*local_M_data*/, std::vector<double>& /*local_K_data*/, diff --git a/ProcessLib/LocalAssemblerInterface.h b/ProcessLib/LocalAssemblerInterface.h index b19832a86dd650242fab4df530dc2d9dd1649b4a..dcac7e9e4aa047a71ea37c64583a300abd775a91 100644 --- a/ProcessLib/LocalAssemblerInterface.h +++ b/ProcessLib/LocalAssemblerInterface.h @@ -58,7 +58,7 @@ public: std::vector<double>& local_b_data, LocalCoupledSolutions const& coupled_solutions); - virtual void assembleWithJacobian(double const t, + virtual void assembleWithJacobian(double const t, double const dt, std::vector<double> const& local_x, std::vector<double> const& local_xdot, const double dxdot_dx, const double dx_dx, diff --git a/ProcessLib/Process.cpp b/ProcessLib/Process.cpp index f131c7d716b0cf3c73b3ebba9dbec8db66e36bf6..f4c04257a40ea00c399b1b49aacc4ccff072a6f1 100644 --- a/ProcessLib/Process.cpp +++ b/ProcessLib/Process.cpp @@ -210,7 +210,8 @@ void Process::assemble(const double t, GlobalVector const& x, GlobalMatrix& M, _source_term_collections[pcs_id].integrate(t, x, b, nullptr); } -void Process::assembleWithJacobian(const double t, GlobalVector const& x, +void Process::assembleWithJacobian(const double t, double const dt, + GlobalVector const& x, GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, GlobalMatrix& M, GlobalMatrix& K, @@ -219,8 +220,8 @@ void Process::assembleWithJacobian(const double t, GlobalVector const& x, MathLib::LinAlg::setLocalAccessibleVector(x); MathLib::LinAlg::setLocalAccessibleVector(xdot); - assembleWithJacobianConcreteProcess(t, x, xdot, dxdot_dx, dx_dx, M, K, b, - Jac); + assembleWithJacobianConcreteProcess(t, dt, x, xdot, dxdot_dx, dx_dx, M, K, + b, Jac); // TODO: apply BCs to Jacobian. const auto pcs_id = diff --git a/ProcessLib/Process.h b/ProcessLib/Process.h index 3de497f10bfccba1248eb3457564173be2d090ee..22ce9b9a881f5df982aafec40de891e216660fb7 100644 --- a/ProcessLib/Process.h +++ b/ProcessLib/Process.h @@ -101,10 +101,10 @@ public: void assemble(const double t, GlobalVector const& x, GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b) final; - void assembleWithJacobian(const double t, GlobalVector const& x, - GlobalVector const& xdot, const double dxdot_dx, - const double dx_dx, GlobalMatrix& M, - GlobalMatrix& K, GlobalVector& b, + void assembleWithJacobian(const double t, double const dt, + GlobalVector const& x, GlobalVector const& xdot, + const double dxdot_dx, const double dx_dx, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) final; std::vector<NumLib::IndexValueVector<GlobalIndexType>> const* @@ -194,9 +194,10 @@ private: GlobalVector& b) = 0; virtual void assembleWithJacobianConcreteProcess( - const double t, GlobalVector const& x, GlobalVector const& xdot, - const double dxdot_dx, const double dx_dx, GlobalMatrix& M, - GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) = 0; + const double t, double const dt, GlobalVector const& x, + GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, + GlobalMatrix& Jac) = 0; virtual void preTimestepConcreteProcess(GlobalVector const& /*x*/, const double /*t*/, diff --git a/ProcessLib/SmallDeformation/SmallDeformationFEM.h b/ProcessLib/SmallDeformation/SmallDeformationFEM.h index 82bad1bd52f5527a4e735ad2c7904ca55f0f2d17..0b4988ef9df057c43a88c18e41aff010d344ffac 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationFEM.h +++ b/ProcessLib/SmallDeformation/SmallDeformationFEM.h @@ -230,7 +230,7 @@ public: "implemented."); } - void assembleWithJacobian(double const t, + void assembleWithJacobian(double const t, double const dt, std::vector<double> const& local_x, std::vector<double> const& /*local_xdot*/, const double /*dxdot_dx*/, const double /*dx_dx*/, @@ -295,8 +295,8 @@ public: local_x.data(), ShapeFunction::NPOINTS * DisplacementDim); auto&& solution = _ip_data[ip].solid_material.integrateStress( - t, x_position, _process_data.dt, eps_prev, eps, sigma_prev, - *state, _process_data.reference_temperature); + t, x_position, dt, eps_prev, eps, sigma_prev, *state, + _process_data.reference_temperature); if (!solution) { diff --git a/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp b/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp index f884f4c96983a471c6f3b6c7489c75f8648208ce..beca0fe087cf600516303f7ac9dc5740e86c8d0d 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp +++ b/ProcessLib/SmallDeformation/SmallDeformationProcess.cpp @@ -260,12 +260,10 @@ void SmallDeformationProcess<DisplacementDim>::assembleConcreteProcess( template <int DisplacementDim> void SmallDeformationProcess<DisplacementDim>:: - assembleWithJacobianConcreteProcess(const double t, GlobalVector const& x, - GlobalVector const& xdot, - const double dxdot_dx, - const double dx_dx, GlobalMatrix& M, - GlobalMatrix& K, GlobalVector& b, - GlobalMatrix& Jac) + assembleWithJacobianConcreteProcess( + const double t, double const dt, GlobalVector const& x, + GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) { DBUG("AssembleWithJacobian SmallDeformationProcess."); @@ -277,23 +275,13 @@ void SmallDeformationProcess<DisplacementDim>:: // Call global assembler for each local assembly item. GlobalExecutor::executeSelectedMemberDereferenced( _global_assembler, &VectorMatrixAssembler::assembleWithJacobian, - _local_assemblers, pv.getActiveElementIDs(), dof_table, t, x, - xdot, dxdot_dx, dx_dx, M, K, b, Jac, _coupled_solutions); + _local_assemblers, pv.getActiveElementIDs(), dof_table, t, dt, x, xdot, + dxdot_dx, dx_dx, M, K, b, Jac, _coupled_solutions); transformVariableFromGlobalVector(b, 0, *_local_to_global_index_map, *_nodal_forces, std::negate<double>()); } -template <int DisplacementDim> -void SmallDeformationProcess<DisplacementDim>::preTimestepConcreteProcess( - GlobalVector const& /*x*/, double const /*t*/, double const dt, - const int /*process_id*/) -{ - DBUG("PreTimestep SmallDeformationProcess."); - - _process_data.dt = dt; -} - template <int DisplacementDim> void SmallDeformationProcess<DisplacementDim>::postTimestepConcreteProcess( GlobalVector const& x, const double t, const double dt, diff --git a/ProcessLib/SmallDeformation/SmallDeformationProcess.h b/ProcessLib/SmallDeformation/SmallDeformationProcess.h index 9529ec70a944a1a15b6c92149d7883513acff89e..8cb3a8ef46d7eca80222fe9f1cc7354366d9d5ce 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationProcess.h +++ b/ProcessLib/SmallDeformation/SmallDeformationProcess.h @@ -55,13 +55,10 @@ private: GlobalVector& b) override; void assembleWithJacobianConcreteProcess( - const double t, GlobalVector const& x, GlobalVector const& xdot, - const double dxdot_dx, const double dx_dx, GlobalMatrix& M, - GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac) override; - - void preTimestepConcreteProcess( - GlobalVector const& x, double const t, double const dt, - const int process_id) override; + const double t, double const dt, GlobalVector const& x, + GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, + GlobalMatrix& Jac) override; void postTimestepConcreteProcess(GlobalVector const& x, const double t, const double delta_t, diff --git a/ProcessLib/SmallDeformation/SmallDeformationProcessData.h b/ProcessLib/SmallDeformation/SmallDeformationProcessData.h index f0dcd2cc5551e756413f195963704a4a05959815..8b5a21e98db3291783865ba6c5836e7268eebeb8 100644 --- a/ProcessLib/SmallDeformation/SmallDeformationProcessData.h +++ b/ProcessLib/SmallDeformation/SmallDeformationProcessData.h @@ -53,8 +53,6 @@ struct SmallDeformationProcessData double const reference_temperature = std::numeric_limits<double>::quiet_NaN(); - - double dt = std::numeric_limits<double>::quiet_NaN(); }; } // namespace SmallDeformation diff --git a/ProcessLib/VectorMatrixAssembler.cpp b/ProcessLib/VectorMatrixAssembler.cpp index efdda6826e91d4d135c3b86db7d6dee437e6112c..45abf2db3bb07fa4f134ceaa52547fb6b206dea8 100644 --- a/ProcessLib/VectorMatrixAssembler.cpp +++ b/ProcessLib/VectorMatrixAssembler.cpp @@ -108,9 +108,9 @@ void VectorMatrixAssembler::assembleWithJacobian( std::size_t const mesh_item_id, LocalAssemblerInterface& local_assembler, std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> const& dof_tables, - const double t, GlobalVector const& x, GlobalVector const& xdot, - const double dxdot_dx, const double dx_dx, GlobalMatrix& M, GlobalMatrix& K, - GlobalVector& b, GlobalMatrix& Jac, + const double t, double const dt, GlobalVector const& x, + GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac, CoupledSolutionsForStaggeredScheme const* const cpl_xs) { std::vector<std::vector<GlobalIndexType>> indices_of_processes; @@ -135,7 +135,7 @@ void VectorMatrixAssembler::assembleWithJacobian( { auto const local_x = x.get(indices); _jacobian_assembler->assembleWithJacobian( - local_assembler, t, local_x, local_xdot, dxdot_dx, dx_dx, + local_assembler, t, dt, local_x, local_xdot, dxdot_dx, dx_dx, _local_M_data, _local_K_data, _local_b_data, _local_Jac_data); } else diff --git a/ProcessLib/VectorMatrixAssembler.h b/ProcessLib/VectorMatrixAssembler.h index 62da2ad0ec188c0a1acc96910ac043ebce984944..677e91d846c2025fab8a93056acfcf1f3f69c7ff 100644 --- a/ProcessLib/VectorMatrixAssembler.h +++ b/ProcessLib/VectorMatrixAssembler.h @@ -59,9 +59,9 @@ public: std::vector< std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> const& dof_tables, - const double t, GlobalVector const& x, GlobalVector const& xdot, - const double dxdot_dx, const double dx_dx, GlobalMatrix& M, - GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac, + const double t, double const dt, GlobalVector const& x, + GlobalVector const& xdot, const double dxdot_dx, const double dx_dx, + GlobalMatrix& M, GlobalMatrix& K, GlobalVector& b, GlobalMatrix& Jac, CoupledSolutionsForStaggeredScheme const* const cpl_xs); private: