JaRMoS
1.1
Java Reduced Model Simulations
|
This class provides the Online reduced basis functionality for quadratically nonlinear time-dependent problems. More...
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< MeshTransform > | transforms |
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< IAffineFunctions > | affineFunctionsClass |
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) |
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.
Definition at line 29 of file QNTransientRBSystem.java.
|
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 | ( | ) |
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 | ) |
Definition at line 504 of file QNTransientRBSystem.java.
|
protected |
Override appropriate for quadratically nonlinear error bounds.
Definition at line 276 of file QNTransientRBSystem.java.
|
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.
|
package |
Definition at line 52 of file QNTransientRBSystem.java.
|
package |
Definition at line 53 of file QNTransientRBSystem.java.
|
package |
Vectors storing the residual representor inner products to be used in computing the residuals online.
Definition at line 50 of file QNTransientRBSystem.java.
|
package |
Definition at line 51 of file QNTransientRBSystem.java.
|
protected |
Definition at line 45 of file QNTransientRBSystem.java.