code-gallery icon indicating copy to clipboard operation
code-gallery copied to clipboard

ElastoPlasticTorsion uses removed interface

Open bangerth opened this issue 2 years ago • 1 comments

This program uses the following virtual function:

  template <int dim>
  class ComputeMultiplier : public DataPostprocessor<dim>
  {
  private:
    double p;
  public:
    ComputeMultiplier (double pe);

    virtual
    void compute_derived_quantities_scalar (
      const std::vector< double > &,
      const std::vector< Tensor< 1, dim > > &,
      const std::vector< Tensor< 2, dim > > &,
      const std::vector< Point< dim > > &,
      const std::vector< Point< dim > > &,
      std::vector< Vector< double > > &
    ) const;

    virtual std::vector<std::string> get_names () const override;

    virtual
    std::vector<DataComponentInterpretation::DataComponentInterpretation>
    get_data_component_interpretation () const;
    virtual UpdateFlags get_needed_update_flags () const override;
  };

But the compute_derived_quantities_scalar () function has been removed. The class here should instead derive from DataPostprocessorScalar.

bangerth avatar Apr 10 '23 21:04 bangerth

But the compute_derived_quantities_scalar () function has been removed.

The function has been deprecated in 8.5.1 and removed in 9.0.0 . The deprecation message suggests to use evaluate_scalar_field() instead. The code still compiles as evaluate_scalar_field() is not a pure virtual function, but instead triggers an assertion when called.

marcfehling avatar Sep 07 '23 22:09 marcfehling