mat_vec_fns.h File Reference
#include <math.h>
#include <stdio.h>
#include "mat_vec_types.h"

Go to the source code of this file.

Functions

void mat12_apply (matrix12 A, vector12 v)
 
void vec3_mat3_mult (vector3 &v, matrix3 &A, vector3 &notV)
 
void mat3_mult (matrix3 A, matrix3 B, matrix3 result)
 
void vec12_add (vector12 A, vector12 B)
 
void vec12_scale (vector12 A, scalar scale)
 
void mat3_mult_transpose (matrix3 A, matrix3 B, matrix3 result)
 
void mat3_mult_both_transposed (matrix3 A, matrix3 B, matrix3 result)
 
void mat3_scale (matrix3 A, scalar s)
 
scalar mat3_double_contraction_symmetric (matrix3 A)
 
scalar mat3_double_contraction (matrix3 A)
 
void mat3_invert (matrix3 m, matrix3 m_inv, scalar *det_m)
 
void mat12_set_zero (matrix12 A)
 
void mat3_set_zero (matrix3 A)
 
void mat3_set_identity (matrix3 A)
 
void mat4_set_zero (matrix4 A)
 
void vector3_set_zero (vector3 &v)
 
void vec3_add_to_scaled (vector3 *v1, vector3 *v2, scalar a, int vec_size)
 
void vec3_scale_and_add (vector3 *v1, vector3 *v2, scalar a, int vec_size)
 
void vec12_set_zero (vector12 v)
 
void print_matrix3 (matrix3 m)
 
void print_matrix4 (matrix4 m)
 
void print_matrix12 (matrix12 m)
 
void print_vector12 (vector12 v)
 
void print_vector3 (vector3 &v)
 

Function Documentation

◆ mat12_apply()

void mat12_apply ( matrix12  A,
vector12  v 
)

Applies matrix A to vector v, storing result in v

Referenced by Blob::update_internal_forces().

◆ mat12_set_zero()

void mat12_set_zero ( matrix12  A)

◆ mat3_double_contraction()

scalar mat3_double_contraction ( matrix3  A)

◆ mat3_double_contraction_symmetric()

scalar mat3_double_contraction_symmetric ( matrix3  A)

◆ mat3_invert()

void mat3_invert ( matrix3  m,
matrix3  m_inv,
scalar det_m 
)

Inverts the given 3x3 matrix, storing the result in m_inv and the determinant in det_m

Referenced by Blob::calc_rest_state_info(), and PreComp_solver::init().

◆ mat3_mult()

void mat3_mult ( matrix3  A,
matrix3  B,
matrix3  result 
)

◆ mat3_mult_both_transposed()

void mat3_mult_both_transposed ( matrix3  A,
matrix3  B,
matrix3  result 
)

◆ mat3_mult_transpose()

void mat3_mult_transpose ( matrix3  A,
matrix3  B,
matrix3  result 
)

◆ mat3_scale()

void mat3_scale ( matrix3  A,
scalar  s 
)

◆ mat3_set_identity()

void mat3_set_identity ( matrix3  A)

◆ mat3_set_zero()

◆ mat4_set_zero()

void mat4_set_zero ( matrix4  A)

◆ print_matrix12()

void print_matrix12 ( matrix12  m)

Prints out the given 12x12 matrix

◆ print_matrix3()

void print_matrix3 ( matrix3  m)

Prints out the given 3x3 matrix

◆ print_matrix4()

void print_matrix4 ( matrix4  m)

Prints out the given 4x4 matrix

◆ print_vector12()

void print_vector12 ( vector12  v)

Prints out the given 12-vector

◆ print_vector3()

void print_vector3 ( vector3 v)

◆ vec12_add()

void vec12_add ( vector12  A,
vector12  B 
)

◆ vec12_scale()

void vec12_scale ( vector12  A,
scalar  scale 
)

◆ vec12_set_zero()

◆ vec3_add_to_scaled()

void vec3_add_to_scaled ( vector3 v1,
vector3 v2,
scalar  a,
int  vec_size 
)

Referenced by NoMassCGSolver::solve().

◆ vec3_mat3_mult()

void vec3_mat3_mult ( vector3 v,
matrix3 A,
vector3 notV 
)

Referenced by PreComp_solver::init().

◆ vec3_scale_and_add()

void vec3_scale_and_add ( vector3 v1,
vector3 v2,
scalar  a,
int  vec_size 
)

Referenced by NoMassCGSolver::solve().

◆ vector3_set_zero()