meta_model_semi_structured_comp.py#
Define the MetaModelSemiStructuredComp class.
- class openmdao.components.meta_model_semi_structured_comp.MetaModelSemiStructuredComp(**kwargs)[source]
Bases:
ExplicitComponentInterpolation Component generated from semi-structured data on a regular grid.
Produces smooth fits through provided training data using polynomial splines of various orders. Analytic derivatives are automatically computed.
For multi-dimensional data, fits are computed on a separable per-axis basis. If a particular dimension does not have enough training data points to support a selected spline method (e.g. 3 sample points, but an fifth order quintic spline is specified) the order of the fitted spline with be automatically reduced for that dimension alone.
Extrapolation is enabled by default. With unstructured metamodels, it is common to fall in a region where extrapolation is needed in at least one dimension because of internal clustering of table points. It can be turned off, though this will raise an error when it happens.
- Parameters:
- **kwargsdict of keyword arguments
Keyword arguments that will be mapped into the Component options.
- Attributes:
- interpsdict
Dictionary of interpolations for each output.
- pnameslist
Cached list of input names.
- training_inputsdict of ndarray
Dictionary of grid point locations corresponding to the training values in self.training_outputs.
- training_outputsdict of ndarray
Dictionary of training data each output.
Methods
abs_meta_iter(iotype[, local, cont, discrete])Iterate over absolute variable names and their metadata for this System.
add_constraint(name[, lower, upper, equals, ...])Add a constraint variable to this system.
add_design_var(name[, lower, upper, ref, ...])Add a design variable to this system.
add_discrete_input(name, val[, desc, tags, ...])Add a discrete input variable to the component.
add_discrete_output(name, val[, desc, tags, ...])Add an output variable to the component.
add_input(name, training_data[, val])Add an input to this component and a corresponding training input.
add_objective(name[, ref, ref0, index, ...])Add a response variable to this system.
add_output(name[, training_data, val])Add an output to this component and a corresponding training output.
add_recorder(recorder[, recurse])Add a recorder to the system.
add_response(name, type_[, lower, upper, ...])Add a response variable to this system.
best_partial_deriv_direction()Return the best direction for partial deriv calculations based on input and output sizes.
check_config(logger)Perform optional error checks.
check_partials([out_stream, compact_print, ...])Check partial derivatives comprehensively for this component.
check_sparsity([method, max_nz, out_stream])Check the sparsity of the computed jacobian against the declared sparsity.
cleanup()Clean up resources prior to exit.
comm_info_iter()Yield comm size for this system and all subsystems.
compute(inputs, outputs)Perform the interpolation at run time.
compute_fd_jac(jac[, method])Force the use of finite difference to compute a jacobian.
compute_fd_sparsity([method, num_full_jacs, ...])Use finite difference to compute a sparsity matrix.
compute_jacvec_product(inputs, d_inputs, ...)Compute jac-vector product.
compute_partials(inputs, partials)Collect computed partial derivatives and return them.
compute_sparsity([direction, num_iters, ...])Compute the sparsity of the partial jacobian.
convert2units(name, val, units)Convert the given value to the specified units.
convert_from_units(name, val, units)Convert the given value from the specified units to those of the named variable.
convert_units(name, val, units_from, units_to)Wrap the utility convert_units and give a good error message.
declare_coloring([wrt, method, form, step, ...])Set options for deriv coloring of a set of wrt vars matching the given pattern(s).
declare_partials(of, wrt[, dependent, rows, ...])Declare information about this component's subjacobians.
dist_size_iter(io, top_comm)Yield names and distributed ranges of all local and remote variables in this system.
get_coloring_fname(mode)Return the full pathname to a coloring file.
get_conn_graph()Return the model connection graph.
get_constraints([recurse, get_sizes, ...])Get the Constraint settings from this system.
get_declare_partials_calls([sparsity])Return a string containing declare_partials() calls based on the subjac sparsity.
get_design_vars([recurse, get_sizes, ...])Get the DesignVariable settings from this system.
get_io_metadata([iotypes, metadata_keys, ...])Retrieve metadata for a filtered list of variables.
get_linear_vectors()Return the linear inputs, outputs, and residuals vectors.
get_nonlinear_vectors()Return the inputs, outputs, and residuals vectors.
get_objectives([recurse, get_sizes, ...])Get the Objective settings from this system.
get_outputs_dir(*subdirs[, mkdir])Get the path under which all output files of this system are to be placed.
get_promotions([inprom, outprom])Return all promotions for the given promoted variable(s).
get_reports_dir()Get the path to the directory where the report files should go.
get_responses([recurse, get_sizes, use_prom_ivc])Get the response variable settings from this system.
get_self_statics()Override this in derived classes if compute_primal references static values.
get_source(name)Return the source variable connected to the given named variable.
get_val(name[, units, indices, get_remote, ...])Get an output/input/residual variable.
get_var_dup_info(name, io)Return information about how the given variable is duplicated across MPI processes.
get_var_sizes(name, io)Return the sizes of the given variable on all procs.
has_vectors()Check if the system vectors have been initialized.
initialize()Initialize the component.
is_explicit([is_comp])Return True if this is an explicit component.
list_inputs([val, prom_name, units, shape, ...])Write a list of input names and other optional information to a specified stream.
list_options([include_default, ...])Write a list of output names and other optional information to a specified stream.
list_outputs([explicit, implicit, val, ...])Write a list of output names and other optional information to a specified stream.
list_vars([val, prom_name, residuals, ...])Write a list of inputs and outputs sorted by component in execution order.
load_case(case)Pull all input and output variables from a Case into this System.
load_model_options()Load the relevant model options from Problem._metadata['model_options'].
override_method(name, method)Dynamically add a method to this component instance.
record_iteration()Record an iteration of the current System.
run_apply_linear(mode[, scope_out, scope_in])Compute jac-vec product.
run_apply_nonlinear()Compute residuals.
run_linearize([sub_do_ln])Compute jacobian / factorization.
run_solve_linear(mode)Apply inverse jac product.
run_solve_nonlinear()Compute outputs.
run_validation()Run validate method on all systems below this system.
set_check_partial_options(wrt[, method, ...])Set options that will be used for checking partial derivatives.
set_constraint_options(name[, ref, ref0, ...])Set options for constraints in the model.
set_design_var_options(name[, lower, upper, ...])Set options for design vars in the model.
set_objective_options(name[, ref, ref0, ...])Set options for objectives in the model.
set_output_solver_options(name[, lower, ...])Set solver output options.
set_solver_print([level, depth, type_, ...])Control printing for solvers and subsolvers in the model.
set_val(name, val[, units, indices])Set an input or output variable.
setup()Declare inputs and outputs.
setup_partials()Declare partials.
sparsity_matches_fd([direction, outstream])Compare the sparsity computed by this system vs.
subjac_sparsity_iter(sparsity[, wrt_matches])Iterate over sparsity for each subjac in the jacobian.
system_iter([include_self, recurse, typ, ...])Yield a generator of local subsystems of this system.
total_local_size(io)Return the total local size of the given variable.
use_fixed_coloring([coloring, recurse])Use a precomputed coloring for this System.
uses_approx()Return True if the system uses approximations to compute derivatives.
validate(inputs, outputs[, discrete_inputs, ...])Warn if any internal extrapolation is present with the current table points.
- __init__(**kwargs)[source]
Initialize all attributes.
- add_input(name, training_data, val=1.0, **kwargs)[source]
Add an input to this component and a corresponding training input.
- Parameters:
- namestr
Name of the input.
- training_datandarray
Training data grid sample points for this input variable. Must be of length m, where m is the total number of points in the table..
- valfloat or ndarray
Initial value for the input.
- **kwargsdict
Additional agruments for add_input.
- add_output(name, training_data=None, val=1.0, **kwargs)[source]
Add an output to this component and a corresponding training output.
- Parameters:
- namestr
Name of the output.
- training_datandarray
Training data sample points for this output variable. Must be of length m, where m is the total number of points in the table.
- valfloat or ndarray
Initial value for the output.
- **kwargsdict
Additional agruments for add_output.
- compute(inputs, outputs)[source]
Perform the interpolation at run time.
- Parameters:
- inputsVector
Unscaled, dimensional input variables read via inputs[key].
- outputsVector
Unscaled, dimensional output variables read via outputs[key].
- compute_partials(inputs, partials)[source]
Collect computed partial derivatives and return them.
Checks if the needed derivatives are cached already based on the inputs vector. Refreshes the cache by re-computing the current point if necessary.
- Parameters:
- inputsVector
Unscaled, dimensional input variables read via inputs[key].
- partialsJacobian
Sub-jac components written to partials[output_name, input_name].
- initialize()[source]
Initialize the component.
- validate(inputs, outputs, discrete_inputs=None, discrete_outputs=None)[source]
Warn if any internal extrapolation is present with the current table points.
- Parameters:
- inputsVector
Unscaled, dimensional input variables read via inputs[key].
- outputsVector
Unscaled, dimensional output variables read via outputs[key].
- discrete_inputsdict-like or None
If not None, dict-like object containing discrete input values.
- discrete_outputsdict-like or None
If not None, dict-like object containing discrete output values.