b2api
B2000++ API Reference Manual, VERSION 4.6
 
Loading...
Searching...
No Matches
b2000::TypedModelReductionBoundaryCondition< T > Class Template Referenceabstract

#include "b2boundary_condition.H"

Inheritance diagram for b2000::TypedModelReductionBoundaryCondition< T >:
Collaboration diagram for b2000::TypedModelReductionBoundaryCondition< T >:

Public Types

typedef TypedModelReductionBoundaryCondition typed_base_t
 
- Public Types inherited from b2000::ModelReductionBoundaryCondition
enum  Type { none = 0 , const_value = 1 , const_derivative = 2 , noconstant_derivative_constant_struct = 3 }
 

Public Member Functions

virtual size_t get_size (const bool linear, const b2linalg::Vector< T, b2linalg::Vdense_constref > &dof, double time)=0
 
virtual void get_nonlinear_value (const b2linalg::Vector< T, b2linalg::Vdense_constref > &dof, double time, EquilibriumSolution equilibrium_solution, b2linalg::Vector< T, b2linalg::Vdense_ref > value, b2linalg::Matrix< T, b2linalg::Mcompressed_col > &d_value_d_dof_trans, b2linalg::Matrix< T, b2linalg::Mrectangle_ref > d_value_d_time, SolverHints *solver_hints)
 
virtual void get_linear_value (b2linalg::Vector< T, b2linalg::Vdense_ref > value, b2linalg::Matrix< T, b2linalg::Mcompressed_col > &d_value_d_dof_trans, double time=1)
 
virtual void get_nonlinear_inverse_value (const b2linalg::Matrix< T, b2linalg::Mrectangle_constref > &value, double time, b2linalg::Matrix< T, b2linalg::Mrectangle_ref > dof)=0
 
- Public Member Functions inherited from b2000::ModelReductionBoundaryCondition
virtual Type get_type () const =0
 
- Public Member Functions inherited from b2000::Object
virtual const std::string & get_object_name () const
 
virtual ~Object ()
 

Additional Inherited Members

- Static Public Attributes inherited from b2000::Object
static ObjectType type
 

Detailed Description

template<typename T>
class b2000::TypedModelReductionBoundaryCondition< T >

Abstract class defining the complete interface for model reduction boundary conditions. Actual implementations should derive this class.

Member Typedef Documentation

◆ typed_base_t

Indicating the boundary type as an easy handle to use in derived classes.

Member Function Documentation

◆ get_linear_value()

template<typename T >
virtual void b2000::TypedModelReductionBoundaryCondition< T >::get_linear_value ( b2linalg::Vector< T, b2linalg::Vdense_ref >  value,
b2linalg::Matrix< T, b2linalg::Mcompressed_col > &  d_value_d_dof_trans,
double  time = 1 
)
inlinevirtual

Evaluate a linear model reduction boundary condition. By default, get_nonlinear_value() is called with dof set to zero and time set to 1.

Parameters
valueThe values of g (global array, output).
d_value_d_dof_transA transposed matrix containing the derivatives of g w.r.t. the dof's (sparse matrix, output).
timeThe current time parameter (input).

◆ get_nonlinear_inverse_value()

template<typename T >
virtual void b2000::TypedModelReductionBoundaryCondition< T >::get_nonlinear_inverse_value ( const b2linalg::Matrix< T, b2linalg::Mrectangle_constref > &  value,
double  time,
b2linalg::Matrix< T, b2linalg::Mrectangle_ref >  dof 
)
pure virtual

Evaluate the inverse of the nonlinear reduction boundary condition.

Parameters
dofThe degrees-of-freedom of the reduced model (global array, input).
timeThe current time parameter (input).
valueThe values of g in function of the dof and the time parameter (global array, output)

An exception is raised if a solution cannot be found.

◆ get_nonlinear_value()

template<typename T >
virtual void b2000::TypedModelReductionBoundaryCondition< T >::get_nonlinear_value ( const b2linalg::Vector< T, b2linalg::Vdense_constref > &  dof,
double  time,
EquilibriumSolution  equilibrium_solution,
b2linalg::Vector< T, b2linalg::Vdense_ref >  value,
b2linalg::Matrix< T, b2linalg::Mcompressed_col > &  d_value_d_dof_trans,
b2linalg::Matrix< T, b2linalg::Mrectangle_ref >  d_value_d_time,
SolverHints solver_hints 
)
inlinevirtual

Evaluate a nonlinear model reduction boundary condition. Actual implementations must override this function.

Parameters
dofThe degrees-of-freedom of the reduced model (global array, input).
timeThe current time parameter (input).
equilibrium_solutionContains information for path-dependent analysis.
valueThe value of g evaluated in function the dof's and the time parameter (global array, output)
d_value_d_dof_transA transposed matrix containing the derivative of g w.r.t. the dof's (sparse matrix, output).
d_value_d_timethe derivative of g w.r.t. the time parameter (global array, output).
solver_hintsHints for the Solver that can be specified by the natural boundary condition.

◆ get_size()

template<typename T >
virtual size_t b2000::TypedModelReductionBoundaryCondition< T >::get_size ( const bool  linear,
const b2linalg::Vector< T, b2linalg::Vdense_constref > &  dof,
double  time 
)
pure virtual
Returns
The size (number of degrees-of-freedom) of the reduced model.

The documentation for this class was generated from the following file: