diff --git a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp index bdf611726c1f99ad4d32699387d6a2a063bec52d..fdd0b9ea0285653f9fd1287f07d04298cbfc20a1 100644 --- a/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp +++ b/ProcessLib/ComponentTransport/ComponentTransportProcess.cpp @@ -18,9 +18,12 @@ #include "MathLib/LinAlg/Eigen/EigenTools.h" #include "MathLib/LinAlg/FinalizeMatrixAssembly.h" #include "MathLib/LinAlg/FinalizeVectorAssembly.h" +#include "MathLib/LinAlg/GlobalMatrixVectorTypes.h" #include "MathLib/LinAlg/LinAlg.h" #include "MeshLib/Utils/getOrCreateMeshProperty.h" #include "NumLib/DOF/ComputeSparsityPattern.h" +#include "NumLib/NumericalStability/FluxCorrectedTransport.h" +#include "NumLib/NumericalStability/NumericalStabilization.h" #include "NumLib/ODESolver/NonlinearSystem.h" #include "ProcessLib/CoupledSolutionsForStaggeredScheme.h" #include "ProcessLib/SurfaceFlux/SurfaceFlux.h" @@ -220,6 +223,16 @@ void ComponentTransportProcess::assembleConcreteProcess( _asm_mat_cache.assemble(t, dt, x, x_prev, process_id, M, K, b, dof_tables, _global_assembler, _local_assemblers, pv.getActiveElementIDs()); + + if (process_id == _process_data.hydraulic_process_id) + { + return; + } + auto const matrix_specification = getMatrixSpecifications(process_id); + + NumLib::computeFluxCorrectedTransport(_process_data.stabilizer, t, dt, x, + x_prev, process_id, + matrix_specification, M, K, b); } void ComponentTransportProcess::assembleWithJacobianConcreteProcess( @@ -515,6 +528,5 @@ void ComponentTransportProcess::preOutputConcreteProcess( INFO("[time] Computing residuum flow rates took {:g} s", time_residuum.elapsed()); } - } // namespace ComponentTransport } // namespace ProcessLib