ExaDG
Loading...
Searching...
No Matches
Public Member Functions | List of all members
ExaDG::Structure::NonLinearOperator< dim, Number > Class Template Reference
Inheritance diagram for ExaDG::Structure::NonLinearOperator< dim, Number >:
ExaDG::Structure::ElasticityOperatorBase< dim, Number > ExaDG::OperatorBase< dim, Number, dim >

Public Member Functions

void initialize (dealii::MatrixFree< dim, Number > const &matrix_free, dealii::AffineConstraints< Number > const &affine_constraints, OperatorData< dim > const &data) override
 
void evaluate_nonlinear (VectorType &dst, VectorType const &src) const
 
bool valid_deformation (VectorType const &displacement) const
 
void set_solution_linearization (VectorType const &vector) const
 
VectorType const & get_solution_linearization () const
 
- Public Member Functions inherited from ExaDG::Structure::ElasticityOperatorBase< dim, Number >
IntegratorFlags get_integrator_flags (bool const unsteady) const
 
OperatorData< dim > const & get_data () const
 
void set_scaling_factor_mass_operator (double const scaling_factor) const
 
double get_scaling_factor_mass_operator () const
 
void set_inhomogeneous_boundary_values (VectorType &dst) const final
 
- Public Member Functions inherited from ExaDG::OperatorBase< dim, Number, dim >
void set_time (double const time) const
 
double get_time () const
 
unsigned int get_level () const
 
dealii::AffineConstraints< Number > const & get_affine_constraints () const
 
dealii::MatrixFree< dim, Number > const & get_matrix_free () const
 
unsigned int get_dof_index () const
 
unsigned int get_quad_index () const
 
bool operator_is_singular () const
 
void vmult (VectorType &dst, VectorType const &src) const
 
void vmult_add (VectorType &dst, VectorType const &src) const
 
void vmult_interface_down (VectorType &dst, VectorType const &src) const
 
void vmult_add_interface_up (VectorType &dst, VectorType const &src) const
 
dealii::types::global_dof_index m () const
 
dealii::types::global_dof_index n () const
 
Number el (unsigned int const, unsigned int const) const
 
bool is_empty_locally () const
 
void initialize_dof_vector (VectorType &vector) const
 
virtual void set_inhomogeneous_boundary_values (VectorType &solution) const
 
void set_constrained_dofs_to_zero (VectorType &vector) const
 
void calculate_inverse_diagonal (VectorType &diagonal) const
 
void initialize_block_diagonal_preconditioner (bool const initialize) const
 
void update_block_diagonal_preconditioner () const
 
void apply_inverse_block_diagonal (VectorType &dst, VectorType const &src) const
 
void apply (VectorType &dst, VectorType const &src) const
 
void apply_add (VectorType &dst, VectorType const &src) const
 
virtual void rhs (VectorType &dst) const
 
virtual void rhs_add (VectorType &dst) const
 
virtual void evaluate (VectorType &dst, VectorType const &src) const
 
virtual void evaluate_add (VectorType &dst, VectorType const &src) const
 
void calculate_diagonal (VectorType &diagonal) const
 
void add_diagonal (VectorType &diagonal) const
 
void add_block_diagonal_matrices (std::vector< LAPACKMatrix > &matrices) const
 
void apply_inverse_block_diagonal_matrix_based (VectorType &dst, VectorType const &src) const
 
void initialize_block_diagonal_preconditioner_matrix_free (bool const initialize) const
 
void update_block_diagonal_preconditioner_matrix_free () const
 
void initialize_block_diagonal_preconditioner_matrix_based (bool const initialize) const
 
void update_block_diagonal_preconditioner_matrix_based () const
 
void apply_add_block_diagonal_elementwise (unsigned int const cell, dealii::VectorizedArray< Number > *const dst, dealii::VectorizedArray< Number > const *const src, unsigned int const problem_size) const
 
virtual void compute_factorized_additive_schwarz_matrices () const
 
void apply_inverse_additive_schwarz_matrices (VectorType &dst, VectorType const &src) const
 

Additional Inherited Members

- Public Types inherited from ExaDG::Structure::ElasticityOperatorBase< dim, Number >
typedef Number value_type
 
- Public Types inherited from ExaDG::OperatorBase< dim, Number, dim >
typedef OperatorBase< dim, Number, n_components > This
 
typedef dealii::LinearAlgebra::distributed::Vector< Number > VectorType
 
typedef std::pair< unsigned int, unsigned int > Range
 
typedef CellIntegrator< dim, n_components, Number > IntegratorCell
 
typedef FaceIntegrator< dim, n_components, Number > IntegratorFace
 
typedef dealii::LAPACKFullMatrix< Number > LAPACKMatrix
 
typedef dealii::FullMatrix< dealii::TrilinosScalar > FullMatrix_
 
- Static Public Member Functions inherited from ExaDG::Structure::ElasticityOperatorBase< dim, Number >
static MappingFlags get_mapping_flags ()
 
- Static Public Attributes inherited from ExaDG::OperatorBase< dim, Number, dim >
static unsigned int const vectorization_length
 
- Protected Types inherited from ExaDG::Structure::ElasticityOperatorBase< dim, Number >
typedef OperatorBase< dim, Number, dim > Base
 
typedef Base::IntegratorCell IntegratorCell
 
typedef Base::VectorType VectorType
 
typedef Base::IntegratorFace IntegratorFace
 
- Protected Types inherited from ExaDG::OperatorBase< dim, Number, dim >
typedef Elementwise::OperatorBase< dim, Number, ThisELEMENTWISE_OPERATOR
 
typedef Elementwise::PreconditionerBase< dealii::VectorizedArray< Number > > ELEMENTWISE_PRECONDITIONER
 
typedef Elementwise::IterativeSolver< dim, n_components, Number, ELEMENTWISE_OPERATOR, ELEMENTWISE_PRECONDITIONERELEMENTWISE_SOLVER
 
- Protected Member Functions inherited from ExaDG::Structure::ElasticityOperatorBase< dim, Number >
void reinit_cell_derived (IntegratorCell &integrator, unsigned int const cell) const override
 
- Protected Member Functions inherited from ExaDG::OperatorBase< dim, Number, dim >
void reinit (dealii::MatrixFree< dim, Number > const &matrix_free, dealii::AffineConstraints< Number > const &constraints, OperatorBaseData const &data)
 
void reinit_cell (IntegratorCell &integrator, unsigned int const cell) const
 
void reinit_face (IntegratorFace &integrator_m, IntegratorFace &integrator_p, unsigned int const face) const
 
void reinit_boundary_face (IntegratorFace &integrator_m, unsigned int const face) const
 
void reinit_face_cell_based (IntegratorFace &integrator_m, IntegratorFace &integrator_p, unsigned int const cell, unsigned int const face, dealii::types::boundary_id const boundary_id) const
 
virtual void do_cell_integral (IntegratorCell &integrator) const
 
virtual void do_face_integral (IntegratorFace &integrator_m, IntegratorFace &integrator_p) const
 
virtual void do_boundary_integral (IntegratorFace &integrator, OperatorType const &operator_type, dealii::types::boundary_id const &boundary_id) const
 
virtual void do_boundary_integral_continuous (IntegratorFace &integrator, dealii::types::boundary_id const &boundary_id) const
 
virtual void do_face_int_integral (IntegratorFace &integrator_m, IntegratorFace &integrator_p) const
 
virtual void do_face_ext_integral (IntegratorFace &integrator_m, IntegratorFace &integrator_p) const
 
virtual void do_face_int_integral_cell_based (IntegratorFace &integrator_m, IntegratorFace &integrator_p) const
 
- Protected Attributes inherited from ExaDG::Structure::ElasticityOperatorBase< dim, Number >
OperatorData< dim > operator_data
 
MaterialHandler< dim, Number > material_handler
 
double scaling_factor_mass
 
- Protected Attributes inherited from ExaDG::OperatorBase< dim, Number, dim >
lazy_ptr< dealii::MatrixFree< dim, Number > > matrix_free
 
double time
 
lazy_ptr< dealii::AffineConstraints< Number > > constraint
 
dealii::AffineConstraints< double > constraint_double
 
IntegratorFlags integrator_flags
 
bool is_dg
 
std::shared_ptr< ELEMENTWISE_OPERATORelementwise_operator
 
std::shared_ptr< ELEMENTWISE_PRECONDITIONERelementwise_preconditioner
 
std::shared_ptr< ELEMENTWISE_SOLVERelementwise_solver
 

Member Function Documentation

◆ evaluate_nonlinear()

template<int dim, typename Number >
void ExaDG::Structure::NonLinearOperator< dim, Number >::evaluate_nonlinear ( VectorType & dst,
VectorType const & src ) const

Evaluates the non-linear operator.

This function ensures that constrained degrees of freedom are set to zero in the dst vector. Note, however, that this function does not ensure that Dirichlet degrees of freedom are set to the prescribed inhomogeneous boundary data in the src vector. This needs to be done separately prior to calling this function.

◆ get_solution_linearization()

template<int dim, typename Number >
NonLinearOperator< dim, Number >::VectorType const & ExaDG::Structure::NonLinearOperator< dim, Number >::get_solution_linearization ( ) const

Linearized operator: Returns the linearization vector.

◆ initialize()

template<int dim, typename Number >
void ExaDG::Structure::NonLinearOperator< dim, Number >::initialize ( dealii::MatrixFree< dim, Number > const & matrix_free,
dealii::AffineConstraints< Number > const & affine_constraints,
OperatorData< dim > const & data )
overridevirtual

Initialize function.

Reimplemented from ExaDG::Structure::ElasticityOperatorBase< dim, Number >.

◆ set_solution_linearization()

template<int dim, typename Number >
void ExaDG::Structure::NonLinearOperator< dim, Number >::set_solution_linearization ( VectorType const & vector) const

Linearized operator: Sets the linearization vector.

◆ valid_deformation()

template<int dim, typename Number >
bool ExaDG::Structure::NonLinearOperator< dim, Number >::valid_deformation ( VectorType const & displacement) const

Returns true if deformation state is valid.


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