OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
List of all members
AppFrame::NewtonBasic Class Reference

This class performs basic Newton iterations with a constant weight. More...

#include <newton_basic.h>

Inheritance diagram for AppFrame::NewtonBasic:
Inheritance graph
[legend]
Collaboration diagram for AppFrame::NewtonBasic:
Collaboration graph
[legend]

Public Member Functions

Constructors, destructor, and initialization
 NewtonBasic (ApplicationBase &app)
 Constructor.
 
 ~NewtonBasic ()
 Destructor.
 
virtual void declare_parameters (ParameterHandler &param)
 Declare parameters.
 
virtual void initialize (ParameterHandler &param)
 Initialize parameters.
 
Solve function
virtual void solve (FEVector &u, const FEVectors &in_vectors)
 This function implements basic Newton iterations with a constant weight.
 
- Public Member Functions inherited from AppFrame::newtonBase
 newtonBase (ApplicationBase &app)
 Constructor, receiving the application computing the residual and solving the linear problem.
 
virtual void assemble ()
 Instead of assembling, this function only sets a flag, such that the inner application will be required to assemble a new derivative matrix next time solve() is called.
 
virtual double residual (AppFrame::FEVector &dst, const AppFrame::FEVectors &rhs)
 
void _initialize (ParameterHandler &param)
 Read the parameters local to newtonBase.
 
double threshold (double new_value)
 Set the maximal residual reduction allowed without triggering assembling in the next step.
 
void initialize_initial_guess (BlockVector< double > &dst)
 Control object for the Newton iteration.
 
- Public Member Functions inherited from AppFrame::ApplicationCopy
 ApplicationCopy (ApplicationBase &ex_app)
 Constructor for a derived application.
 
 ~ApplicationCopy ()
 
virtual void remesh ()
 Generates the next mesh depending on the mesh generation parameters.
 
virtual void init_vector (FEVector &dst) const
 Initialize vector to problem size.
 
virtual void start_vector (FEVector &dst, std::string caller) const
 Initialize vector to problem size.
 
virtual void Tsolve (FEVector &start, const FEVectors &rhs)
 Solve the dual system assembled with right hand side rhs and return the result in start.
 
virtual double estimate (const FEVectors &src)
 Error estimation.
 
virtual double evaluate (const FEVectors &src)
 Evaluate whatever the simulation was made for.
 
virtual void grid_out (const std::string &filename) const
 Write the mesh in the format specified by the ParameterHandler.
 
virtual void data_out (const std::string &filename, const FEVectors &src)
 Write data in the format specified by the ParameterHandler.
 
virtual std::string id () const
 Return a unique identification string for this application.
 
virtual void notify (const Event &reason)
 Add a reason for assembling.
 
- Public Member Functions inherited from AppFrame::ApplicationBase
 ApplicationBase (boost::shared_ptr< ApplicationData > ex_data=boost::shared_ptr< ApplicationData >())
 Constructor for an application.
 
 ApplicationBase (const ApplicationBase &other)
 Copy constructor.
 
virtual ~ApplicationBase ()
 Virtual destructor.
 
void print_parameters_to_file (ParameterHandler &param, const std::string &file_name, const ParameterHandler::OutputStyle &style)
 Print default parameters for the application to a file.
 
virtual double residual (FEVector &dst, const FEVectors &src, bool apply_boundaries=true)
 Compute residual of src and store it into dst.
 
virtual void data_out (const std::string &filename, const FEVectors &src, const std::vector< std::string >)
 
boost::shared_ptr
< ApplicationData
get_data ()
 Get access to the protected variable data.
 
const boost::shared_ptr
< ApplicationData
get_data () const
 Get read-only access to the protected variable data.
 
virtual void clear ()
 Reset the application class such that a call to initialize() is possible again and will produce the same result as if the object was fresh.
 
void clear_events ()
 Clear all notifications.
 

Static Public Attributes

Events
static const Event bad_derivative
 This event is set if the convergence becomes bad.
 
- Static Public Attributes inherited from AppFrame::newtonBase
static const AppFrame::Event bad_derivative
 The Event set by Jason if convergence is becoming bad and a new matrix should be assembled.
 

Private Attributes

Basic Newton iteration parameters
double weight
 A constant weight is the same for all basic Newton iterations.
 
unsigned int step
 The number of a basic Newton iteration.
 

Additional Inherited Members

- Public Attributes inherited from AppFrame::newtonBase
ReductionControl control
 Control object for the Newton iteration.
 
double numIter
 
- Protected Member Functions inherited from AppFrame::ApplicationBase
void print_caller_name (const std::string &caller_name) const
 Print caller name.
 
- Protected Attributes inherited from AppFrame::newtonBase
ApplicationResidual default_residual
 Default residual object if the function ApplicationBase::residual() shoud be used.
 
SmartPointer< const Residualcompute_residual
 The Residual object.
 
bool assemble_now
 This flag is set by the function assemble(), indicating that the matrix must be assembled anew upon start.
 
double assemble_threshold
 Threshold for re-assembling matrix.
 
bool debug_solution
 Print updated solution after each step into file Newton_uNNN?
 
bool debug_update
 Print Newton update after each step into file Newton_dNNN?
 
bool debug_residual
 Print Newton residual after each step into file Newton_rNNN?
 
unsigned int debug
 Write debug output to #deallog; the higher the number, the more output.
 

Detailed Description

This class performs basic Newton iterations with a constant weight.

Author
Valentin N. Zingan, 2012

Constructor & Destructor Documentation

AppFrame::NewtonBasic::NewtonBasic ( ApplicationBase app)

Constructor.

AppFrame::NewtonBasic::~NewtonBasic ( )

Destructor.

Member Function Documentation

virtual void AppFrame::NewtonBasic::declare_parameters ( ParameterHandler &  param)
virtual

Declare parameters.

Reimplemented from AppFrame::newtonBase.

virtual void AppFrame::NewtonBasic::initialize ( ParameterHandler &  param)
virtual

Initialize parameters.

Reimplemented from AppFrame::newtonBase.

virtual void AppFrame::NewtonBasic::solve ( FEVector u,
const FEVectors in_vectors 
)
virtual

This function implements basic Newton iterations with a constant weight.

Reimplemented from AppFrame::newtonBase.

Member Data Documentation

const Event AppFrame::NewtonBasic::bad_derivative
static

This event is set if the convergence becomes bad.

unsigned int AppFrame::NewtonBasic::step
private

The number of a basic Newton iteration.

double AppFrame::NewtonBasic::weight
private

A constant weight is the same for all basic Newton iterations.


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