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

#include "b2boundary_condition.H"

Inheritance diagram for b2000::TypedNaturalBoundaryCondition< T, MATRIX_TYPE >:
Collaboration diagram for b2000::TypedNaturalBoundaryCondition< T, MATRIX_TYPE >:

Public Types

typedef TypedNaturalBoundaryCondition typed_base_t
 
- Public Types inherited from b2000::NaturalBoundaryCondition
enum  Type { none = 0 , constant = 1 , conservative = 2 , noconservative = 3 }
 

Public Member Functions

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, MATRIX_TYPE > &d_value_d_dof, b2linalg::Vector< T, b2linalg::Vdense_ref > d_value_d_time, SolverHints *solver_hints)
 
virtual void get_linear_value (b2linalg::Vector< T, b2linalg::Vdense_ref > value, b2linalg::Matrix< T, MATRIX_TYPE > &d_value_d_dof, double time=1)
 
- Public Member Functions inherited from b2000::NaturalBoundaryCondition
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, typename MATRIX_TYPE = b2linalg::Msym_compressed_col_update_inv>
class b2000::TypedNaturalBoundaryCondition< T, MATRIX_TYPE >

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

Member Typedef Documentation

◆ typed_base_t

template<typename T , typename MATRIX_TYPE = b2linalg::Msym_compressed_col_update_inv>
typedef TypedNaturalBoundaryCondition b2000::TypedNaturalBoundaryCondition< T, MATRIX_TYPE >::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 , typename MATRIX_TYPE = b2linalg::Msym_compressed_col_update_inv>
virtual void b2000::TypedNaturalBoundaryCondition< T, MATRIX_TYPE >::get_linear_value ( b2linalg::Vector< T, b2linalg::Vdense_ref >  value,
b2linalg::Matrix< T, MATRIX_TYPE > &  d_value_d_dof,
double  time = 1 
)
inlinevirtual

Evaluate the natural boundary condition for linear analysis. By default, returns get_nonlinear_value() with dof set to zero and time set to 1.

Parameters
valueThe values of the external forces (global array, output).
d_value_d_dofA matrix containing the derivatives of the external forces w.r.t. the dof's (matrix, output).
timeThe current time parameter (input).

◆ get_nonlinear_value()

template<typename T , typename MATRIX_TYPE = b2linalg::Msym_compressed_col_update_inv>
virtual void b2000::TypedNaturalBoundaryCondition< T, MATRIX_TYPE >::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, MATRIX_TYPE > &  d_value_d_dof,
b2linalg::Vector< T, b2linalg::Vdense_ref >  d_value_d_time,
SolverHints solver_hints 
)
inlinevirtual

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

Parameters
dofThe degree of freedom in the branch referential (global array, input).
timeThe current time parameter (input).
equilibrium_solutionContains information for path-dependent analysis.
valueThe values of the natural boundary conditions (global array, output).
d_value_d_dofA transposed matrix containing the derivatives of the natural boundary conditions w.r.t. the dof's (sparse matrix, output).
d_value_d_timeThe derivatives of the natural boundary conditions w.r.t. the time parameter (global array, output).
solver_hintsHints for the Solver that can be specified by the natural boundary condition.

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