damping_sampling.h Source File
|
CPP API
|
damping_sampling.h
Go to the documentation of this file.
50 DampingSampling(const UncertainValue<FP>& value, DampingLevel level, DampingType type, SimulationTime<FP> time,
256 void apply_dampings(DampingExpression& damping_expression, const DampingSamplings& dampings, F make_matrix)
301 return Eigen::VectorX<FP>::NullaryExpr(shape.size(), [shape, groups = std::forward<V>(groups)](Eigen::Index i) {
SimulationTime< FP > get_time() const
Get the time the damping becomes active.
Definition: damping_sampling.h:125
void set_group_weights(const Eigen::MatrixBase< V > &v)
Set the group weights.
Definition: damping_sampling.h:173
void set_level(DampingLevel l)
Set the damping level.
Definition: damping_sampling.h:98
void set_type(DampingType t)
Set the damping type.
Definition: damping_sampling.h:116
const std::vector< size_t > & get_matrix_indices() const
Get a list of matrix indices that the damping applies to.
Definition: damping_sampling.h:144
DampingLevel get_level() const
Get the damping level.
Definition: damping_sampling.h:89
DampingType get_type() const
Get the damping type.
Definition: damping_sampling.h:107
void draw_sample()
draw a value from the distribution.
Definition: damping_sampling.h:181
bool operator==(const DampingSampling &other) const
equality comparison operators.
Definition: damping_sampling.h:190
void set_matrix_indices(const std::vector< size_t > &v)
Set a list of matrix indices that the damping applies to.
Definition: damping_sampling.h:153
DampingSampling(const UncertainValue< FP > &value, DampingLevel level, DampingType type, SimulationTime< FP > time, const std::vector< size_t > matrices, const Eigen::MatrixBase< V > &groups)
Creates a DampingSampling.
Definition: damping_sampling.h:50
const UncertainValue< FP > & get_value() const
Get the random value.
Definition: damping_sampling.h:66
void set_value(const UncertainValue< FP > &v)
Set the random value.
Definition: damping_sampling.h:80
bool operator!=(const DampingSampling &other) const
equality comparison operators.
Definition: damping_sampling.h:195
const Eigen::VectorX< FP > & get_group_weights() const
Get the group weights.
Definition: damping_sampling.h:163
static IOResult< DampingSampling > deserialize(IOContext &io)
deserialize an object of this class.
Definition: damping_sampling.h:222
void serialize(IOContext &io) const
serialize this.
Definition: damping_sampling.h:206
void set_time(SimulationTime< FP > t)
Set the time the damping becomes active.
Definition: damping_sampling.h:134
UncertainValue< FP > & get_value()
Get the random value.
Definition: damping_sampling.h:70
FP draw_sample()
Sets the value by sampling from the distribution and returns the new value.
Definition: uncertain_value.h:181
ad::internal::unary_intermediate< AD_TAPE_REAL, ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 >, ad::operations::ad_sqrt< AD_TAPE_REAL > > sqrt(const ad::internal::active_type< AD_TAPE_REAL, DATA_HANDLER_1 > &x1)
Definition: ad.hpp:1023
A collection of classes to simplify handling of matrix shapes in meta programming.
Definition: models/abm/analyze_result.h:30
requires details::IsElementReference< M > RowMajorIterator< M, false > end(M &m)
create a non-const end iterator for the matrix m.
Definition: eigen_util.h:449
void apply_dampings(DampingExpression &damping_expression, const DampingSamplings &dampings, F make_matrix)
add sampled dampings to a damping expression.
Definition: damping_sampling.h:256
boost::outcome_v2::in_place_type_t< T > Tag
Type that is used for overload resolution.
Definition: io.h:407
details::ApplyResultT< F, T... > apply(IOContext &io, F f, const IOResult< T > &... rs)
Evaluate a function with zero or more unpacked IOResults as arguments.
Definition: io.h:481
auto make_contact_damping_matrix(V &&groups)
Make a contact damping matrix from dampings by group.
Definition: damping_sampling.h:282
auto make_mobility_damping_vector(ColumnVectorShape< FP > shape, V &&groups)
Make mobility coefficient damping vector from dampings by group.
Definition: damping_sampling.h:299
requires details::IsElementReference< M > RowMajorIterator< M, false > begin(M &m)
create a non-const iterator to first element of the matrix m.
Definition: eigen_util.h:421
boost::outcome_v2::unchecked< T, IOStatus > IOResult
Value-or-error type for operations that return a value but can fail.
Definition: io.h:353
Generated by