20 #ifndef LIBMESH_FREQUENCY_SYSTEM_H 21 #define LIBMESH_FREQUENCY_SYSTEM_H 26 #if defined(LIBMESH_USE_COMPLEX_NUMBERS) 72 const std::string & name_in,
73 const unsigned int number_in);
85 virtual void clear ()
override;
103 virtual void solve ()
override;
113 void solve (
const unsigned int n_start,
114 const unsigned int n_stop);
120 virtual std::string
system_type ()
const override {
return "Frequency"; }
140 const Number freq_step=0.,
141 const unsigned int n_freq=1,
142 const bool allocate_solution_duplicates=
true);
155 const unsigned int n_freq,
156 const bool allocate_solution_duplicates=
true);
166 const bool allocate_solution_duplicates=
true);
170 const bool allocate_solution_duplicates=
true);
184 const std::string &
name));
190 const std::string &
name);
195 std::pair<unsigned int, Real>
get_rval (
unsigned int n)
const;
270 std::vector<std::pair<unsigned int, Real>>
vec_rval;
281 libmesh_assert_less (n,
vec_rval.size());
289 #endif // if defined(LIBMESH_USE_COMPLEX_NUMBERS) 291 #endif // LIBMESH_FREQUENCY_SYSTEM_H void attach_solve_function(void fptr(EquationSystems &es, const std::string &name))
virtual void solve() override
Manages multiples systems of equations.
void(* solve_system)(EquationSystems &es, const std::string &name)
virtual void assemble() override
virtual std::string system_type() const override
Manages consistently variables, degrees of freedom, coefficient vectors, matrices and linear solvers ...
bool _keep_solution_duplicates
void set_frequencies_by_range(const Number min_freq, const Number max_freq, const unsigned int n_freq, const bool allocate_solution_duplicates=true)
void set_frequencies(const std::vector< Real > &frequencies, const bool allocate_solution_duplicates=true)
std::string form_freq_param_name(const unsigned int n) const
FrequencySystem(EquationSystems &es, const std::string &name_in, const unsigned int number_in)
virtual void init_data() override
void set_frequencies_by_steps(const Number base_freq, const Number freq_step=0., const unsigned int n_freq=1, const bool allocate_solution_duplicates=true)
std::pair< unsigned int, Real > get_rval(unsigned int n) const
virtual void clear() override
unsigned int n_frequencies() const
bool _finished_set_frequencies
void set_current_frequency(unsigned int n)
const std::string & name() const
std::string form_solu_vec_name(const unsigned int n) const
std::vector< std::pair< unsigned int, Real > > vec_rval