Program Listing for File coupled_elasticity.h¶
↰ Return to documentation for file (include/coupled_elasticity.h)
/* ---------------------------------------------------------------------
*/
#ifdef ENABLE_COUPLED_PROBLEMS
# ifndef dealii_distributed_lagrange_multiplier_coupled_elasticity_h
# define dealii_distributed_lagrange_multiplier_coupled_elasticity_h
# include "elasticity.h"
template <int dim, int spacedim = dim>
class CoupledElasticityProblem : public ElasticityProblem<dim, spacedim>
{
public:
CoupledElasticityProblem(
const ElasticityProblemParameters<dim, spacedim> &par);
void
run();
void
run_timestep0();
void
run_timestep();
void
compute_coupling_pressure();
void
update_inclusions_data(std::vector<double> new_data);
void
update_inclusions_data(std::vector<double> new_data,
std::vector<int> cells_per_vessel);
std::vector<std::vector<double>>
split_pressure_over_inclusions(std::vector<int>, Vector<double>) const;
unsigned int
n_vessels() const
{
return this->inclusions.get_n_vessels();
};
TrilinosWrappers::MPI::Vector coupling_pressure;
TrilinosWrappers::MPI::Vector coupling_pressure_at_inclusions;
private:
void
reassemble_coupling_rhs();
void
refine_and_transfer_around_inclusions();
void
output_coupling_pressure(bool openfilefirsttime) const;
};
# endif
#endif