Geogram  Version 1.9.1-rc
A programming library of geometric algorithms
NLContextStruct Struct Reference

Public Attributes

NLenum state
 State of the finite-state automaton. More...
 
NLboolean user_variable_buffers
 NL_TRUE if variables are allocated by the user, NL_FALSE if they are managed by OpenNL.
 
NLBufferBindingvariable_buffer
 Buffer bindings for the variables, dimension = nb_systems.
 
NLdoublevariable_value
 Values of the variables, dimension = nb_systems * nb_variables.
 
NLbooleanvariable_is_locked
 Locked flags of the variables, dimension = nb_variables.
 
NLuintvariable_index
 Index of the variable in the actual linear system, dimension = nb_variables.
 
NLuint n
 The number of not locked variables.
 
NLenum matrix_mode
 The current matrix mode. More...
 
NLMatrix M
 The matrix of the system.
 
NLMatrix P
 The preconditioner.
 
NLMatrix B
 The right-hand side matrix. More...
 
NLRowColumn af
 The coefficients that correspond to the free variables in the row being built. More...
 
NLRowColumn al
 The coefficients that correspond to the locked variables in the row being built. More...
 
NLdoublex
 The vector of free variables, solution of the system.
 
NLdoubleb
 The vector of right hand sides, of size nb_systems * n.
 
NLdoubleright_hand_side
 The right hand sides of the row being built. An array of nb_systems doubles. More...
 
NLdouble row_scaling
 The scaling coefficient for the row being build. More...
 
NLenum solver
 The used solver, as a symbolic constant.
 
NLenum preconditioner
 The used preconditioner, as a symbolic constant.
 
NLboolean preconditioner_defined
 True if preconditioner was defined by client.
 
NLuint nb_variables
 The number of variables.
 
NLuint nb_systems
 The number of linear systems to solve.
 
NLboolean ij_coefficient_called
 True if NLIJCoefficient() was called.
 
NLuint current_row
 The index of the current row.
 
NLboolean least_squares
 Indicates whether a least squares system is constructed.
 
NLboolean symmetric
 Indicates whether the matrix is symmetric.
 
NLuint max_iterations
 Maximum number of iterations.
 
NLboolean max_iterations_defined
 True if max_iterations was defined by client.
 
NLuint inner_iterations
 Maximum number of inner iterations. More...
 
NLdouble threshold
 Convergence threshold. More...
 
NLboolean threshold_defined
 True if threshold was defined by client.
 
NLdouble omega
 Relaxation parameter for the SSOR preconditioner.
 
NLboolean normalize_rows
 If true, all the rows are normalized.
 
NLuint used_iterations
 used number of iterations during latest solve.
 
NLdouble error
 error obtained after latest solve.
 
NLdouble start_time
 start time marking the beginning of latest solve.
 
NLdouble elapsed_time
 elapsed time for latest solve.
 
NLSolverFunc solver_func
 the function pointer for the solver.
 
NLProgressFunc progress_func
 the function pointer for logging progress.
 
NLboolean verbose
 if true, some logging information is displayed during solve.
 
NLulong flops
 Total number of floating point operations used during latest solve.
 
NLenum eigen_solver
 The eigen solver. Should be NL_ARPACK_EXT.
 
NLdouble eigen_shift
 The shift parameter of the spectral shift-invert transform.
 
NLboolean eigen_shift_invert
 NL_TRUE if spectral shift-invert transform is used, NL_FALSE otherwise;.
 
NLdoubleeigen_value
 the array of eigen values. Dimension = nb_systems.
 
NLdoubletemp_eigen_value
 temporary array for eigen values, used for sorting. More...
 
NLboolean has_matrix_pattern
 true if nlBegin(NL_MATRIX_PATTERN) was called.
 
NLboolean no_variables_indirection
 if no_variables_indirection is set, then there is no locked variable, and the linear system directly uses the variables vector and right-hand-side.
 

Detailed Description

Definition at line 104 of file nl_context.h.

Member Data Documentation

◆ af

NLRowColumn NLContextStruct::af

The coefficients that correspond to the free variables in the row being built.

Indices correspond to system indices, within [0..n-1].

Definition at line 174 of file nl_context.h.

◆ al

NLRowColumn NLContextStruct::al

The coefficients that correspond to the locked variables in the row being built.

Indices correspond to variables indices, within [0..nb_variables-1].

Definition at line 182 of file nl_context.h.

◆ B

NLMatrix NLContextStruct::B

The right-hand side matrix.

Used by the eigen solver for generalized eigenproblems.

Definition at line 166 of file nl_context.h.

◆ inner_iterations

NLuint NLContextStruct::inner_iterations

Maximum number of inner iterations.

used by GMRES.

Definition at line 270 of file nl_context.h.

◆ matrix_mode

NLenum NLContextStruct::matrix_mode

The current matrix mode.

One of NL_STIFFNESS_MATRIX, NL_MASS_MATRIX.

Definition at line 149 of file nl_context.h.

◆ right_hand_side

NLdouble* NLContextStruct::right_hand_side

The right hand sides of the row being built. An array of nb_systems doubles.

Specified by nlRightHandSide() and nlMultiRightHandSide()

Definition at line 200 of file nl_context.h.

◆ row_scaling

NLdouble NLContextStruct::row_scaling

The scaling coefficient for the row being build.

Specified by nlSetRowParameter(NL_ROW_SCALING, rhs)

Definition at line 207 of file nl_context.h.

◆ state

NLenum NLContextStruct::state

State of the finite-state automaton.

Used to check that OpenNL functions were called in the correct order.

Definition at line 110 of file nl_context.h.

◆ temp_eigen_value

NLdouble* NLContextStruct::temp_eigen_value

temporary array for eigen values, used for sorting.

It is put in the context so that in a multithreading context, with a thread local storage context, it will continue to work.

Definition at line 367 of file nl_context.h.

◆ threshold

NLdouble NLContextStruct::threshold

Convergence threshold.

Iterations are stopped whenever \( \| A x - b \| / \| b \| < \mbox{threshold} \)

Definition at line 277 of file nl_context.h.


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