ExaDG
Loading...
Searching...
No Matches
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 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
void initialize (dealii::MatrixFree< dim, Number > const &matrix_free, dealii::AffineConstraints< Number > const &affine_constraints, OperatorData< dim > const &data, bool const assemble_matrix)
OperatorData< dim > const & get_data () const
Material< dim, Number > const & get_material_in_cell (dealii::MatrixFree< dim, Number > const &matrix_free_in, unsigned int const cell) const
void get_constant_modes (std::vector< std::vector< bool > > &constant_modes, std::vector< std::vector< double > > &constant_modes_values) const override
void set_scaling_factor_mass_operator (double const scaling_factor) const
double get_scaling_factor_mass_operator () const
void set_inhomogeneous_constrained_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_dof_index_inhomogeneous () 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
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
void assemble_matrix_if_matrix_based () const
void apply_matrix_based (VectorType &dst, VectorType const &src) const
void apply_matrix_based_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 dimension
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, This > ElementwiseOperator
typedef Elementwise::PreconditionerBase< dealii::VectorizedArray< Number > > ElementwisePreconditionerBase
typedef Elementwise::IterativeSolver< dim, n_components, Number, ElementwiseOperator, ElementwisePreconditionerBase > ElementwiseSolver
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, OperatorType const &operator_type, 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< ElementwiseOperator > elementwise_operator
std::shared_ptr< ElementwisePreconditionerBase > elementwise_preconditioner
std::shared_ptr< ElementwiseSolver > elementwise_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.

◆ 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: