ROL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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

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

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

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

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

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

◆ 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

◆ 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 BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

Referenced by BurgersFEM< Real >::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 BurgersFEM< Real >::compute_L2_dot().

Referenced by BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::nx_.

Referenced by BurgersFEM< Real >::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

◆ test_inverse_mass() [1/5]

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

◆ 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

◆ 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 BurgersFEM< Real >::compute_H1_dot().

Referenced by BurgersFEM< Real >::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

◆ 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

◆ test_inverse_H1() [1/5]

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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

◆ test_inverse_mass() [2/5]

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

◆ 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

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

◆ 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

◆ test_inverse_H1() [2/5]

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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

◆ 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 BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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

◆ test_inverse_mass() [3/5]

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

◆ 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

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

◆ 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

◆ test_inverse_H1() [3/5]

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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

◆ get_viscosity()

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

Definition at line 109 of file example_07.hpp.

References BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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

◆ test_inverse_mass() [4/5]

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

◆ 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

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

◆ 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

◆ test_inverse_H1() [4/5]

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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

◆ 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 BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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

◆ test_inverse_mass() [5/5]

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

◆ 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

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

◆ 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

◆ test_inverse_H1() [5/5]

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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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

◆ 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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::dx_, and BurgersFEM< Real >::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 BurgersFEM< Real >::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_

template<class Real >
int BurgersFEM< Real >::nx_
private

◆ dx_

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

◆ 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

◆ cH1_

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

◆ cL2_

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

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