Skip to content
Snippets Groups Projects
Commit bccae264 authored by wenqing's avatar wenqing
Browse files

[deactivation] enabled in H2 processes

parent 2f323d75
No related branches found
No related tags found
No related merge requests found
...@@ -83,10 +83,14 @@ void ThermalTwoPhaseFlowWithPPProcess::assembleConcreteProcess( ...@@ -83,10 +83,14 @@ void ThermalTwoPhaseFlowWithPPProcess::assembleConcreteProcess(
std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>>
dof_table = {std::ref(*_local_to_global_index_map)}; dof_table = {std::ref(*_local_to_global_index_map)};
const int process_id = 0;
ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
// Call global assembler for each local assembly item. // Call global assembler for each local assembly item.
GlobalExecutor::executeMemberDereferenced( GlobalExecutor::executeSelectedMemberDereferenced(
_global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers, _global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers,
dof_table, t, x, M, K, b, _coupled_solutions); pv.getElementDeactivationFlags(), dof_table, t, x, M, K, b,
_coupled_solutions);
} }
void ThermalTwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess( void ThermalTwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess(
...@@ -98,21 +102,26 @@ void ThermalTwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess( ...@@ -98,21 +102,26 @@ void ThermalTwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess(
std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>>
dof_table = {std::ref(*_local_to_global_index_map)}; dof_table = {std::ref(*_local_to_global_index_map)};
const int process_id = 0;
ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
// Call global assembler for each local assembly item. // Call global assembler for each local assembly item.
GlobalExecutor::executeMemberDereferenced( GlobalExecutor::executeSelectedMemberDereferenced(
_global_assembler, &VectorMatrixAssembler::assembleWithJacobian, _global_assembler, &VectorMatrixAssembler::assembleWithJacobian,
_local_assemblers, dof_table, t, x, xdot, dxdot_dx, _local_assemblers, pv.getElementDeactivationFlags(), dof_table, t, x,
dx_dx, M, K, b, Jac, _coupled_solutions); xdot, dxdot_dx, dx_dx, M, K, b, Jac, _coupled_solutions);
} }
void ThermalTwoPhaseFlowWithPPProcess::preTimestepConcreteProcess( void ThermalTwoPhaseFlowWithPPProcess::preTimestepConcreteProcess(
GlobalVector const& x, double const t, double const delta_t, GlobalVector const& x, double const t, double const delta_t,
const int /*process_id*/) const int process_id)
{ {
DBUG("PreTimestep ThermalTwoPhaseFlowWithPPProcess."); DBUG("PreTimestep ThermalTwoPhaseFlowWithPPProcess.");
GlobalExecutor::executeMemberOnDereferenced( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
GlobalExecutor::executeSelectedMemberOnDereferenced(
&LocalAssemblerInterface::preTimestep, _local_assemblers, &LocalAssemblerInterface::preTimestep, _local_assemblers,
*_local_to_global_index_map, x, t, delta_t); pv.getElementDeactivationFlags(), *_local_to_global_index_map, x, t,
delta_t);
} }
} // end of namespace } // end of namespace
......
...@@ -80,10 +80,14 @@ void TwoPhaseFlowWithPPProcess::assembleConcreteProcess(const double t, ...@@ -80,10 +80,14 @@ void TwoPhaseFlowWithPPProcess::assembleConcreteProcess(const double t,
std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>>
dof_table = {std::ref(*_local_to_global_index_map)}; dof_table = {std::ref(*_local_to_global_index_map)};
const int process_id = 0;
ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
// Call global assembler for each local assembly item. // Call global assembler for each local assembly item.
GlobalExecutor::executeMemberDereferenced( GlobalExecutor::executeSelectedMemberDereferenced(
_global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers, _global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers,
dof_table, t, x, M, K, b, _coupled_solutions); pv.getElementDeactivationFlags(), dof_table, t, x, M, K, b,
_coupled_solutions);
} }
void TwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess( void TwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess(
...@@ -95,11 +99,14 @@ void TwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess( ...@@ -95,11 +99,14 @@ void TwoPhaseFlowWithPPProcess::assembleWithJacobianConcreteProcess(
std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>>
dof_table = {std::ref(*_local_to_global_index_map)}; dof_table = {std::ref(*_local_to_global_index_map)};
const int process_id = 0;
ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
// Call global assembler for each local assembly item. // Call global assembler for each local assembly item.
GlobalExecutor::executeMemberDereferenced( GlobalExecutor::executeSelectedMemberDereferenced(
_global_assembler, &VectorMatrixAssembler::assembleWithJacobian, _global_assembler, &VectorMatrixAssembler::assembleWithJacobian,
_local_assemblers, dof_table, t, x, xdot, dxdot_dx, _local_assemblers, pv.getElementDeactivationFlags(), dof_table, t, x,
dx_dx, M, K, b, Jac, _coupled_solutions); xdot, dxdot_dx, dx_dx, M, K, b, Jac, _coupled_solutions);
} }
} // end of namespace } // end of namespace
......
...@@ -80,10 +80,14 @@ void TwoPhaseFlowWithPrhoProcess::assembleConcreteProcess(const double t, ...@@ -80,10 +80,14 @@ void TwoPhaseFlowWithPrhoProcess::assembleConcreteProcess(const double t,
std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>>
dof_table = {std::ref(*_local_to_global_index_map)}; dof_table = {std::ref(*_local_to_global_index_map)};
const int process_id = 0;
ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
// Call global assembler for each local assembly item. // Call global assembler for each local assembly item.
GlobalExecutor::executeMemberDereferenced( GlobalExecutor::executeSelectedMemberDereferenced(
_global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers, _global_assembler, &VectorMatrixAssembler::assemble, _local_assemblers,
dof_table, t, x, M, K, b, _coupled_solutions); pv.getElementDeactivationFlags(), dof_table, t, x, M, K, b,
_coupled_solutions);
} }
void TwoPhaseFlowWithPrhoProcess::assembleWithJacobianConcreteProcess( void TwoPhaseFlowWithPrhoProcess::assembleWithJacobianConcreteProcess(
...@@ -95,21 +99,27 @@ void TwoPhaseFlowWithPrhoProcess::assembleWithJacobianConcreteProcess( ...@@ -95,21 +99,27 @@ void TwoPhaseFlowWithPrhoProcess::assembleWithJacobianConcreteProcess(
std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>> std::vector<std::reference_wrapper<NumLib::LocalToGlobalIndexMap>>
dof_table = {std::ref(*_local_to_global_index_map)}; dof_table = {std::ref(*_local_to_global_index_map)};
const int process_id = 0;
ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
// Call global assembler for each local assembly item. // Call global assembler for each local assembly item.
GlobalExecutor::executeMemberDereferenced( GlobalExecutor::executeSelectedMemberDereferenced(
_global_assembler, &VectorMatrixAssembler::assembleWithJacobian, _global_assembler, &VectorMatrixAssembler::assembleWithJacobian,
_local_assemblers, dof_table, t, x, xdot, dxdot_dx, _local_assemblers, pv.getElementDeactivationFlags(), dof_table, t, x,
dx_dx, M, K, b, Jac, _coupled_solutions); xdot, dxdot_dx, dx_dx, M, K, b, Jac, _coupled_solutions);
} }
void TwoPhaseFlowWithPrhoProcess::preTimestepConcreteProcess( void TwoPhaseFlowWithPrhoProcess::preTimestepConcreteProcess(
GlobalVector const& x, double const t, double const dt, GlobalVector const& x, double const t, double const dt,
const int /*process_id*/) const int process_id)
{ {
DBUG("PreTimestep TwoPhaseFlowWithPrhoProcess."); DBUG("PreTimestep TwoPhaseFlowWithPrhoProcess.");
GlobalExecutor::executeMemberOnDereferenced( ProcessLib::ProcessVariable const& pv = getProcessVariables(process_id)[0];
GlobalExecutor::executeSelectedMemberOnDereferenced(
&LocalAssemblerInterface::preTimestep, _local_assemblers, &LocalAssemblerInterface::preTimestep, _local_assemblers,
*_local_to_global_index_map, x, t, dt); pv.getElementDeactivationFlags(), *_local_to_global_index_map, x, t,
dt);
} }
} // end of namespace } // end of namespace
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment