Template Class ElasticityFreqProblem

Inheritance Relationships

Base Type

  • public dealii::EnableObserverPointer

Class Documentation

template<int dim, int spacedim = dim>
class ElasticityFreqProblem : public dealii::EnableObserverPointer

Public Types

using VectorType = ImmersXLA::MPI::Vector
using MatrixType = ImmersXLA::MPI::SparseMatrix

Public Functions

explicit ElasticityFreqProblem(const ElasticityFreqProblemParameters<dim, spacedim> &par)
void run()
void make_grid()
void setup_fe()
void setup_dofs()
void setup_constraints()
void refine_and_transfer()
void execute_actual_refine_and_transfer()
void print_parameters() const
void compute_internal_and_boundary_stress(bool openfilefirsttime) const
void prepare_frequency(double frequency_hz)

Set the frequency in Hz before registering this algebraic Problem.

void accept_frequency_solution(const VectorType &real, const VectorType &imaginary)

Accept an external harmonic solve and reconstruct essential values.

void output_results(unsigned int index = 0)

Write the accepted complex displacement using a sweep output index.

inline const ElasticityFreqProblemParameters<dim, spacedim> &parameters() const
inline const parallel::TriangulationBase<dim, spacedim> &triangulation() const
inline const Domain<dim, spacedim> &geometric_domain() const
inline const Mapping<dim, spacedim> &mapping() const
inline MPI_Comm communicator() const
inline double frequency() const
std::shared_ptr<MatrixType> make_surrogate_matrix(double volume_weight = 1.) const

Assemble the positive harmonic surrogate K+omega^2 M+omega D.

std::shared_ptr<TrilinosWrappers::PreconditionAMG> make_surrogate_amg(const MatrixType &matrix) const

Build the standalone solver’s elasticity AMG hierarchy.

inline const VectorType &real_displacement() const

Owned coefficients of the most recently solved complex displacement.

inline const VectorType &imaginary_displacement() const
inline const DoFHandler<dim, spacedim> &dof_handler() const

Spatial FE support, independent of the harmonic execution layout.

inline const IndexSet &locally_owned_dofs() const
inline const IndexSet &locally_relevant_dofs() const
inline const AffineConstraints<double> &real_constraints() const
inline const AffineConstraints<double> &imaginary_part_constraints() const