JaRMoS  1.1
Java Reduced Model Simulations
 All Classes Namespaces Files Functions Variables Enumerator Groups Pages
rb.QNTransientRBSystem Class Reference

This class provides the Online reduced basis functionality for quadratically nonlinear time-dependent problems. More...

Inheritance diagram for rb.QNTransientRBSystem:
rb.TransientRBSystem rb.RBSystem jarmos.ModelBase

Public Member Functions

double RB_solve (int N)
 Perform online solve for current_params with the N basis functions. More...
 
void set_nonlinear_tolerance (double nonlinear_tolerance_in)
 Set the nonlinear tolerance for Newton's method for both the truth and RB solves. More...
 
double get_nonlinear_tolerance ()
 Get the nonlinear tolerance for Newton's method. More...
 
void set_n_newton_steps (int n_newton_steps_in)
 Set the maximum number of Newton steps for both the truth and RB solves. More...
 
int get_n_newton_steps ()
 Set the maximum number of Newton steps for both the truth and RB solves. More...
 
double eval_theta_c ()
 Evaluate theta_c (for the quadratic nonlinearity) at the current parameter. More...
 
void set_nominal_rho_min (double nominal_rho_LB_in)
 
void set_nominal_rho_max (double nominal_rho_LB_in)
 
double get_nominal_rho_min ()
 
double get_nominal_rho_max ()
 
double get_nominal_rho_LB ()
 Get the nominal stability factor lower bound. More...
 
double get_SCM_lower_bound ()
 
void readConfigurationRBAppMIT (GetPot infile)
 
void loadOfflineData_rbappmit (AModelManager m) throws IOException
 Override read_offline_data_from_files in order to read in the data for the nonlinear problem. More...
 
- Public Member Functions inherited from rb.TransientRBSystem
void apply_temporal_filter ()
 Apply the temporal filter to the outputs. More...
 
double getdt ()
 Gets dt, the time-step size. More...
 
double getEulerTheta ()
 Get/set euler_theta, parameter that determines the temporal discretization. More...
 
SimulationResult getSimulationResults ()
 Returns the animated results of the transient RB system. More...
 
int getQm ()
 
int getTotalTimesteps ()
 Get K, the total number of time-steps. More...
 
int getVisualNumTimesteps ()
 
void loadOfflineData_rbappmit (AModelManager m) throws IOException
 Override read_offline_data_from_files in order to read in the mass matrix and initial condition data as well. More...
 
void loadOfflineDataJRB (AModelManager m) throws IOException
 Override read_offline_data_from_files in order to read in the mass matrix and initial condition data as well. More...
 
double RB_solve (int N)
 Perform online solve with the N RB basis functions, for the set of parameters in current_params, where 1 <= N <= RB_size. More...
 
void setTimeStep (int k_in)
 
double thetaQm (int i)
 Evaluate theta_q_m (for the q^th mass matrix term) at the current parameter. More...
 
double thetaQm (int i, double t)
 Evaluate theta_q_m (for the q^th mass matrix term) at the current parameter. More...
 
- Public Member Functions inherited from rb.RBSystem
 RBSystem ()
 Constructor. More...
 
FieldVector< Complex > complex_eval_theta_q_a ()
 
Complex complex_eval_theta_q_a (int q)
 
Complex complex_eval_theta_q_f (int q)
 
Complex complex_eval_theta_q_l (int n, int q)
 
int get_N ()
 
double get_RB_output (int n_output, boolean Rpart)
 
double get_RB_output_error_bound (int n_output, boolean Rpart)
 
double get_SCM_lower_bound ()
 
RealVector getInitialCoefficients (int N)
 Returns the initial conditions solution coefficients for RB size N. More...
 
int getNBF ()
 
int getNumOutputs ()
 
Parameters getParams ()
 Returns the system's parameters object. More...
 
int getQa ()
 
int getQf ()
 TODO: if all affine_functions implement the IAffineFunctions interface, just call the getQf method of the local instance. More...
 
int getQuL ()
 
SimulationResult getSimulationResults ()
 Constructs the true solution from the most recent RB reduced solution using the full Z data and current coefficients. More...
 
double getSweepIncrement ()
 Returns the increment used during the last parameter sweep or zero if there hasn't been any. More...
 
double[][] getSweepOutputBounds ()
 
double[][] getSweepOutputs ()
 
SimulationResult getSweepSimResults ()
 
int getTotalTimesteps ()
 TODO check where this is used. More...
 
int getVisualNumTimesteps ()
 
void loadOfflineData (AModelManager m) throws MathReaderException, ModelManagerException, IOException
 Loads the offline data for the RBSystem. More...
 
float[] rbappmitCustomMeshTransform (double[] mu, float[] x)
 Custom mesh transformation method of old rbappmit-models. More...
 
int performSweep (int sweepIndex, int N)
 Performs a parameter sweep with automatic guess of the number of parameter sweeps. More...
 
int performSweep (int sweepIndex, int N, int numSweepPts)
 Performs a parameter sweep for the current RB system. More...
 
final boolean readConfiguration (AModelManager m)
 
void set_n_basis_functions (int _N)
 
void setPrimarySCM (RBSCMSystem scm_system)
 Set the primary SCM. More...
 
double computeRBSolution (int N)
 Performs a reduced basis simulation and stores the results locally. More...
 
double thetaQa (int q)
 Evaluate theta_q_a (for the q^th bilinear form) at the current parameter. More...
 
double thetaQa (int q, double t)
 
double thetaQf (int i)
 
double thetaQf (int i, double t)
 
double thetaQl (int k, int i)
 
double thetaQl (int k, int i, double t)
 
- Public Member Functions inherited from jarmos.ModelBase
void loadOfflineData (AModelManager m) throws MathReaderException, ModelManagerException, IOException
 Loads the model's offline data. More...
 
GeometryData getGeometry ()
 The model's geometry data. More...
 
int getNumDoFFields ()
 Returns the number of degree-of-freedom fields generated/computed by the model. More...
 

Protected Member Functions

double residual_scaling_numer (double rho_LB)
 Override appropriate for quadratically nonlinear error bounds. More...
 
double residual_scaling_denom (double rho_LB)
 Override appropriate for quadratically nonlinear error bounds. More...
 
double compute_residual_dual_norm (int N)
 Compute the dual norm of the residual for the solution saved in RB_solution_vector. More...
 
- Protected Member Functions inherited from rb.TransientRBSystem
void cache_online_residual_terms (int N)
 Helper function that caches the time-independent residual quantities. More...
 
double compute_residual_dual_norm (int N)
 Compute the dual norm of the residual for the solution saved in RB_solution_vector. More...
 
double conv_weight (double x)
 
void initialize_data_vectors ()
 Resize the output vectors according to n_outputs. More...
 
void readConfigurationJRB (AModelManager m)
 
void readConfigurationRBAppMIT (GetPot infile)
 
double residual_scaling_denom (double alpha_LB)
 Specifies the residual scaling on the denominator to be used in the a posteriori error bound. More...
 
double residual_scaling_numer (double alpha_LB)
 Specifies the residual scaling on the numerator to be used in the a posteriori error bound. More...
 
double uncached_compute_residual_dual_norm (int N)
 Set the secondary SCM system. More...
 
- Protected Member Functions inherited from rb.RBSystem
double compute_output_dual_norm (int i, double t)
 Compute the dual norm of the i^th output function at the current parameter value. More...
 
double compute_residual_dual_norm (int N)
 Compute the dual norm of the residual for the solution saved in RB_solution_vector. More...
 
double[][] get_RBsolution ()
 
double get_SCM_from_AffineFunction ()
 A private helper function to get the SCM from AffineFunctions in the case that SCM_TYPE = NONE. More...
 
int getQl (int output_index)
 TODO: if all affine_functions implement the IAffineFunctions interface, just call the getQl method of the local instance. More...
 
float[][] getAffLinTransformationData (double[] mu)
 Returns a float array of transformation data for each node, using the specified parameter mu. More...
 
boolean hasCustomMeshTransform ()
 
boolean hasAffLinTransformationData ()
 
void initialize_data_vectors ()
 Resize the vectors that store solution data and output data. More...
 
void loadOfflineData_rbappmit (AModelManager m) throws IOException
 
void loadOfflineDataJRB (AModelManager m) throws IOException
 
double RB_solve (int N)
 Perform online solve with the N RB basis functions, for the set of parameters in current_params, where 1 <= N <= RB_size. More...
 
void readConfigurationJRB (AModelManager m)
 
void readConfigurationRBAppMIT (GetPot infile)
 
double residual_scaling_denom (double alpha_LB)
 Specifies the residual scaling on the denominator to be used in the a posteriori error bound. More...
 
void setParams (Parameters p)
 Only used to set the current parameters object for an SCMSystem, as this also inherits from the RBBase class. More...
 

Protected Attributes

double[][][] RB_trilinear_form
 
- Protected Attributes inherited from rb.TransientRBSystem
double[] error_bound_all_k
 The error bound for the field variable at each time level. More...
 
RealVector old_RB_solution
 RBSystem has a member RB_solution, we also need old_RB_solution here. More...
 
RealMatrix RB_L2_matrix
 A secondary SCM object since we might need a lower bound for the mass matrix and the stiffness matrix. More...
 
RealMatrix[] RB_M_q_matrix
 Dense matrices for the RB computations. More...
 
int timestep
 The current time-level, 0 <= _k <= _K. More...
 
RealVector[] timestepRBSolutions
 The solution coefficients at each time level from the most recent RB_solve. More...
 
- Protected Attributes inherited from rb.RBSystem
double[][][] Aq_Aq_representor_norms
 
int current_N
 
double[][][] Fq_Aq_representor_norms
 
double[] Fq_representor_norms
 Arrays storing the residual representor inner products to be used in computing the residuals in the Online stage. More...
 
float[][][] fullBasisVectors
 
RealMatrix[] RB_A_q_vector
 Dense matrices for the RB computations. More...
 
RealVector[] RB_F_q_vector
 Dense vector for the RHS. More...
 
RealVector[][] RB_output_vectors
 The vectors storing the RB output vectors. More...
 
RealVector RB_solution
 The RB solution vector. More...
 
double[][][] RB_sweep_solution
 
float[][] uL_vector
 
List< MeshTransformtransforms
 
- Protected Attributes inherited from jarmos.ModelBase
FieldDescriptor[] logicalFieldTypes
 The logical output fields of the model, each collecting one ore more model DoF's into a related unit, like displacements which have 2-3 DoF-fields (x,y,z) More...
 

Package Attributes

double[][][] Fq_C_representor_norms
 Vectors storing the residual representor inner products to be used in computing the residuals online. More...
 
double[][][][] Mq_C_representor_norms
 
double[][][][] Aq_C_representor_norms
 
double[][][][] C_C_representor_norms
 

Additional Inherited Members

- Public Attributes inherited from rb.TransientRBSystem
int fTotalTimesteps
 Total number of time-steps. More...
 
int n_plotting_steps
 The number of time steps we actually plot in the output plotter. More...
 
- Public Attributes inherited from rb.RBSystem
Class< IAffineFunctionsaffineFunctionsClass
 The Class object for the affine functions class. More...
 
IAffineFunctions affineFunctionsInstance
 The member object that defines the parameter-dependent functions for the affine expansion of the left-hand, right-hand side and outputs. More...
 
boolean isReal = true
 
RBSCMSystem mRbScmSystem
 A reference to the SCM system. More...
 
Class<?> oldAffFcnCl
 
Object oldAffFcnObj
 
double[][] output_dual_norms
 This array stores the dual norms for each output. More...
 
double[] RB_output_error_bounds
 The vector storing the RB error bounds in the steady-state case. More...
 
double[][] RB_output_error_bounds_all_k
 The output error bounds at all time levels. More...
 
double[] RB_outputs
 The vector storing the RB output values in the steady-state case. More...
 
double[][] RB_outputs_all_k
 The outputs at all time levels. More...
 
boolean return_rel_error_bound
 Boolean flag to indicate whether RB_solve returns an absolute or relative error bound. More...
 
- Package Functions inherited from rb.RBSystem
double get_SCM_upper_bound ()
 
double get_soln_coeff (int i)
 

Detailed Description

This class provides the Online reduced basis functionality for quadratically nonlinear time-dependent problems.

This class is modeled on the QNTransientRBSystem class in rbappmit

This class has been taken from the original rbAppMIT package and modified to fit into the current JaRMoS framework.

Author
Daniel Wirtz
Date
Aug 29, 2011

Definition at line 29 of file QNTransientRBSystem.java.

Member Function Documentation

double rb.QNTransientRBSystem.compute_residual_dual_norm ( int  N)
protected

Compute the dual norm of the residual for the solution saved in RB_solution_vector.

Definition at line 350 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.eval_theta_c ( )

Evaluate theta_c (for the quadratic nonlinearity) at the current parameter.

Definition at line 317 of file QNTransientRBSystem.java.

int rb.QNTransientRBSystem.get_n_newton_steps ( )

Set the maximum number of Newton steps for both the truth and RB solves.

Definition at line 310 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.get_nominal_rho_LB ( )

Get the nominal stability factor lower bound.

By default, this is a linear function of parameter 0.

Definition at line 455 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.get_nominal_rho_max ( )

Definition at line 448 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.get_nominal_rho_min ( )

Definition at line 444 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.get_nonlinear_tolerance ( )

Get the nonlinear tolerance for Newton's method.

Definition at line 296 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.get_SCM_lower_bound ( )
Returns
the SCM lower bound for current_parameters

Definition at line 465 of file QNTransientRBSystem.java.

void rb.QNTransientRBSystem.loadOfflineData_rbappmit ( AModelManager  m) throws IOException

Override read_offline_data_from_files in order to read in the data for the nonlinear problem.

Definition at line 530 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.RB_solve ( int  N)

Perform online solve for current_params with the N basis functions.

Overload this to solve the nonlinear RB system using Newton's method.

TODO: Use the current time information when the theta's are time-dependent, as in TransientRBSystem.

Definition at line 70 of file QNTransientRBSystem.java.

void rb.QNTransientRBSystem.readConfigurationRBAppMIT ( GetPot  infile)
double rb.QNTransientRBSystem.residual_scaling_denom ( double  rho_LB)
protected

Override appropriate for quadratically nonlinear error bounds.

Definition at line 276 of file QNTransientRBSystem.java.

double rb.QNTransientRBSystem.residual_scaling_numer ( double  rho_LB)
protected

Override appropriate for quadratically nonlinear error bounds.

Definition at line 266 of file QNTransientRBSystem.java.

void rb.QNTransientRBSystem.set_n_newton_steps ( int  n_newton_steps_in)

Set the maximum number of Newton steps for both the truth and RB solves.

Definition at line 303 of file QNTransientRBSystem.java.

void rb.QNTransientRBSystem.set_nominal_rho_max ( double  nominal_rho_LB_in)

Definition at line 440 of file QNTransientRBSystem.java.

void rb.QNTransientRBSystem.set_nominal_rho_min ( double  nominal_rho_LB_in)

Definition at line 436 of file QNTransientRBSystem.java.

void rb.QNTransientRBSystem.set_nonlinear_tolerance ( double  nonlinear_tolerance_in)

Set the nonlinear tolerance for Newton's method for both the truth and RB solves.

Definition at line 289 of file QNTransientRBSystem.java.

Member Data Documentation

double [][][][] rb.QNTransientRBSystem.Aq_C_representor_norms
package

Definition at line 52 of file QNTransientRBSystem.java.

double [][][][] rb.QNTransientRBSystem.C_C_representor_norms
package

Definition at line 53 of file QNTransientRBSystem.java.

double [][][] rb.QNTransientRBSystem.Fq_C_representor_norms
package

Vectors storing the residual representor inner products to be used in computing the residuals online.

Definition at line 50 of file QNTransientRBSystem.java.

double [][][][] rb.QNTransientRBSystem.Mq_C_representor_norms
package

Definition at line 51 of file QNTransientRBSystem.java.

double [][][] rb.QNTransientRBSystem.RB_trilinear_form
protected

Definition at line 45 of file QNTransientRBSystem.java.


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