Blender V2.61 - r43446
|
#include "ONL_opennl.h"
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <math.h>
#include <ssp_defs.h>
#include <util.h>
Go to the source code of this file.
Definition in file opennl.c.
#define __nl_assert | ( | x | ) |
{ \ if(!(x)) { \ __nl_assertion_failed(#x,__FILE__, __LINE__); \ } \ }
Definition at line 92 of file opennl.c.
Referenced by __nlBeginSystem(), __nlCheckState(), __nlFactorize_SUPERLU(), __nlVariablesToVector(), __nlVectorToVariables(), nlGetVariable(), nlSolverParameterf(), nlSolverParameteri(), and nlVariableIsLocked().
#define __nl_assert_not_reached |
{ \ __nl_should_not_have_reached(__FILE__, __LINE__); \ }
Definition at line 106 of file opennl.c.
Referenced by __nlSparseMatrixNNZ(), nlBegin(), nlDisable(), nlEnable(), nlEnd(), nlGetBooleanv(), nlGetFloatv(), nlGetIntergerv(), nlIsEnabled(), nlSolverParameterf(), and nlSolverParameteri().
#define __NL_CLEAR | ( | T, | |
x | |||
) | memset(x, 0, sizeof(T)) |
Definition at line 146 of file opennl.c.
Referenced by __nlRowColumnDestroy(), __nlSparseMatrixDestroy(), and nlDeleteContext().
#define __NL_CLEAR_ARRAY | ( | T, | |
x, | |||
NB | |||
) | memset(x, 0, (NB)*sizeof(T)) |
Definition at line 147 of file opennl.c.
Referenced by __nlBeginMatrix(), __nlSparseMatrix_mult_cols(), __nlSparseMatrix_transpose_mult_rows(), and __nlSparseMatrixClear().
#define __NL_COLUMNS 2 |
Definition at line 222 of file opennl.c.
Referenced by __nlSparseMatrixAdd(), __nlSparseMatrixClear(), __nlSparseMatrixConstruct(), __nlSparseMatrixDestroy(), and __nlSparseMatrixNNZ().
#define __NL_DELETE | ( | x | ) | free(x); x = NULL |
Definition at line 143 of file opennl.c.
Referenced by nlDeleteContext().
#define __NL_DELETE_ARRAY | ( | x | ) | free(x); x = NULL |
Definition at line 144 of file opennl.c.
Referenced by __nlFactorize_SUPERLU(), __nlFree_SUPERLU(), __nlRowColumnClear(), __nlRowColumnDestroy(), __nlSparseMatrixDestroy(), and nlDeleteContext().
#define __NL_NEW | ( | T | ) | (T*)(calloc(1, sizeof(T))) |
Definition at line 140 of file opennl.c.
Referenced by __nlBeginMatrix(), and nlNewContext().
#define __NL_NEW_ARRAY | ( | T, | |
NB | |||
) | (T*)(calloc((NB),sizeof(T))) |
Definition at line 141 of file opennl.c.
Referenced by __nlBeginMatrix(), __nlBeginSystem(), __nlEndMatrix(), __nlFactorize_SUPERLU(), __nlRowColumnGrow(), and __nlSparseMatrixConstruct().
#define __nl_parano_range_assert | ( | x, | |
min_val, | |||
max_val | |||
) |
Definition at line 123 of file opennl.c.
Referenced by __nlSparseMatrixAdd(), nlGetVariable(), nlLockVariable(), nlSetVariable(), nlUnlockVariable(), and nlVariableIsLocked().
#define __nl_range_assert | ( | x, | |
min_val, | |||
max_val | |||
) |
{ \ if(((x) < (min_val)) || ((x) > (max_val))) { \ __nl_range_assertion_failed(x, min_val, max_val, \ __FILE__, __LINE__ \ ); \ } \ }
Definition at line 98 of file opennl.c.
Referenced by nlMatrixAdd(), nlRightHandSideAdd(), and nlRightHandSideSet().
#define __NL_RENEW_ARRAY | ( | T, | |
x, | |||
NB | |||
) | (T*)(realloc(x,(NB)*sizeof(T))) |
Definition at line 142 of file opennl.c.
Referenced by __nlRowColumnGrow().
#define __NL_ROWS 1 |
Definition at line 221 of file opennl.c.
Referenced by __nlBeginMatrix(), __nlFactorize_SUPERLU(), __nlSparseMatrixAdd(), __nlSparseMatrixClear(), __nlSparseMatrixConstruct(), __nlSparseMatrixDestroy(), __nlSparseMatrixMult(), and __nlSparseMatrixNNZ().
#define __NL_STATE_INITIAL 0 |
Definition at line 494 of file opennl.c.
Referenced by __nlBeginSystem(), nlGetVariable(), nlNewContext(), nlSolverParameterf(), nlSolverParameteri(), and nlVariableIsLocked().
#define __NL_STATE_MATRIX 2 |
Definition at line 496 of file opennl.c.
Referenced by __nlBeginMatrix(), __nlEndMatrix(), nlMatrixAdd(), nlRightHandSideAdd(), and nlRightHandSideSet().
#define __NL_STATE_MATRIX_CONSTRUCTED 3 |
Definition at line 497 of file opennl.c.
Referenced by __nlEndMatrix(), and __nlEndSystem().
#define __NL_STATE_SYSTEM 1 |
Definition at line 495 of file opennl.c.
Referenced by __nlBeginMatrix(), __nlBeginSystem(), nlLockVariable(), nlSetVariable(), and nlUnlockVariable().
#define __NL_STATE_SYSTEM_CONSTRUCTED 4 |
Definition at line 498 of file opennl.c.
Referenced by __nlEndSystem(), and nlSolveAdvanced().
#define __NL_STATE_SYSTEM_SOLVED 5 |
Definition at line 499 of file opennl.c.
Referenced by __nlBeginSystem(), and nlSolveAdvanced().
#define __NL_SYMMETRIC 4 |
Definition at line 223 of file opennl.c.
Referenced by __nlFactorize_SUPERLU(), __nlSparseMatrixAdd(), and __nlSparseMatrixMult().
typedef void(* __NLMatrixFunc)(float *x, float *y) |
static void __nl_assertion_failed | ( | char * | cond, |
char * | file, | ||
int | line | ||
) | [static] |
static void __nl_range_assertion_failed | ( | float | x, |
float | min_val, | ||
float | max_val, | ||
char * | file, | ||
int | line | ||
) | [static] |
static void __nl_should_not_have_reached | ( | char * | file, |
int | line | ||
) | [static] |
static void __nlBeginMatrix | ( | ) | [static] |
Definition at line 844 of file opennl.c.
References __NL_CLEAR_ARRAY, __NL_NEW, __NL_NEW_ARRAY, __NL_ROWS, __NL_STATE_MATRIX, __NL_STATE_SYSTEM, __nlCurrentContext, __nlRowColumnConstruct(), __nlSparseMatrixConstruct(), __nlTransition(), __nlVariablesToVector(), __NLVariable::a, __NLContext::alloc_b, __NLContext::alloc_M, __NLContext::alloc_x, __NLContext::b, i, __NLVariable::index, __NLVariable::locked, __NLContext::M, __NLContext::m, __NLContext::n, __NLContext::nb_rhs, __NLContext::nb_rows, __NLContext::nb_variables, NL_TRUE, __NLContext::solve_again, __NLContext::variable, and __NLContext::x.
Referenced by nlBegin().
static void __nlBeginSystem | ( | ) | [static] |
Definition at line 825 of file opennl.c.
References __nl_assert, __NL_NEW_ARRAY, __NL_STATE_INITIAL, __NL_STATE_SYSTEM, __NL_STATE_SYSTEM_SOLVED, __nlTransition(), __NLContext::alloc_variable, __NLContext::nb_variables, NL_TRUE, __NLContext::solve_again, and __NLContext::variable.
Referenced by nlBegin().
static void __nlCheckState | ( | NLenum | state | ) | [static] |
Definition at line 600 of file opennl.c.
References __nl_assert, and __NLContext::state.
Referenced by __nlTransition(), nlLockVariable(), nlMatrixAdd(), nlRightHandSideAdd(), nlRightHandSideSet(), nlSetVariable(), nlSolveAdvanced(), nlSolverParameterf(), nlSolverParameteri(), and nlUnlockVariable().
static void __nlEndMatrix | ( | ) | [static] |
Definition at line 911 of file opennl.c.
References __NL_NEW_ARRAY, __NL_STATE_MATRIX, __NL_STATE_MATRIX_CONSTRUCTED, __nlCurrentContext, __nlEndMatrixRHS(), __nlSparseMatrix_square(), __nlTransition(), __NLContext::alloc_Mtb, __NLContext::alloc_MtM, i, __NLContext::least_squares, __NLContext::M, __NLContext::Mtb, __NLContext::MtM, __NLContext::n, __NLContext::nb_rhs, NL_TRUE, and __NLContext::solve_again.
Referenced by nlEnd().
static void __nlEndMatrixRHS | ( | NLuint | rhs | ) | [static] |
Definition at line 885 of file opennl.c.
References __nlCurrentContext, __nlSparseMatrix_transpose_mult_rows(), __NLVariable::a, __NLContext::b, __NLRowColumn::coeff, i, __NLCoeff::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::M, __NLContext::m, __NLContext::Mtb, __NLContext::n, __NLContext::nb_variables, __NLRowColumn::size, __NLVariable::value, __NLCoeff::value, and __NLContext::variable.
Referenced by __nlEndMatrix().
static void __nlEndSystem | ( | ) | [static] |
Definition at line 840 of file opennl.c.
References __NL_STATE_MATRIX_CONSTRUCTED, __NL_STATE_SYSTEM_CONSTRUCTED, and __nlTransition().
Referenced by nlEnd().
static NLboolean __nlFactorize_SUPERLU | ( | __NLContext * | context, |
NLint * | permutation | ||
) | [static] |
Definition at line 1036 of file opennl.c.
References __nl_assert, __NL_DELETE_ARRAY, __NL_NEW_ARRAY, __NL_ROWS, __NL_SYMMETRIC, __nlSparseMatrixClear(), __nlSparseMatrixNNZ(), __NLContext::__NLSuperLUContext::alloc_slu, __NLRowColumn::coeff, superlu_options_t::ColPerm, Destroy_CompCol_Permuted(), Destroy_SuperMatrix_Store(), DOFACT, superlu_options_t::Fact, get_perm_c(), i, __NLCoeff::index, __NLContext::__NLSuperLUContext::L, __NLContext::least_squares, M, __NLContext::M, __NLSparseMatrix::m, __NLContext::MtM, MY_PERMC, __NLContext::n, __NLSparseMatrix::n, NL_TRUE, NULL, options, __NLContext::__NLSuperLUContext::perm_c, __NLContext::__NLSuperLUContext::perm_r, __NLSparseMatrix::row, sCreate_CompCol_Matrix(), set_default_options(), sgstrf(), __NLRowColumn::size, __NLContext::slu, SLU_GE, SLU_NC, SLU_S, sp_ienv(), sp_preorder(), __NLContext::__NLSuperLUContext::stat, StatInit(), __NLSparseMatrix::storage, __NLContext::__NLSuperLUContext::U, and __NLCoeff::value.
Referenced by nlSolveAdvanced().
static void __nlFree_SUPERLU | ( | __NLContext * | context | ) | [static] |
Definition at line 1165 of file opennl.c.
References __NL_DELETE_ARRAY, __NLContext::__NLSuperLUContext::alloc_slu, Destroy_CompCol_Matrix(), Destroy_SuperNode_Matrix(), __NLContext::__NLSuperLUContext::L, NL_FALSE, __NLContext::__NLSuperLUContext::perm_c, __NLContext::__NLSuperLUContext::perm_r, __NLContext::slu, __NLContext::__NLSuperLUContext::stat, StatFree(), and __NLContext::__NLSuperLUContext::U.
Referenced by nlDeleteContext().
static NLboolean __nlInvert_SUPERLU | ( | __NLContext * | context | ) | [static] |
Definition at line 1131 of file opennl.c.
References B, __NLContext::b, Destroy_SuperMatrix_Store(), __NLContext::__NLSuperLUContext::L, __NLContext::least_squares, __NLContext::Mtb, __NLContext::n, __NLContext::__NLSuperLUContext::perm_c, __NLContext::__NLSuperLUContext::perm_r, sCreate_Dense_Matrix(), sgstrs(), __NLContext::slu, SLU_DN, SLU_GE, SLU_S, __NLContext::__NLSuperLUContext::stat, TRANS, __NLContext::__NLSuperLUContext::U, and __NLContext::x.
Referenced by nlSolveAdvanced().
Definition at line 536 of file opennl.c.
References __nlSparseMatrixMult(), and __NLContext::M.
Referenced by nlNewContext().
static void __nlRowColumnAdd | ( | __NLRowColumn * | c, |
NLint | index, | ||
NLfloat | value | ||
) | [static] |
Definition at line 186 of file opennl.c.
References __nlRowColumnGrow(), __NLRowColumn::capacity, __NLRowColumn::coeff, i, __NLCoeff::index, __NLRowColumn::size, and __NLCoeff::value.
Referenced by __nlSparseMatrixAdd().
static void __nlRowColumnAppend | ( | __NLRowColumn * | c, |
NLint | index, | ||
NLfloat | value | ||
) | [static] |
Definition at line 203 of file opennl.c.
References __nlRowColumnGrow(), __NLRowColumn::capacity, __NLRowColumn::coeff, __NLCoeff::index, __NLRowColumn::size, and __NLCoeff::value.
Referenced by nlMatrixAdd().
static void __nlRowColumnClear | ( | __NLRowColumn * | c | ) | [static] |
Definition at line 212 of file opennl.c.
References __NL_DELETE_ARRAY, __NLRowColumn::capacity, __NLRowColumn::coeff, and __NLRowColumn::size.
Referenced by __nlSparseMatrixClear().
static void __nlRowColumnConstruct | ( | __NLRowColumn * | c | ) | [static] |
Definition at line 163 of file opennl.c.
References __NLRowColumn::capacity, __NLRowColumn::coeff, NULL, and __NLRowColumn::size.
Referenced by __nlBeginMatrix(), and __nlSparseMatrixConstruct().
static void __nlRowColumnDestroy | ( | __NLRowColumn * | c | ) | [static] |
Definition at line 169 of file opennl.c.
References __NL_CLEAR, __NL_DELETE_ARRAY, and __NLRowColumn::coeff.
Referenced by __nlSparseMatrixDestroy(), and nlDeleteContext().
static void __nlRowColumnGrow | ( | __NLRowColumn * | c | ) | [static] |
Definition at line 176 of file opennl.c.
References __NL_NEW_ARRAY, __NL_RENEW_ARRAY, __NLRowColumn::capacity, and __NLRowColumn::coeff.
Referenced by __nlRowColumnAdd(), and __nlRowColumnAppend().
static void __nlSparseMatrix_mult_cols | ( | __NLSparseMatrix * | A, |
NLfloat * | x, | ||
NLfloat * | y | ||
) | [static] |
Definition at line 397 of file opennl.c.
References __NL_CLEAR_ARRAY, __NLRowColumn::coeff, __NLSparseMatrix::column, __NLCoeff::index, __NLSparseMatrix::m, __NLSparseMatrix::n, NULL, __NLRowColumn::size, and __NLCoeff::value.
Referenced by __nlSparseMatrixMult().
static void __nlSparseMatrix_mult_cols_symmetric | ( | __NLSparseMatrix * | A, |
NLfloat * | x, | ||
NLfloat * | y | ||
) | [static] |
Definition at line 377 of file opennl.c.
References __NLRowColumn::coeff, __NLSparseMatrix::column, __NLCoeff::index, __NLSparseMatrix::n, NULL, __NLRowColumn::size, and __NLCoeff::value.
Referenced by __nlSparseMatrixMult().
static void __nlSparseMatrix_mult_rows | ( | __NLSparseMatrix * | A, |
NLfloat * | x, | ||
NLfloat * | y | ||
) | [static] |
Definition at line 360 of file opennl.c.
References __NLRowColumn::coeff, i, __NLCoeff::index, __NLSparseMatrix::m, NULL, __NLSparseMatrix::row, __NLRowColumn::size, and __NLCoeff::value.
Referenced by __nlSparseMatrixMult().
static void __nlSparseMatrix_mult_rows_symmetric | ( | __NLSparseMatrix * | A, |
NLfloat * | x, | ||
NLfloat * | y | ||
) | [static] |
Definition at line 340 of file opennl.c.
References __NLRowColumn::coeff, i, __NLCoeff::index, __NLSparseMatrix::m, NULL, __NLSparseMatrix::row, __NLRowColumn::size, and __NLCoeff::value.
Referenced by __nlSparseMatrixMult().
static void __nlSparseMatrix_square | ( | __NLSparseMatrix * | AtA, |
__NLSparseMatrix * | A | ||
) | [static] |
Definition at line 435 of file opennl.c.
References __nlSparseMatrixAdd(), __nlSparseMatrixConstruct(), __NLRowColumn::coeff, i, __NLCoeff::index, __NLSparseMatrix::m, __NLSparseMatrix::n, NULL, __NLSparseMatrix::row, __NLRowColumn::size, __NLSparseMatrix::storage, and __NLCoeff::value.
Referenced by __nlEndMatrix().
static void __nlSparseMatrix_transpose_mult_rows | ( | __NLSparseMatrix * | A, |
NLfloat * | x, | ||
NLfloat * | y | ||
) | [static] |
Definition at line 462 of file opennl.c.
References __NL_CLEAR_ARRAY, __NLRowColumn::coeff, i, __NLCoeff::index, __NLSparseMatrix::m, __NLSparseMatrix::n, NULL, __NLSparseMatrix::row, __NLRowColumn::size, and __NLCoeff::value.
Referenced by __nlEndMatrixRHS().
static void __nlSparseMatrixAdd | ( | __NLSparseMatrix * | M, |
NLuint | i, | ||
NLuint | j, | ||
NLfloat | value | ||
) | [static] |
Definition at line 285 of file opennl.c.
References __NL_COLUMNS, __nl_parano_range_assert, __NL_ROWS, __NL_SYMMETRIC, __nlRowColumnAdd(), __NLSparseMatrix::column, __NLSparseMatrix::diag, i, __NLSparseMatrix::m, __NLSparseMatrix::n, __NLSparseMatrix::row, and __NLSparseMatrix::storage.
Referenced by __nlSparseMatrix_square(), and nlMatrixAdd().
static void __nlSparseMatrixClear | ( | __NLSparseMatrix * | M | ) | [static] |
Definition at line 304 of file opennl.c.
References __NL_CLEAR_ARRAY, __NL_COLUMNS, __NL_ROWS, __nlRowColumnClear(), __NLSparseMatrix::column, __NLSparseMatrix::diag, __NLSparseMatrix::diag_size, i, __NLSparseMatrix::m, __NLSparseMatrix::n, __NLSparseMatrix::row, and __NLSparseMatrix::storage.
Referenced by __nlFactorize_SUPERLU().
static void __nlSparseMatrixConstruct | ( | __NLSparseMatrix * | M, |
NLuint | m, | ||
NLuint | n, | ||
NLenum | storage | ||
) | [static] |
Definition at line 236 of file opennl.c.
References __NL_COLUMNS, __NL_NEW_ARRAY, __NL_ROWS, __nlRowColumnConstruct(), __NLSparseMatrix::column, __NLSparseMatrix::diag, __NLSparseMatrix::diag_size, i, __NLSparseMatrix::m, MIN, __NLSparseMatrix::n, NULL, __NLSparseMatrix::row, and __NLSparseMatrix::storage.
Referenced by __nlBeginMatrix(), and __nlSparseMatrix_square().
static void __nlSparseMatrixDestroy | ( | __NLSparseMatrix * | M | ) | [static] |
Definition at line 265 of file opennl.c.
References __NL_CLEAR, __NL_COLUMNS, __NL_DELETE_ARRAY, __NL_ROWS, __nlRowColumnDestroy(), __NLSparseMatrix::column, __NLSparseMatrix::diag, i, __NLSparseMatrix::m, __NLSparseMatrix::n, __NLSparseMatrix::row, and __NLSparseMatrix::storage.
Referenced by nlDeleteContext().
static void __nlSparseMatrixMult | ( | __NLSparseMatrix * | A, |
NLfloat * | x, | ||
NLfloat * | y | ||
) | [static] |
Definition at line 417 of file opennl.c.
References __NL_ROWS, __NL_SYMMETRIC, __nlSparseMatrix_mult_cols(), __nlSparseMatrix_mult_cols_symmetric(), __nlSparseMatrix_mult_rows(), __nlSparseMatrix_mult_rows_symmetric(), and __NLSparseMatrix::storage.
Referenced by __nlMatrixVectorProd_default().
static NLuint __nlSparseMatrixNNZ | ( | __NLSparseMatrix * | M | ) | [static] |
Definition at line 320 of file opennl.c.
References __nl_assert_not_reached, __NL_COLUMNS, __NL_ROWS, __NLSparseMatrix::column, i, __NLSparseMatrix::m, __NLSparseMatrix::n, __NLSparseMatrix::row, __NLRowColumn::size, and __NLSparseMatrix::storage.
Referenced by __nlFactorize_SUPERLU().
Definition at line 604 of file opennl.c.
References __nlCheckState(), and __NLContext::state.
Referenced by __nlBeginMatrix(), __nlBeginSystem(), __nlEndMatrix(), __nlEndSystem(), and nlSolveAdvanced().
static void __nlVariablesToVector | ( | ) | [static] |
Definition at line 785 of file opennl.c.
References __nl_assert, __nlCurrentContext, __NLContext::alloc_variable, __NLContext::alloc_x, i, __NLVariable::index, __NLVariable::locked, __NLContext::n, __NLContext::nb_rhs, __NLContext::nb_variables, __NLVariable::value, __NLContext::variable, and __NLContext::x.
Referenced by __nlBeginMatrix().
static void __nlVectorToVariables | ( | ) | [static] |
Definition at line 805 of file opennl.c.
References __nl_assert, __nlCurrentContext, __NLContext::alloc_variable, __NLContext::alloc_x, i, __NLVariable::index, __NLVariable::locked, __NLContext::n, __NLContext::nb_rhs, __NLContext::nb_variables, __NLVariable::value, __NLContext::variable, and __NLContext::x.
Referenced by nlSolveAdvanced().
void nlBegin | ( | NLenum | prim | ) |
Definition at line 1003 of file opennl.c.
References __nl_assert_not_reached, __nlBeginMatrix(), __nlBeginSystem(), NL_MATRIX, and NL_SYSTEM.
Referenced by laplacian_begin_solve(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_solve(), and weightToHarmonic().
void nlDeleteContext | ( | NLContext | context_in | ) |
Definition at line 552 of file opennl.c.
References __NL_CLEAR, __NL_DELETE, __NL_DELETE_ARRAY, __nlFree_SUPERLU(), __nlRowColumnDestroy(), __nlSparseMatrixDestroy(), __NLVariable::a, __NLContext::alloc_b, __NLContext::alloc_M, __NLContext::alloc_Mtb, __NLContext::alloc_MtM, __NLContext::__NLSuperLUContext::alloc_slu, __NLContext::alloc_variable, __NLContext::alloc_x, __NLContext::b, i, __NLContext::M, __NLContext::Mtb, __NLContext::MtM, __NLContext::nb_variables, NULL, __NLContext::slu, __NLContext::variable, and __NLContext::x.
Referenced by laplacian_system_delete(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_end(), and weightToHarmonic().
void nlDisable | ( | NLenum | pname | ) |
Definition at line 732 of file opennl.c.
References __nl_assert_not_reached.
void nlEnable | ( | NLenum | pname | ) |
Definition at line 724 of file opennl.c.
References __nl_assert_not_reached.
void nlEnd | ( | NLenum | prim | ) |
Definition at line 1017 of file opennl.c.
References __nl_assert_not_reached, __nlEndMatrix(), __nlEndSystem(), NL_MATRIX, and NL_SYSTEM.
Referenced by laplacian_system_solve(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_solve(), softbody_calc_forces(), and weightToHarmonic().
Definition at line 664 of file opennl.c.
References __nl_assert_not_reached, __NLContext::least_squares, NL_LEAST_SQUARES, NL_SYMMETRIC, and __NLContext::symmetric.
NLContext nlGetCurrent | ( | void | ) |
Definition at line 596 of file opennl.c.
References __nlCurrentContext.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
Definition at line 678 of file opennl.c.
References __nl_assert_not_reached, __NLContext::error, __NLContext::least_squares, __NLContext::nb_rows, __NLContext::nb_variables, NL_ERROR, NL_LEAST_SQUARES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Definition at line 701 of file opennl.c.
References __nl_assert_not_reached, __NLContext::least_squares, __NLContext::nb_rows, __NLContext::nb_variables, NL_LEAST_SQUARES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Definition at line 758 of file opennl.c.
References __nl_assert, __nl_parano_range_assert, __NL_STATE_INITIAL, __NLContext::nb_variables, __NLContext::state, __NLVariable::value, and __NLContext::variable.
Referenced by laplacian_system_get_solution(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_load_solution(), softbody_calc_forces(), and weightToHarmonic().
Definition at line 740 of file opennl.c.
References __nl_assert_not_reached, and NL_FALSE.
void nlLockVariable | ( | NLuint | index | ) |
Definition at line 764 of file opennl.c.
References __nl_parano_range_assert, __NL_STATE_SYSTEM, __nlCheckState(), __NLVariable::locked, __NLContext::nb_variables, NL_TRUE, and __NLContext::variable.
Referenced by laplacian_begin_solve(), p_chart_lscm_solve(), and weightToHarmonic().
void nlMakeCurrent | ( | NLContext | context | ) |
Definition at line 592 of file opennl.c.
Referenced by nlNewContext(), and p_chart_lscm_solve().
Definition at line 932 of file opennl.c.
References __nl_range_assert, __NL_STATE_MATRIX, __nlCheckState(), __nlCurrentContext, __nlRowColumnAppend(), __nlSparseMatrixAdd(), __NLVariable::a, __NLVariable::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::m, __NLContext::M, M, __NLContext::n, __NLContext::solve_again, and __NLContext::variable.
Referenced by addTriangle(), laplacian_system_construct_end(), laplacian_triangle_weights(), meshdeform_matrix_add_cell(), p_abf_matrix_invert(), and p_chart_lscm_solve().
NLContext nlNewContext | ( | void | ) |
Definition at line 541 of file opennl.c.
References __NL_NEW, __NL_STATE_INITIAL, __nlMatrixVectorProd_default(), __NLContext::matrix_vector_prod, __NLContext::nb_rhs, nlMakeCurrent(), and __NLContext::state.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
void nlPrintMatrix | ( | void | ) |
Definition at line 1178 of file opennl.c.
References __nlCurrentContext, __NLContext::alloc_MtM, __NLContext::b, __NLRowColumn::coeff, addon::engine::free(), i, __NLCoeff::index, M, __NLContext::M, __NLContext::m, __NLContext::Mtb, __NLContext::MtM, __NLContext::n, __NLContext::nb_rhs, NULL, __NLSparseMatrix::row, __NLRowColumn::size, and __NLCoeff::value.
Referenced by meshdeform_matrix_solve(), and softbody_calc_forces().
Definition at line 961 of file opennl.c.
References __nl_range_assert, __NL_STATE_MATRIX, __nlCheckState(), __nlCurrentContext, __NLContext::b, __NLVariable::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::m, and __NLContext::variable.
Referenced by laplacian_add_right_hand_side(), meshdeform_matrix_add_rhs(), and p_abf_matrix_invert().
Definition at line 982 of file opennl.c.
References __nl_range_assert, __NL_STATE_MATRIX, __nlCheckState(), __nlCurrentContext, __NLContext::b, __NLVariable::index, __NLContext::least_squares, __NLVariable::locked, __NLContext::m, and __NLContext::variable.
Referenced by softbody_calc_forces().
Definition at line 752 of file opennl.c.
References __nl_parano_range_assert, __NL_STATE_SYSTEM, __nlCheckState(), __NLContext::nb_variables, __NLVariable::value, and __NLContext::variable.
Referenced by laplacian_begin_solve(), p_chart_lscm_solve(), and weightToHarmonic().
NLboolean nlSolve | ( | void | ) |
Definition at line 1262 of file opennl.c.
References NL_FALSE, nlSolveAdvanced(), and NULL.
Referenced by p_abf_matrix_invert().
Definition at line 1238 of file opennl.c.
References __NL_STATE_SYSTEM_CONSTRUCTED, __NL_STATE_SYSTEM_SOLVED, __nlCheckState(), __nlFactorize_SUPERLU(), __nlInvert_SUPERLU(), __nlTransition(), __nlVectorToVariables(), NL_TRUE, and __NLContext::solve_again.
Referenced by laplacian_system_solve(), meshdeform_matrix_solve(), nlSolve(), p_chart_lscm_solve(), softbody_calc_forces(), and weightToHarmonic().
Definition at line 612 of file opennl.c.
References __nl_assert, __nl_assert_not_reached, __NL_STATE_INITIAL, __nlCheckState(), __NLContext::least_squares, __NLContext::nb_rhs, __NLContext::nb_rows, __NLContext::nb_variables, NL_LEAST_SQUARES, NL_NB_RIGHT_HAND_SIDES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Definition at line 638 of file opennl.c.
References __nl_assert, __nl_assert_not_reached, __NL_STATE_INITIAL, __nlCheckState(), __NLContext::least_squares, __NLContext::nb_rhs, __NLContext::nb_rows, __NLContext::nb_variables, NL_LEAST_SQUARES, NL_NB_RIGHT_HAND_SIDES, NL_NB_ROWS, NL_NB_VARIABLES, NL_SYMMETRIC, and __NLContext::symmetric.
Referenced by laplacian_system_construct_begin(), meshdeform_matrix_solve(), p_abf_matrix_invert(), p_chart_lscm_begin(), and weightToHarmonic().
void nlUnlockVariable | ( | NLuint | index | ) |
Definition at line 770 of file opennl.c.
References __nl_parano_range_assert, __NL_STATE_SYSTEM, __nlCheckState(), __NLVariable::locked, __NLContext::nb_variables, NL_FALSE, and __NLContext::variable.
Definition at line 776 of file opennl.c.
References __nl_assert, __nl_parano_range_assert, __NL_STATE_INITIAL, __NLVariable::locked, __NLContext::nb_variables, __NLContext::state, and __NLContext::variable.
__NLContext* __nlCurrentContext = NULL [static] |
Definition at line 534 of file opennl.c.
Referenced by __nlBeginMatrix(), __nlEndMatrix(), __nlEndMatrixRHS(), __nlVariablesToVector(), __nlVectorToVariables(), nlGetCurrent(), nlMatrixAdd(), nlPrintMatrix(), nlRightHandSideAdd(), and nlRightHandSideSet().