OGS
ProcessLib::LocalAssemblerInterface Class Reference

Detailed Description

Common interface for local assemblers NumLib::ODESystemTag::FirstOrderImplicitQuasilinear ODE systems.

Todo:
Generalize to other NumLib::ODESystemTag's.

Definition at line 33 of file LocalAssemblerInterface.h.

#include <LocalAssemblerInterface.h>

Inheritance diagram for ProcessLib::LocalAssemblerInterface:
[legend]

Public Member Functions

virtual ~LocalAssemblerInterface ()=default
 
void setInitialConditions (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, double const t, bool const use_monolithic_scheme, int const process_id)
 
virtual void initialize (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)
 
virtual void preAssemble (double const, double const, std::vector< double > const &)
 
virtual void assemble (double const t, double const dt, std::vector< double > const &local_x, std::vector< double > const &local_xdot, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data)
 
virtual void assembleForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_xdot, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data)
 
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, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)
 
virtual void assembleWithJacobianForStaggeredScheme (double const t, double const dt, Eigen::VectorXd const &local_x, Eigen::VectorXd const &local_xdot, const double dxdot_dx, const double dx_dx, int const process_id, std::vector< double > &local_M_data, std::vector< double > &local_K_data, std::vector< double > &local_b_data, std::vector< double > &local_Jac_data)
 
virtual void computeSecondaryVariable (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, double const t, double const dt, std::vector< GlobalVector * > const &x, GlobalVector const &x_dot, int const process_id)
 
virtual void preTimestep (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, double const t, double const delta_t)
 
virtual void postTimestep (std::size_t const mesh_item_id, std::vector< NumLib::LocalToGlobalIndexMap const * > const &dof_tables, std::vector< GlobalVector * > const &x, double const t, double const dt)
 
void postNonLinearSolver (std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table, GlobalVector const &x, GlobalVector const &xdot, double const t, double const dt, bool const use_monolithic_scheme, int const process_id)
 
virtual std::vector< double > interpolateNodalValuesToIntegrationPoints (std::vector< double > const &)
 
virtual Eigen::Vector3d getFlux (MathLib::Point3d const &, double const, std::vector< double > const &) const
 
virtual Eigen::Vector3d getFlux (MathLib::Point3d const &, double const, std::vector< std::vector< double >> const &) const
 Fits to staggered scheme. More...
 

Private Member Functions

virtual void setInitialConditionsConcrete (std::vector< double > const &, double const, bool const, int const)
 
virtual void initializeConcrete ()
 
virtual void preTimestepConcrete (std::vector< double > const &, double const, double const)
 
virtual void postTimestepConcrete (Eigen::VectorXd const &, double const, double const)
 
virtual void postNonLinearSolverConcrete (std::vector< double > const &, std::vector< double > const &, double const, double const, bool const, int const)
 
virtual void computeSecondaryVariableConcrete (double const, double const, Eigen::VectorXd const &, Eigen::VectorXd const &)
 
virtual void computeSecondaryVariableWithCoupledProcessConcrete (double const, std::vector< std::vector< double >> const &)
 

Constructor & Destructor Documentation

◆ ~LocalAssemblerInterface()

virtual ProcessLib::LocalAssemblerInterface::~LocalAssemblerInterface ( )
virtualdefault

Member Function Documentation

◆ assemble()

void ProcessLib::LocalAssemblerInterface::assemble ( double const  t,
double const  dt,
std::vector< double > const &  local_x,
std::vector< double > const &  local_xdot,
std::vector< double > &  local_M_data,
std::vector< double > &  local_K_data,
std::vector< double > &  local_b_data 
)
virtual

Reimplemented in ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrixNearFracture< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerFracture< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerInterface, ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerSoil< ShapeFunction, IntegrationMethod >, ProcessLib::HeatTransportBHE::HeatTransportBHELocalAssemblerBHE< ShapeFunction, IntegrationMethod, BHEType >, ProcessLib::TwoPhaseFlowWithPrho::TwoPhaseFlowWithPrhoLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::TwoPhaseFlowWithPP::TwoPhaseFlowWithPPLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermalTwoPhaseFlowWithPP::ThermalTwoPhaseFlowWithPPLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::TES::TESLocalAssembler< ShapeFunction_, IntegrationMethod_, GlobalDim >, ProcessLib::RichardsComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::RichardsFlow::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::LiquidFlow::LiquidFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::HT::MonolithicHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::HeatConduction::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::StokesFlow::LocalAssemblerData< ShapeFunctionLiquidVelocity, ShapeFunctionPressure, IntegrationMethod, GlobalDim >, and ProcessLib::SteadyStateDiffusion::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >.

Definition at line 21 of file LocalAssemblerInterface.cpp.

29 {
30  OGS_FATAL(
31  "The assemble() function is not implemented in the local assembler.");
32 }
#define OGS_FATAL(...)
Definition: Error.h:26

References OGS_FATAL.

Referenced by ProcessLib::VectorMatrixAssembler::assemble(), and ProcessLib::CentralDifferencesJacobianAssembler::assembleWithJacobian().

◆ assembleForStaggeredScheme()

void ProcessLib::LocalAssemblerInterface::assembleForStaggeredScheme ( double const  t,
double const  dt,
Eigen::VectorXd const &  local_x,
Eigen::VectorXd const &  local_xdot,
int const  process_id,
std::vector< double > &  local_M_data,
std::vector< double > &  local_K_data,
std::vector< double > &  local_b_data 
)
virtual

Reimplemented in ProcessLib::HT::StaggeredHTFEM< ShapeFunction, IntegrationMethod, GlobalDim >, and ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >.

Definition at line 34 of file LocalAssemblerInterface.cpp.

40 {
41  OGS_FATAL(
42  "The assembleForStaggeredScheme() function is not implemented in the "
43  "local assembler.");
44 }

References OGS_FATAL.

Referenced by ProcessLib::VectorMatrixAssembler::assemble().

◆ assembleWithJacobian()

void ProcessLib::LocalAssemblerInterface::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,
std::vector< double > &  local_M_data,
std::vector< double > &  local_K_data,
std::vector< double > &  local_b_data,
std::vector< double > &  local_Jac_data 
)
virtual

Reimplemented in ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerInterface, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface, ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::HeatConduction::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, and ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerMatrix< ShapeFunction, IntegrationMethod, DisplacementDim >.

Definition at line 46 of file LocalAssemblerInterface.cpp.

54 {
55  OGS_FATAL(
56  "The assembleWithJacobian() function is not implemented in the local "
57  "assembler.");
58 }

References OGS_FATAL.

Referenced by ProcessLib::AnalyticalJacobianAssembler::assembleWithJacobian().

◆ assembleWithJacobianForStaggeredScheme()

void ProcessLib::LocalAssemblerInterface::assembleWithJacobianForStaggeredScheme ( double const  t,
double const  dt,
Eigen::VectorXd const &  local_x,
Eigen::VectorXd const &  local_xdot,
const double  dxdot_dx,
const double  dx_dx,
int const  process_id,
std::vector< double > &  local_M_data,
std::vector< double > &  local_K_data,
std::vector< double > &  local_b_data,
std::vector< double > &  local_Jac_data 
)
virtual

◆ computeSecondaryVariable()

void ProcessLib::LocalAssemblerInterface::computeSecondaryVariable ( std::size_t const  mesh_item_id,
std::vector< NumLib::LocalToGlobalIndexMap const * > const &  dof_tables,
double const  t,
double const  dt,
std::vector< GlobalVector * > const &  x,
GlobalVector const &  x_dot,
int const  process_id 
)
virtual

Definition at line 74 of file LocalAssemblerInterface.cpp.

79 {
80  std::vector<double> local_x_vec;
81 
82  auto const n_processes = x.size();
83  for (std::size_t process_id = 0; process_id < n_processes; ++process_id)
84  {
85  auto const indices =
86  NumLib::getIndices(mesh_item_id, *dof_tables[process_id]);
87  assert(!indices.empty());
88  auto const local_solution = x[process_id]->get(indices);
89  local_x_vec.insert(std::end(local_x_vec), std::begin(local_solution),
90  std::end(local_solution));
91  }
92  auto const local_x = MathLib::toVector(local_x_vec);
93 
94  // Todo: A more decent way is to directly pass x_dots as done for x
95  auto const indices =
96  NumLib::getIndices(mesh_item_id, *dof_tables[process_id]);
97  auto const local_x_dot_vec = x_dot.get(indices);
98  auto const local_x_dot = MathLib::toVector(local_x_dot_vec);
99 
100  computeSecondaryVariableConcrete(t, dt, local_x, local_x_dot);
101 }
virtual void computeSecondaryVariableConcrete(double const, double const, Eigen::VectorXd const &, Eigen::VectorXd const &)
Eigen::Map< const Vector > toVector(std::vector< double > const &data, Eigen::VectorXd::Index size)
Creates an Eigen mapped vector from the given data vector.
std::vector< GlobalIndexType > getIndices(std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)

References computeSecondaryVariableConcrete(), MathLib::EigenVector::get(), NumLib::getIndices(), and MathLib::toVector().

Referenced by ProcessLib::SmallDeformation::SmallDeformationProcess< DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::TH2M::TH2MProcess< DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsProcess< DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::HeatConduction::HeatConductionProcess::computeSecondaryVariableConcrete(), ProcessLib::HeatTransportBHE::HeatTransportBHEProcess::computeSecondaryVariableConcrete(), ProcessLib::LIE::SmallDeformation::SmallDeformationProcess< DisplacementDim >::computeSecondaryVariableConcrete(), ProcessLib::LiquidFlow::LiquidFlowProcess::computeSecondaryVariableConcrete(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowProcess::computeSecondaryVariableConcrete(), ProcessLib::ComponentTransport::ComponentTransportProcess::computeSecondaryVariableConcrete(), and ProcessLib::StokesFlow::StokesFlowProcess< GlobalDim >::computeSecondaryVariableConcrete().

◆ computeSecondaryVariableConcrete()

virtual void ProcessLib::LocalAssemblerInterface::computeSecondaryVariableConcrete ( double const  ,
double const  ,
Eigen::VectorXd const &  ,
Eigen::VectorXd const &   
)
inlineprivatevirtual

Reimplemented in ProcessLib::StokesFlow::LocalAssemblerData< ShapeFunctionLiquidVelocity, ShapeFunctionPressure, IntegrationMethod, GlobalDim >, ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::LIE::SmallDeformation::SmallDeformationLocalAssemblerInterface, ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, and ProcessLib::HeatConduction::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >.

Definition at line 157 of file LocalAssemblerInterface.h.

162  {
163  }

Referenced by computeSecondaryVariable().

◆ computeSecondaryVariableWithCoupledProcessConcrete()

virtual void ProcessLib::LocalAssemblerInterface::computeSecondaryVariableWithCoupledProcessConcrete ( double const  ,
std::vector< std::vector< double >> const &   
)
inlineprivatevirtual

Definition at line 165 of file LocalAssemblerInterface.h.

168  {
169  }

◆ getFlux() [1/2]

virtual Eigen::Vector3d ProcessLib::LocalAssemblerInterface::getFlux ( MathLib::Point3d const &  ,
double const  ,
std::vector< double > const &   
) const
inlinevirtual

◆ getFlux() [2/2]

virtual Eigen::Vector3d ProcessLib::LocalAssemblerInterface::getFlux ( MathLib::Point3d const &  ,
double const  ,
std::vector< std::vector< double >> const &   
) const
inlinevirtual

Fits to staggered scheme.

Definition at line 122 of file LocalAssemblerInterface.h.

126  {
127  return Eigen::Vector3d{};
128  }

◆ initialize()

◆ initializeConcrete()

virtual void ProcessLib::LocalAssemblerInterface::initializeConcrete ( )
inlineprivatevirtual

Reimplemented in ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, and ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >.

Definition at line 137 of file LocalAssemblerInterface.h.

137 {}

Referenced by initialize().

◆ interpolateNodalValuesToIntegrationPoints()

virtual std::vector<double> ProcessLib::LocalAssemblerInterface::interpolateNodalValuesToIntegrationPoints ( std::vector< double > const &  )
inlinevirtual

◆ postNonLinearSolver()

void ProcessLib::LocalAssemblerInterface::postNonLinearSolver ( std::size_t const  mesh_item_id,
NumLib::LocalToGlobalIndexMap const &  dof_table,
GlobalVector const &  x,
GlobalVector const &  xdot,
double const  t,
double const  dt,
bool const  use_monolithic_scheme,
int const  process_id 
)

Definition at line 154 of file LocalAssemblerInterface.cpp.

159 {
160  auto const indices = NumLib::getIndices(mesh_item_id, dof_table);
161  auto const local_x = x.get(indices);
162  auto const local_xdot = xdot.get(indices);
163 
164  postNonLinearSolverConcrete(local_x, local_xdot, t, dt,
165  use_monolithic_scheme, process_id);
166 }
virtual void postNonLinearSolverConcrete(std::vector< double > const &, std::vector< double > const &, double const, double const, bool const, int const)

References MathLib::EigenVector::get(), NumLib::getIndices(), and postNonLinearSolverConcrete().

Referenced by ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsProcess< DisplacementDim >::postNonLinearSolverConcreteProcess(), and ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldProcess< DisplacementDim >::postNonLinearSolverConcreteProcess().

◆ postNonLinearSolverConcrete()

virtual void ProcessLib::LocalAssemblerInterface::postNonLinearSolverConcrete ( std::vector< double > const &  ,
std::vector< double > const &  ,
double const  ,
double const  ,
bool const  ,
int const   
)
inlineprivatevirtual

◆ postTimestep()

void ProcessLib::LocalAssemblerInterface::postTimestep ( std::size_t const  mesh_item_id,
std::vector< NumLib::LocalToGlobalIndexMap const * > const &  dof_tables,
std::vector< GlobalVector * > const &  x,
double const  t,
double const  dt 
)
virtual

Definition at line 132 of file LocalAssemblerInterface.cpp.

136 {
137  std::vector<double> local_x_vec;
138 
139  auto const n_processes = x.size();
140  for (std::size_t process_id = 0; process_id < n_processes; ++process_id)
141  {
142  auto const indices =
143  NumLib::getIndices(mesh_item_id, *dof_tables[process_id]);
144  assert(!indices.empty());
145  auto const local_solution = x[process_id]->get(indices);
146  local_x_vec.insert(std::end(local_x_vec), std::begin(local_solution),
147  std::end(local_solution));
148  }
149  auto const local_x = MathLib::toVector(local_x_vec);
150 
151  postTimestepConcrete(local_x, t, dt);
152 }
virtual void postTimestepConcrete(Eigen::VectorXd const &, double const, double const)

References NumLib::getIndices(), postTimestepConcrete(), and MathLib::toVector().

Referenced by ProcessLib::ComponentTransport::ComponentTransportProcess::postTimestepConcreteProcess(), ProcessLib::SmallDeformation::SmallDeformationProcess< DisplacementDim >::postTimestepConcreteProcess(), ProcessLib::StokesFlow::StokesFlowProcess< GlobalDim >::postTimestepConcreteProcess(), ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsProcess< DisplacementDim >::postTimestepConcreteProcess(), ProcessLib::ThermoMechanics::ThermoMechanicsProcess< DisplacementDim >::postTimestepConcreteProcess(), ProcessLib::TH2M::TH2MProcess< DisplacementDim >::postTimestepConcreteProcess(), ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowProcess::postTimestepConcreteProcess(), ProcessLib::LIE::HydroMechanics::HydroMechanicsProcess< GlobalDim >::postTimestepConcreteProcess(), ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalProcess< DisplacementDim >::postTimestepConcreteProcess(), and ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldProcess< DisplacementDim >::postTimestepConcreteProcess().

◆ postTimestepConcrete()

virtual void ProcessLib::LocalAssemblerInterface::postTimestepConcrete ( Eigen::VectorXd const &  ,
double const  ,
double const   
)
inlineprivatevirtual

Reimplemented in ProcessLib::LIE::HydroMechanics::HydroMechanicsLocalAssemblerInterface, ProcessLib::ThermoRichardsMechanics::ThermoRichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowLocalAssembler< ShapeFunction, IntegrationMethod, GlobalDim >, ProcessLib::ThermoMechanics::ThermoMechanicsLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoMechanicalPhaseField::ThermoMechanicalPhaseFieldLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::ThermoHydroMechanics::ThermoHydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::TH2M::TH2MLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::SmallDeformationNonlocal::SmallDeformationNonlocalLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::RichardsMechanics::RichardsMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::PhaseField::PhaseFieldLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >, ProcessLib::HydroMechanics::HydroMechanicsLocalAssembler< ShapeFunctionDisplacement, ShapeFunctionPressure, IntegrationMethod, DisplacementDim >, ProcessLib::ComponentTransport::LocalAssemblerData< ShapeFunction, IntegrationMethod, GlobalDim >, and ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, IntegrationMethod, DisplacementDim >.

Definition at line 144 of file LocalAssemblerInterface.h.

146  {
147  }

Referenced by postTimestep().

◆ preAssemble()

virtual void ProcessLib::LocalAssemblerInterface::preAssemble ( double const  ,
double const  ,
std::vector< double > const &   
)
inlinevirtual

◆ preTimestep()

void ProcessLib::LocalAssemblerInterface::preTimestep ( std::size_t const  mesh_item_id,
NumLib::LocalToGlobalIndexMap const &  dof_table,
GlobalVector const &  x,
double const  t,
double const  delta_t 
)
virtual

◆ preTimestepConcrete()

◆ setInitialConditions()

void ProcessLib::LocalAssemblerInterface::setInitialConditions ( std::size_t const  mesh_item_id,
NumLib::LocalToGlobalIndexMap const &  dof_table,
GlobalVector const &  x,
double const  t,
bool const  use_monolithic_scheme,
int const  process_id 
)

Definition at line 103 of file LocalAssemblerInterface.cpp.

107 {
108  auto const indices = NumLib::getIndices(mesh_item_id, dof_table);
109  auto const local_x = x.get(indices);
110 
111  setInitialConditionsConcrete(local_x, t, use_monolithic_scheme, process_id);
112 }
virtual void setInitialConditionsConcrete(std::vector< double > const &, double const, bool const, int const)

References MathLib::EigenVector::get(), NumLib::getIndices(), and setInitialConditionsConcrete().

Referenced by ProcessLib::TH2M::TH2MProcess< DisplacementDim >::setInitialConditionsConcreteProcess(), and ProcessLib::ThermoRichardsFlow::ThermoRichardsFlowProcess::setInitialConditionsConcreteProcess().

◆ setInitialConditionsConcrete()


The documentation for this class was generated from the following files: