42 #ifndef DECOMPOSITION_SYSTEM_STATE_STEP_BUILDER_STD_H
43 #define DECOMPOSITION_SYSTEM_STATE_STEP_BUILDER_STD_H
45 #include "MoochoPack_Types.hpp"
46 #ifndef MOOCHO_NO_BASIS_PERM_DIRECT_SOLVERS
47 #include "AbstractLinAlgPack_BasisSystemPerm.hpp"
49 #include "MoochoPack_NewDecompositionSelection_Strategy.hpp"
51 namespace OptionsFromStreamPack {
52 class OptionsFromStream;
55 namespace MoochoPack {
74 NULL_SPACE_MATRIX_AUTO, NULL_SPACE_MATRIX_EXPLICIT
75 , NULL_SPACE_MATRIX_IMPLICIT };
78 RANGE_SPACE_MATRIX_AUTO, RANGE_SPACE_MATRIX_COORDINATE
79 , RANGE_SPACE_MATRIX_ORTHOGONAL };
92 int max_dof_quasi_newton_dense_;
124 std::ostream *trase_out
126 ,NLPFirstOrder **nlp_foi
127 ,NLPSecondOrder **nlp_soi
129 ,
bool *tailored_approach
136 std::ostream *trase_out
138 ,NLPFirstOrder *nlp_foi
139 ,NLPSecondOrder *nlp_soi
141 ,
bool tailored_approach
149 std::ostream *trase_out
151 ,NLPFirstOrder *nlp_foi
152 ,NLPSecondOrder *nlp_soi
154 ,
bool tailored_approach
164 std::ostream *trase_out
166 ,NLPFirstOrder *nlp_foi
167 ,NLPSecondOrder *nlp_soi
169 ,
bool tailored_approach
193 #ifndef MOOCHO_NO_BASIS_PERM_DIRECT_SOLVERS
201 static void readin_options(
207 static void set_default_options(
210 ,std::ostream* trase_out
227 #endif // DECOMPOSITION_SYSTEM_STATE_STEP_BUILDER_STD_H
Standard builder object for creating DecompositionSystem, EvalNewPoint Step and other objects and set...
void process_nlp_and_options(std::ostream *trase_out, NLP &nlp, NLPFirstOrder **nlp_foi, NLPSecondOrder **nlp_soi, NLPDirect **nlp_fod, bool *tailored_approach)
Process the NLP and process the options passed in from set_options(). Postconditions: ...
void create_eval_new_point(std::ostream *trase_out, NLP &nlp, NLPFirstOrder *nlp_foi, NLPSecondOrder *nlp_soi, NLPDirect *nlp_fod, bool tailored_approach, const Teuchos::RCP< DecompositionSystem > &decomp_sys, Teuchos::RCP< IterationPack::AlgorithmStep > *eval_new_point_step, Teuchos::RCP< CalcFiniteDiffProd > *calc_fd_prod, Teuchos::RCP< VariableBoundsTester > *bounds_tester, Teuchos::RCP< NewDecompositionSelection_Strategy > *new_decomp_selection_strategy)
Create the EvalNewPoint step object and allocated objects.
SOptionValues & current_option_values()
Return the current option values being used.
void add_iter_quantities(std::ostream *trase_out, NLP &nlp, NLPFirstOrder *nlp_foi, NLPSecondOrder *nlp_soi, NLPDirect *nlp_fod, bool tailored_approach, const Teuchos::RCP< DecompositionSystem > &decomp_sys, const Teuchos::RCP< NLPAlgoState > &state)
Add the common iteration quantities to the state object.
const options_ptr_t & get_options() const
DecompositionSystemStateStepBuilderStd()
void create_decomp_sys(std::ostream *trase_out, NLP &nlp, NLPFirstOrder *nlp_foi, NLPSecondOrder *nlp_soi, NLPDirect *nlp_fod, bool tailored_approach, Teuchos::RCP< DecompositionSystem > *decomp_sys)
Create the decomposition system object.
Teuchos::RCP< const OptionsFromStreamPack::OptionsFromStream > options_ptr_t
void set_options(const options_ptr_t &options)
Set the options that will be used to configure the algorithmic objects.