ROL
BurgersFEM< Real > Class Template Reference

#include <test_04.hpp>

Public Member Functions

 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
int num_dof (void) const
Real mesh_spacing (void) const
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_L2_norm (const std::vector< Real > &r) const
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_mass (std::ostream &outStream=std::cout)
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_H1_norm (const std::vector< Real > &r) const
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_H1 (std::ostream &outStream=std::cout)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 BurgersFEM (int nx=128, Real nu=1.e-2, Real nl=1.0, Real u0=1.0, Real u1=0.0, Real f=0.0, Real cH1=1.0, Real cL2=1.0)
int num_dof (void) const
Real mesh_spacing (void) const
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_L2_norm (const std::vector< Real > &r) const
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_mass (std::ostream &outStream=std::cout)
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_H1_norm (const std::vector< Real > &r) const
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_H1 (std::ostream &outStream=std::cout)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
int num_dof (void) const
Real mesh_spacing (void) const
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_L2_norm (const std::vector< Real > &r) const
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_mass (std::ostream &outStream=std::cout)
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_H1_norm (const std::vector< Real > &r) const
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_H1 (std::ostream &outStream=std::cout)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
Real get_viscosity (void) const
int num_dof (void) const
Real mesh_spacing (void) const
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_L2_norm (const std::vector< Real > &r) const
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_mass (std::ostream &outStream=std::cout)
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_H1_norm (const std::vector< Real > &r) const
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_H1 (std::ostream &outStream=std::cout)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
 BurgersFEM (int nx=128, Real nl=1.0, Real cH1=1.0, Real cL2=1.0)
void set_problem_data (const Real nu, const Real f, const Real u0, const Real u1)
int num_dof (void) const
Real mesh_spacing (void) const
Real compute_L2_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_L2_norm (const std::vector< Real > &r) const
void apply_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_mass (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_mass (std::ostream &outStream=std::cout)
Real compute_H1_dot (const std::vector< Real > &x, const std::vector< Real > &y) const
Real compute_H1_norm (const std::vector< Real > &r) const
void apply_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void apply_inverse_H1 (std::vector< Real > &Mu, const std::vector< Real > &u) const
void test_inverse_H1 (std::ostream &outStream=std::cout)
void compute_residual (std::vector< Real > &r, const std::vector< Real > &u, const std::vector< Real > &z) const
void compute_pde_jacobian (std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &u) const
void apply_pde_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_pde_jacobian (std::vector< Real > &ijv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_jacobian (std::vector< Real > &ajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_inverse_adjoint_pde_jacobian (std::vector< Real > &iajv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_control_jacobian (std::vector< Real > &jv, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z) const
void apply_adjoint_pde_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_pde_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)
void apply_adjoint_control_hessian (std::vector< Real > &ahwv, const std::vector< Real > &w, const std::vector< Real > &v, const std::vector< Real > &u, const std::vector< Real > &z)

Private Member Functions

void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
void scale (std::vector< Real > &u, const Real alpha=0.0) const
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
void scale (std::vector< Real > &u, const Real alpha=0.0) const
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
void scale (std::vector< Real > &u, const Real alpha=0.0) const
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
void scale (std::vector< Real > &u, const Real alpha=0.0) const
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const
void update (std::vector< Real > &u, const std::vector< Real > &s, const Real alpha=1.0) const
void axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const
void scale (std::vector< Real > &u, const Real alpha=0.0) const
void linear_solve (std::vector< Real > &u, std::vector< Real > &dl, std::vector< Real > &d, std::vector< Real > &du, const std::vector< Real > &r, const bool transpose=false) const

Private Attributes

int nx_
Real dx_
Real nu_
Real nl_
Real u0_
Real u1_
Real f_
Real cH1_
Real cL2_

Detailed Description

template<class Real>
class BurgersFEM< Real >

Definition at line 35 of file test_04.hpp.

Constructor & Destructor Documentation

◆ BurgersFEM() [1/5]

template<class Real>
BurgersFEM< Real >::BurgersFEM ( int nx = 128,
Real nl = 1.0,
Real cH1 = 1.0,
Real cL2 = 1.0 )
inline

Definition at line 97 of file test_04.hpp.

References cH1_, cL2_, dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ BurgersFEM() [2/5]

template<class Real>
BurgersFEM< Real >::BurgersFEM ( int nx = 128,
Real nu = 1.e-2,
Real nl = 1.0,
Real u0 = 1.0,
Real u1 = 0.0,
Real f = 0.0,
Real cH1 = 1.0,
Real cL2 = 1.0 )
inline

Definition at line 98 of file example_04.hpp.

References cH1_, cL2_, dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ BurgersFEM() [3/5]

template<class Real>
BurgersFEM< Real >::BurgersFEM ( int nx = 128,
Real nl = 1.0,
Real cH1 = 1.0,
Real cL2 = 1.0 )
inline

Definition at line 99 of file example_06.hpp.

References cH1_, cL2_, dx_, nl_, and nx_.

◆ BurgersFEM() [4/5]

template<class Real>
BurgersFEM< Real >::BurgersFEM ( int nx = 128,
Real nl = 1.0,
Real cH1 = 1.0,
Real cL2 = 1.0 )
inline

Definition at line 99 of file example_07.hpp.

References cH1_, cL2_, dx_, nl_, and nx_.

◆ BurgersFEM() [5/5]

template<class Real>
BurgersFEM< Real >::BurgersFEM ( int nx = 128,
Real nl = 1.0,
Real cH1 = 1.0,
Real cL2 = 1.0 )
inline

Definition at line 99 of file example_08.hpp.

References cH1_, cL2_, dx_, nl_, and nx_.

Member Function Documentation

◆ update() [1/5]

template<class Real>
void BurgersFEM< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 ) const
inlineprivate

Definition at line 48 of file test_04.hpp.

◆ axpy() [1/5]

template<class Real>
void BurgersFEM< Real >::axpy ( std::vector< Real > & out,
const Real a,
const std::vector< Real > & x,
const std::vector< Real > & y ) const
inlineprivate

Definition at line 54 of file test_04.hpp.

Referenced by test_inverse_H1(), and test_inverse_mass().

◆ scale() [1/5]

template<class Real>
void BurgersFEM< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 ) const
inlineprivate

Definition at line 60 of file test_04.hpp.

◆ linear_solve() [1/5]

template<class Real>
void BurgersFEM< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false ) const
inlineprivate

◆ set_problem_data() [1/4]

template<class Real>
void BurgersFEM< Real >::set_problem_data ( const Real nu,
const Real f,
const Real u0,
const Real u1 )
inline

Definition at line 105 of file test_04.hpp.

References f_, nu_, u0_, and u1_.

◆ num_dof() [1/5]

template<class Real>
int BurgersFEM< Real >::num_dof ( void ) const
inline

Definition at line 112 of file test_04.hpp.

References nx_.

◆ mesh_spacing() [1/5]

template<class Real>
Real BurgersFEM< Real >::mesh_spacing ( void ) const
inline

Definition at line 116 of file test_04.hpp.

References dx_.

◆ compute_L2_dot() [1/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 124 of file test_04.hpp.

References dx_, and nx_.

Referenced by compute_L2_norm().

◆ compute_L2_norm() [1/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > & r) const
inline

Definition at line 142 of file test_04.hpp.

References compute_L2_dot().

Referenced by test_inverse_mass().

◆ apply_mass() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 147 of file test_04.hpp.

References dx_, and nx_.

Referenced by test_inverse_mass().

◆ apply_inverse_mass() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 164 of file test_04.hpp.

References dx_, linear_solve(), and nx_.

Referenced by test_inverse_mass().

◆ test_inverse_mass() [1/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_mass ( std::ostream & outStream = std::cout)
inline

Definition at line 177 of file test_04.hpp.

References apply_inverse_mass(), apply_mass(), axpy(), compute_L2_norm(), and nx_.

◆ compute_H1_dot() [1/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 214 of file test_04.hpp.

References cH1_, cL2_, dx_, and nx_.

Referenced by compute_H1_norm().

◆ compute_H1_norm() [1/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > & r) const
inline

Definition at line 234 of file test_04.hpp.

References compute_H1_dot().

Referenced by test_inverse_H1().

◆ apply_H1() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 239 of file test_04.hpp.

References cH1_, cL2_, dx_, and nx_.

Referenced by test_inverse_H1().

◆ apply_inverse_H1() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 258 of file test_04.hpp.

References cH1_, cL2_, dx_, linear_solve(), and nx_.

Referenced by test_inverse_H1().

◆ test_inverse_H1() [1/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream & outStream = std::cout)
inline

Definition at line 266 of file test_04.hpp.

References apply_H1(), apply_inverse_H1(), axpy(), compute_H1_norm(), and nx_.

◆ compute_residual() [1/5]

template<class Real>
void BurgersFEM< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 287 of file test_04.hpp.

References dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ compute_pde_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u ) const
inline

Definition at line 323 of file test_04.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

Referenced by apply_inverse_adjoint_pde_jacobian(), and apply_inverse_pde_jacobian().

◆ apply_pde_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 351 of file test_04.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_pde_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > & ijv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 370 of file test_04.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_adjoint_pde_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > & ajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 384 of file test_04.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_adjoint_pde_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > & iajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 405 of file test_04.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_control_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 422 of file test_04.hpp.

References dx_, and nx_.

◆ apply_adjoint_control_jacobian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 433 of file test_04.hpp.

References dx_, and nx_.

◆ apply_adjoint_pde_hessian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 459 of file test_04.hpp.

References nx_.

◆ apply_adjoint_pde_control_hessian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 476 of file test_04.hpp.

◆ apply_adjoint_control_pde_hessian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 483 of file test_04.hpp.

◆ apply_adjoint_control_hessian() [1/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 490 of file test_04.hpp.

◆ update() [2/5]

template<class Real>
void BurgersFEM< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 ) const
inlineprivate

Definition at line 49 of file example_04.hpp.

◆ axpy() [2/5]

template<class Real>
void BurgersFEM< Real >::axpy ( std::vector< Real > & out,
const Real a,
const std::vector< Real > & x,
const std::vector< Real > & y ) const
inlineprivate

Definition at line 55 of file example_04.hpp.

◆ scale() [2/5]

template<class Real>
void BurgersFEM< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 ) const
inlineprivate

Definition at line 61 of file example_04.hpp.

◆ linear_solve() [2/5]

template<class Real>
void BurgersFEM< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false ) const
inlineprivate

Definition at line 67 of file example_04.hpp.

References dim.

◆ num_dof() [2/5]

template<class Real>
int BurgersFEM< Real >::num_dof ( void ) const
inline

Definition at line 105 of file example_04.hpp.

References nx_.

◆ mesh_spacing() [2/5]

template<class Real>
Real BurgersFEM< Real >::mesh_spacing ( void ) const
inline

Definition at line 109 of file example_04.hpp.

References dx_.

◆ compute_L2_dot() [2/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 117 of file example_04.hpp.

References dx_, and nx_.

◆ compute_L2_norm() [2/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > & r) const
inline

Definition at line 135 of file example_04.hpp.

References compute_L2_dot().

◆ apply_mass() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 140 of file example_04.hpp.

References dx_, and nx_.

◆ apply_inverse_mass() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 157 of file example_04.hpp.

References dx_, linear_solve(), and nx_.

◆ test_inverse_mass() [2/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_mass ( std::ostream & outStream = std::cout)
inline

Definition at line 170 of file example_04.hpp.

References apply_inverse_mass(), apply_mass(), axpy(), compute_L2_norm(), and nx_.

◆ compute_H1_dot() [2/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 207 of file example_04.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ compute_H1_norm() [2/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > & r) const
inline

Definition at line 227 of file example_04.hpp.

References compute_H1_dot().

◆ apply_H1() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 232 of file example_04.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ apply_inverse_H1() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 251 of file example_04.hpp.

References cH1_, cL2_, dx_, linear_solve(), and nx_.

◆ test_inverse_H1() [2/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream & outStream = std::cout)
inline

Definition at line 259 of file example_04.hpp.

References apply_H1(), apply_inverse_H1(), axpy(), compute_H1_norm(), and nx_.

◆ compute_residual() [2/5]

template<class Real>
void BurgersFEM< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 280 of file example_04.hpp.

References dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ compute_pde_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u ) const
inline

Definition at line 316 of file example_04.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_pde_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 344 of file example_04.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_pde_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > & ijv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 363 of file example_04.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_adjoint_pde_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > & ajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 377 of file example_04.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_adjoint_pde_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > & iajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 398 of file example_04.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_control_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 415 of file example_04.hpp.

References dx_, and nx_.

◆ apply_adjoint_control_jacobian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 426 of file example_04.hpp.

References dx_, and nx_.

◆ apply_adjoint_pde_hessian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 452 of file example_04.hpp.

References nx_.

◆ apply_adjoint_pde_control_hessian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 469 of file example_04.hpp.

◆ apply_adjoint_control_pde_hessian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 476 of file example_04.hpp.

◆ apply_adjoint_control_hessian() [2/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 483 of file example_04.hpp.

◆ update() [3/5]

template<class Real>
void BurgersFEM< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 ) const
inlineprivate

Definition at line 50 of file example_06.hpp.

◆ axpy() [3/5]

template<class Real>
void BurgersFEM< Real >::axpy ( std::vector< Real > & out,
const Real a,
const std::vector< Real > & x,
const std::vector< Real > & y ) const
inlineprivate

Definition at line 56 of file example_06.hpp.

◆ scale() [3/5]

template<class Real>
void BurgersFEM< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 ) const
inlineprivate

Definition at line 62 of file example_06.hpp.

◆ linear_solve() [3/5]

template<class Real>
void BurgersFEM< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false ) const
inlineprivate

Definition at line 68 of file example_06.hpp.

References dim.

◆ set_problem_data() [2/4]

template<class Real>
void BurgersFEM< Real >::set_problem_data ( const Real nu,
const Real f,
const Real u0,
const Real u1 )
inline

Definition at line 102 of file example_06.hpp.

References f_, nu_, u0_, and u1_.

◆ num_dof() [3/5]

template<class Real>
int BurgersFEM< Real >::num_dof ( void ) const
inline

Definition at line 109 of file example_06.hpp.

References nx_.

◆ mesh_spacing() [3/5]

template<class Real>
Real BurgersFEM< Real >::mesh_spacing ( void ) const
inline

Definition at line 113 of file example_06.hpp.

References dx_.

◆ compute_L2_dot() [3/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 121 of file example_06.hpp.

References dx_, and nx_.

◆ compute_L2_norm() [3/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > & r) const
inline

Definition at line 139 of file example_06.hpp.

References compute_L2_dot().

◆ apply_mass() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 144 of file example_06.hpp.

References dx_, and nx_.

◆ apply_inverse_mass() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 161 of file example_06.hpp.

References dx_, linear_solve(), and nx_.

◆ test_inverse_mass() [3/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_mass ( std::ostream & outStream = std::cout)
inline

Definition at line 174 of file example_06.hpp.

References apply_inverse_mass(), apply_mass(), axpy(), compute_L2_norm(), and nx_.

◆ compute_H1_dot() [3/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 211 of file example_06.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ compute_H1_norm() [3/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > & r) const
inline

Definition at line 231 of file example_06.hpp.

References compute_H1_dot().

◆ apply_H1() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 236 of file example_06.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ apply_inverse_H1() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 255 of file example_06.hpp.

References cH1_, cL2_, dx_, linear_solve(), and nx_.

◆ test_inverse_H1() [3/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream & outStream = std::cout)
inline

Definition at line 263 of file example_06.hpp.

References apply_H1(), apply_inverse_H1(), axpy(), compute_H1_norm(), and nx_.

◆ compute_residual() [3/5]

template<class Real>
void BurgersFEM< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 284 of file example_06.hpp.

References dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ compute_pde_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u ) const
inline

Definition at line 320 of file example_06.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_pde_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 348 of file example_06.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_pde_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > & ijv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 367 of file example_06.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_adjoint_pde_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > & ajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 381 of file example_06.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_adjoint_pde_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > & iajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 402 of file example_06.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_control_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 419 of file example_06.hpp.

References dx_, and nx_.

◆ apply_adjoint_control_jacobian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 430 of file example_06.hpp.

References dx_, and nx_.

◆ apply_adjoint_pde_hessian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 456 of file example_06.hpp.

References nx_.

◆ apply_adjoint_pde_control_hessian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 473 of file example_06.hpp.

◆ apply_adjoint_control_pde_hessian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 480 of file example_06.hpp.

◆ apply_adjoint_control_hessian() [3/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 487 of file example_06.hpp.

◆ update() [4/5]

template<class Real>
void BurgersFEM< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 ) const
inlineprivate

Definition at line 50 of file example_07.hpp.

◆ axpy() [4/5]

template<class Real>
void BurgersFEM< Real >::axpy ( std::vector< Real > & out,
const Real a,
const std::vector< Real > & x,
const std::vector< Real > & y ) const
inlineprivate

Definition at line 56 of file example_07.hpp.

◆ scale() [4/5]

template<class Real>
void BurgersFEM< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 ) const
inlineprivate

Definition at line 62 of file example_07.hpp.

◆ linear_solve() [4/5]

template<class Real>
void BurgersFEM< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false ) const
inlineprivate

Definition at line 68 of file example_07.hpp.

References dim.

◆ set_problem_data() [3/4]

template<class Real>
void BurgersFEM< Real >::set_problem_data ( const Real nu,
const Real f,
const Real u0,
const Real u1 )
inline

Definition at line 102 of file example_07.hpp.

References f_, nu_, u0_, and u1_.

◆ get_viscosity()

template<class Real>
Real BurgersFEM< Real >::get_viscosity ( void ) const
inline

Definition at line 109 of file example_07.hpp.

References nu_.

◆ num_dof() [4/5]

template<class Real>
int BurgersFEM< Real >::num_dof ( void ) const
inline

Definition at line 113 of file example_07.hpp.

References nx_.

◆ mesh_spacing() [4/5]

template<class Real>
Real BurgersFEM< Real >::mesh_spacing ( void ) const
inline

Definition at line 117 of file example_07.hpp.

References dx_.

◆ compute_L2_dot() [4/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 125 of file example_07.hpp.

References dx_, and nx_.

◆ compute_L2_norm() [4/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > & r) const
inline

Definition at line 143 of file example_07.hpp.

References compute_L2_dot().

◆ apply_mass() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 148 of file example_07.hpp.

References dx_, and nx_.

◆ apply_inverse_mass() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 165 of file example_07.hpp.

References dx_, linear_solve(), and nx_.

◆ test_inverse_mass() [4/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_mass ( std::ostream & outStream = std::cout)
inline

Definition at line 178 of file example_07.hpp.

References apply_inverse_mass(), apply_mass(), axpy(), compute_L2_norm(), and nx_.

◆ compute_H1_dot() [4/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 215 of file example_07.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ compute_H1_norm() [4/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > & r) const
inline

Definition at line 235 of file example_07.hpp.

References compute_H1_dot().

◆ apply_H1() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 240 of file example_07.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ apply_inverse_H1() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 259 of file example_07.hpp.

References cH1_, cL2_, dx_, linear_solve(), and nx_.

◆ test_inverse_H1() [4/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream & outStream = std::cout)
inline

Definition at line 267 of file example_07.hpp.

References apply_H1(), apply_inverse_H1(), axpy(), compute_H1_norm(), and nx_.

◆ compute_residual() [4/5]

template<class Real>
void BurgersFEM< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 288 of file example_07.hpp.

References dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ compute_pde_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u ) const
inline

Definition at line 324 of file example_07.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_pde_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 352 of file example_07.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_pde_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > & ijv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 371 of file example_07.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_adjoint_pde_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > & ajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 385 of file example_07.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_adjoint_pde_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > & iajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 406 of file example_07.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_control_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 423 of file example_07.hpp.

References dx_, and nx_.

◆ apply_adjoint_control_jacobian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 434 of file example_07.hpp.

References dx_, and nx_.

◆ apply_adjoint_pde_hessian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 460 of file example_07.hpp.

References nx_.

◆ apply_adjoint_pde_control_hessian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 477 of file example_07.hpp.

◆ apply_adjoint_control_pde_hessian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 484 of file example_07.hpp.

◆ apply_adjoint_control_hessian() [4/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 491 of file example_07.hpp.

◆ update() [5/5]

template<class Real>
void BurgersFEM< Real >::update ( std::vector< Real > & u,
const std::vector< Real > & s,
const Real alpha = 1.0 ) const
inlineprivate

Definition at line 50 of file example_08.hpp.

◆ axpy() [5/5]

template<class Real>
void BurgersFEM< Real >::axpy ( std::vector< Real > & out,
const Real a,
const std::vector< Real > & x,
const std::vector< Real > & y ) const
inlineprivate

Definition at line 56 of file example_08.hpp.

◆ scale() [5/5]

template<class Real>
void BurgersFEM< Real >::scale ( std::vector< Real > & u,
const Real alpha = 0.0 ) const
inlineprivate

Definition at line 62 of file example_08.hpp.

◆ linear_solve() [5/5]

template<class Real>
void BurgersFEM< Real >::linear_solve ( std::vector< Real > & u,
std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & r,
const bool transpose = false ) const
inlineprivate

Definition at line 68 of file example_08.hpp.

References dim.

◆ set_problem_data() [4/4]

template<class Real>
void BurgersFEM< Real >::set_problem_data ( const Real nu,
const Real f,
const Real u0,
const Real u1 )
inline

Definition at line 102 of file example_08.hpp.

References f_, nu_, u0_, and u1_.

◆ num_dof() [5/5]

template<class Real>
int BurgersFEM< Real >::num_dof ( void ) const
inline

Definition at line 109 of file example_08.hpp.

References nx_.

◆ mesh_spacing() [5/5]

template<class Real>
Real BurgersFEM< Real >::mesh_spacing ( void ) const
inline

Definition at line 113 of file example_08.hpp.

References dx_.

◆ compute_L2_dot() [5/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 121 of file example_08.hpp.

References dx_, and nx_.

◆ compute_L2_norm() [5/5]

template<class Real>
Real BurgersFEM< Real >::compute_L2_norm ( const std::vector< Real > & r) const
inline

Definition at line 139 of file example_08.hpp.

References compute_L2_dot().

◆ apply_mass() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 144 of file example_08.hpp.

References dx_, and nx_.

◆ apply_inverse_mass() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_mass ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 161 of file example_08.hpp.

References dx_, linear_solve(), and nx_.

◆ test_inverse_mass() [5/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_mass ( std::ostream & outStream = std::cout)
inline

Definition at line 174 of file example_08.hpp.

References apply_inverse_mass(), apply_mass(), axpy(), compute_L2_norm(), and nx_.

◆ compute_H1_dot() [5/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
inline

Definition at line 211 of file example_08.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ compute_H1_norm() [5/5]

template<class Real>
Real BurgersFEM< Real >::compute_H1_norm ( const std::vector< Real > & r) const
inline

Definition at line 231 of file example_08.hpp.

References compute_H1_dot().

◆ apply_H1() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 236 of file example_08.hpp.

References cH1_, cL2_, dx_, and nx_.

◆ apply_inverse_H1() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_H1 ( std::vector< Real > & Mu,
const std::vector< Real > & u ) const
inline

Definition at line 255 of file example_08.hpp.

References cH1_, cL2_, dx_, linear_solve(), and nx_.

◆ test_inverse_H1() [5/5]

template<class Real>
void BurgersFEM< Real >::test_inverse_H1 ( std::ostream & outStream = std::cout)
inline

Definition at line 263 of file example_08.hpp.

References apply_H1(), apply_inverse_H1(), axpy(), compute_H1_norm(), and nx_.

◆ compute_residual() [5/5]

template<class Real>
void BurgersFEM< Real >::compute_residual ( std::vector< Real > & r,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 284 of file example_08.hpp.

References dx_, f_, nl_, nu_, nx_, u0_, and u1_.

◆ compute_pde_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::compute_pde_jacobian ( std::vector< Real > & dl,
std::vector< Real > & d,
std::vector< Real > & du,
const std::vector< Real > & u ) const
inline

Definition at line 320 of file example_08.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_pde_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_pde_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 348 of file example_08.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_pde_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_pde_jacobian ( std::vector< Real > & ijv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 367 of file example_08.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_adjoint_pde_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_jacobian ( std::vector< Real > & ajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 381 of file example_08.hpp.

References dx_, nl_, nu_, nx_, u0_, and u1_.

◆ apply_inverse_adjoint_pde_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_inverse_adjoint_pde_jacobian ( std::vector< Real > & iajv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 402 of file example_08.hpp.

References compute_pde_jacobian(), linear_solve(), and nx_.

◆ apply_control_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 419 of file example_08.hpp.

References dx_, and nx_.

◆ apply_adjoint_control_jacobian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_jacobian ( std::vector< Real > & jv,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 430 of file example_08.hpp.

References dx_, and nx_.

◆ apply_adjoint_pde_hessian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z ) const
inline

Definition at line 456 of file example_08.hpp.

References nx_.

◆ apply_adjoint_pde_control_hessian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_pde_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 473 of file example_08.hpp.

◆ apply_adjoint_control_pde_hessian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_pde_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 480 of file example_08.hpp.

◆ apply_adjoint_control_hessian() [5/5]

template<class Real>
void BurgersFEM< Real >::apply_adjoint_control_hessian ( std::vector< Real > & ahwv,
const std::vector< Real > & w,
const std::vector< Real > & v,
const std::vector< Real > & u,
const std::vector< Real > & z )
inline

Definition at line 487 of file example_08.hpp.

Member Data Documentation

◆ nx_

◆ dx_

◆ nu_

template<class Real>
Real BurgersFEM< Real >::nu_
private

◆ nl_

template<class Real>
Real BurgersFEM< Real >::nl_
private

◆ u0_

template<class Real>
Real BurgersFEM< Real >::u0_
private

◆ u1_

template<class Real>
Real BurgersFEM< Real >::u1_
private

◆ f_

template<class Real>
Real BurgersFEM< Real >::f_
private

Definition at line 43 of file test_04.hpp.

Referenced by BurgersFEM(), BurgersFEM(), compute_residual(), and set_problem_data().

◆ cH1_

template<class Real>
Real BurgersFEM< Real >::cH1_
private

Definition at line 44 of file test_04.hpp.

Referenced by apply_H1(), apply_inverse_H1(), BurgersFEM(), BurgersFEM(), and compute_H1_dot().

◆ cL2_

template<class Real>
Real BurgersFEM< Real >::cL2_
private

Definition at line 45 of file test_04.hpp.

Referenced by apply_H1(), apply_inverse_H1(), BurgersFEM(), BurgersFEM(), and compute_H1_dot().


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