35#ifndef LEENEWMARKITERATIVE_H
36#define LEENEWMARKITERATIVE_H
38#include "../Newmark.h"
62 std::vector<Mode> damping_mode;
64 shared_ptr<Factory<double>> factory =
nullptr;
66 shared_ptr<MetaMat<double>> current_mass =
nullptr;
67 shared_ptr<MetaMat<double>> current_stiffness =
nullptr;
69 unique_ptr<MetaMat<double>> worker =
nullptr;
71 void init_worker(
unsigned,
unsigned);
73 void assemble(
const shared_ptr<
MetaMat<double>>&, uword, uword,
double)
const;
75 void assemble_mass(uword, uword,
double)
const;
76 void assemble_stiffness(uword, uword,
double)
const;
77 void assemble_mass(
const std::vector<sword>&,
const std::vector<sword>&,
const std::vector<double>&)
const;
78 void assemble_stiffness(
const std::vector<sword>&,
const std::vector<sword>&,
const std::vector<double>&)
const;
80 void formulate_block(sword&,
double,
double,
int)
const;
81 void formulate_block(sword&,
const std::vector<double>&,
const std::vector<double>&,
const std::vector<int>&)
const;
83 [[nodiscard]] vec update_by_mode_one(
double,
double,
int)
const;
84 [[nodiscard]] vec update_by_mode_two(
double,
double,
int,
int);
85 [[nodiscard]] vec update_by_mode_three(
double,
double,
double);
86 [[nodiscard]] vec update_by_mode_four(
double,
double,
int,
int,
int,
int,
double);
88 void update_damping_force();
100 void print()
override;
A LeeNewmarkIterative class defines a solver using Newmark algorithm with Lee damping model.
Definition LeeNewmarkIterative.h:43
int process_constraint() override
Definition LeeNewmarkIterative.cpp:353
int initialize() override
Definition LeeNewmarkIterative.cpp:343
void assemble_matrix() override
Definition LeeNewmarkIterative.cpp:374
Type
Definition LeeNewmarkIterative.h:45
int process_constraint_resistance() override
Definition LeeNewmarkIterative.cpp:368
void print() override
Definition LeeNewmarkIterative.cpp:400
A Newmark class defines a solver using Newmark algorithm.
Definition Newmark.h:45
Definition LeeNewmarkIterative.h:53
double zeta
Definition LeeNewmarkIterative.h:56
double omega
Definition LeeNewmarkIterative.h:56
Type t
Definition LeeNewmarkIterative.h:54
vec p
Definition LeeNewmarkIterative.h:55