/home/runner/work/kynema/kynema/kynema/src/step/step_parameters.hpp Source File

Kynema API: /home/runner/work/kynema/kynema/kynema/src/step/step_parameters.hpp Source File
Kynema API
A flexible multibody structural dynamics code for wind turbines
Loading...
Searching...
No Matches
step_parameters.hpp
Go to the documentation of this file.
1#pragma once
2
3#include <cstddef>
4
5namespace kynema {
6
13 bool is_dynamic_solve; //< analysis type (dynamic vs static)
14 size_t max_iter; //< maximum number of nonlinear iterations
15 double h; //< time step size
16 double alpha_m; //< generalized alpha solver parameter
17 double alpha_f; //< generalized alpha solver parameter
18 double gamma; //< generalized alpha solver parameter
19 double beta; //< generalized alpha solver parameter
20 double gamma_prime; //< generalized alpha solver parameter
21 double beta_prime; //< generalized alpha solver parameter
22 double conditioner; //< diagonal preconditioner value
23 double absolute_convergence_tol; //< absolute convergence tolerance
24 double relative_convergence_tol; //< relative convergence tolerance
25 size_t static_load_retries; //< maximum number of load reduction attempts for static analysis
26
40 bool is_dynamic_solve_, size_t max_iter_, double h_, double rho_inf, double a_tol = 1e-5,
41 double r_tol = 1e-3, size_t num_retries = 20
42 )
43 : is_dynamic_solve(is_dynamic_solve_),
44 max_iter(max_iter_),
45 h(h_),
46 alpha_m((2. * rho_inf - 1.) / (rho_inf + 1.)),
47 alpha_f(rho_inf / (rho_inf + 1.)),
48 gamma(0.5 + alpha_f - alpha_m),
49 beta(0.25 * (gamma + 0.5) * (gamma + 0.5)),
50 gamma_prime((is_dynamic_solve) ? gamma / (h * beta) : 0.),
51 beta_prime((is_dynamic_solve) ? (1. - alpha_m) / (h * h * beta * (1. - alpha_f)) : 0.),
52 conditioner(beta * h * h),
55 static_load_retries(num_retries) {}
56};
57
58} // namespace kynema
Definition calculate_constraint_output.hpp:8
A Struct containing the paramters used to control the time stepping process.
Definition step_parameters.hpp:12
double gamma_prime
Definition step_parameters.hpp:20
size_t static_load_retries
Definition step_parameters.hpp:25
double beta
Definition step_parameters.hpp:19
double alpha_m
Definition step_parameters.hpp:16
double beta_prime
Definition step_parameters.hpp:21
double relative_convergence_tol
Definition step_parameters.hpp:24
size_t max_iter
Definition step_parameters.hpp:14
StepParameters(bool is_dynamic_solve_, size_t max_iter_, double h_, double rho_inf, double a_tol=1e-5, double r_tol=1e-3, size_t num_retries=20)
Constructor for the StepParameters object.
Definition step_parameters.hpp:39
double gamma
Definition step_parameters.hpp:18
double absolute_convergence_tol
Definition step_parameters.hpp:23
bool is_dynamic_solve
Definition step_parameters.hpp:13
double conditioner
Definition step_parameters.hpp:22
double h
Definition step_parameters.hpp:15
double alpha_f
Definition step_parameters.hpp:17