20class LocalToGlobalIndexMap;
25struct CoupledSolutionsForStaggeredScheme;
26struct LocalCoupledSolutions;
41 bool const use_monolithic_scheme,
42 int const process_id);
44 virtual void initialize(std::size_t
const mesh_item_id,
48 std::vector<double>
const& ){};
50 virtual void assemble(
double const t,
double const dt,
51 std::vector<double>
const& local_x,
52 std::vector<double>
const& local_xdot,
53 std::vector<double>& local_M_data,
54 std::vector<double>& local_K_data,
55 std::vector<double>& local_b_data);
58 Eigen::VectorXd
const& local_x,
59 Eigen::VectorXd
const& local_xdot,
61 std::vector<double>& local_M_data,
62 std::vector<double>& local_K_data,
63 std::vector<double>& local_b_data);
66 std::vector<double>
const& local_x,
67 std::vector<double>
const& local_xdot,
68 std::vector<double>& local_M_data,
69 std::vector<double>& local_K_data,
70 std::vector<double>& local_b_data,
71 std::vector<double>& local_Jac_data);
74 double const t,
double const dt, Eigen::VectorXd
const& local_x,
75 Eigen::VectorXd
const& local_xdot,
int const process_id,
76 std::vector<double>& local_M_data, std::vector<double>& local_K_data,
77 std::vector<double>& local_b_data, std::vector<double>& local_Jac_data);
80 std::size_t
const mesh_item_id,
81 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_tables,
82 double const t,
double const dt, std::vector<GlobalVector*>
const& x,
85 virtual void preTimestep(std::size_t
const mesh_item_id,
88 double const delta_t);
91 std::size_t
const mesh_item_id,
92 std::vector<NumLib::LocalToGlobalIndexMap const*>
const& dof_tables,
93 std::vector<GlobalVector*>
const& x,
double const t,
double const dt);
98 double const t,
double const dt,
99 bool const use_monolithic_scheme,
100 int const process_id);
108 std::vector<double>
const& )
const
110 return Eigen::Vector3d{};
117 std::vector<std::vector<double>>
const& )
const
119 return Eigen::Vector3d{};
124 std::vector<double>
const& ,
double const ,
125 bool const ,
int const )
132 double const ,
double const )
137 double const ,
double const )
142 std::vector<double>
const& ,
143 std::vector<double>
const& ,
double const ,
144 double const ,
bool const ,
152 Eigen::VectorXd
const& ,
153 Eigen::VectorXd
const& )
158 double const , std::vector<std::vector<double>>
const&
Definition of the Point3d class.
Global vector based on Eigen vector.
virtual void preTimestepConcrete(std::vector< double > const &, double const, double const)
virtual ~LocalAssemblerInterface()=default
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 setInitialConditionsConcrete(std::vector< double > const &, double const, bool const, int const)
virtual void initializeConcrete()
virtual void computeSecondaryVariableConcrete(double const, double const, Eigen::VectorXd const &, Eigen::VectorXd 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.
virtual void preAssemble(double const, double const, std::vector< double > const &)
virtual void assembleWithJacobian(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, std::vector< double > &local_Jac_data)
virtual void postNonLinearSolverConcrete(std::vector< double > const &, std::vector< double > const &, double const, double const, bool const, int const)
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)
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 initialize(std::size_t const mesh_item_id, NumLib::LocalToGlobalIndexMap const &dof_table)
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 computeSecondaryVariableWithCoupledProcessConcrete(double const, std::vector< 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 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 assembleWithJacobianForStaggeredScheme(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, std::vector< double > &local_Jac_data)
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 void postTimestepConcrete(Eigen::VectorXd const &, double const, double const)