|
DYNAMICS C API
C-compatible interface to the DYNAMICS library
|
Functions | |
| double | c_beam_element_2d_length (const c_beam_element_2d *elem) |
| Compute the length of a 2D beam element. | |
| void | c_beam_element_2d_stiffness_matrix (const c_beam_element_2d *elem, int rule, double *k, int ldk) |
| Compute the 6-by-6 stiffness matrix of a 2D beam element. | |
| void | c_beam_element_2d_mass_matrix (const c_beam_element_2d *elem, int rule, double *m, int ldm) |
| Compute the 6-by-6 mass matrix of a 2D beam element. | |
| void | c_beam_element_2d_rotation_matrix (const c_beam_element_2d *elem, double *r, int ldr) |
| Compute the 6-by-6 rotation matrix of a 2D beam element. | |
| void | c_beam_element_2d_strain (const c_beam_element_2d *elem, const double displacement[6], double s, double strain[2]) |
| Compute the strain in a 2D beam element at a natural coordinate. | |
| void | c_beam_element_2d_stress (const c_beam_element_2d *elem, const double displacement[6], double s, double stress[2]) |
| Compute the stress in a 2D beam element at a natural coordinate. | |
| double | c_beam_element_2d_shear_force (const c_beam_element_2d *elem, const double displacement[6], double s) |
| Compute the local shear force in a 2D beam element at a natural coordinate. | |
| double | c_beam_element_2d_bending_moment (const c_beam_element_2d *elem, const double displacement[6], double s) |
| Compute the local bending moment in a 2D beam element at a natural coordinate. | |
| void | c_beam_element_2d_external_force_vector (const c_beam_element_2d *elem, const double q[2], int rule, double f[6]) |
| Compute the equivalent nodal force vector for a distributed load on a 2D beam element. | |
| double | c_beam_element_3d_length (const c_beam_element_3d *elem) |
| Compute the length of a 3D beam element. | |
| void | c_beam_element_3d_stiffness_matrix (const c_beam_element_3d *elem, int rule, double *k, int ldk) |
| Compute the 12-by-12 stiffness matrix of a 3D beam element. | |
| void | c_beam_element_3d_mass_matrix (const c_beam_element_3d *elem, int rule, double *m, int ldm) |
| Compute the 12-by-12 mass matrix of a 3D beam element. | |
| void | c_beam_element_3d_rotation_matrix (const c_beam_element_3d *elem, double *r, int ldr) |
| Compute the 12-by-12 rotation matrix of a 3D beam element. | |
| void | c_beam_element_3d_strain (const c_beam_element_3d *elem, const double displacement[12], double s, double strain[4]) |
| Compute the strain in a 3D beam element at a natural coordinate. | |
| void | c_beam_element_3d_stress (const c_beam_element_3d *elem, const double displacement[12], double s, double stress[4]) |
| Compute the stress in a 3D beam element at a natural coordinate. | |
| void | c_beam_element_3d_shear_force (const c_beam_element_3d *elem, const double displacement[12], double s, double force[2]) |
| Compute the local shear-force vector in a 3D beam element at a natural coordinate. | |
| void | c_beam_element_3d_bending_moment (const c_beam_element_3d *elem, const double displacement[12], double s, double moment[3]) |
| Compute the local moment vector in a 3D beam element at a natural coordinate. | |
| void | c_beam_element_3d_external_force_vector (const c_beam_element_3d *elem, const double q[4], int rule, double f[12]) |
| Compute the equivalent nodal force vector for a distributed load on a 3D beam element. | |
| void | c_assemble_static_system_beam_2d (int gdof, int n, const c_beam_element_2d *elements, int nn, const c_node *nodes, int rule, double *k, int ldk) |
| Assemble a dense global stiffness matrix from 2D beam elements. | |
| void | c_assemble_dynamic_system_beam_2d (int gdof, int n, const c_beam_element_2d *elements, int nn, const c_node *nodes, int rule, double *m, int ldm, double *k, int ldk) |
| Assemble dense global mass and stiffness matrices from 2D beam elements. | |
| void | c_assemble_static_system_beam_3d (int gdof, int n, const c_beam_element_3d *elements, int nn, const c_node *nodes, int rule, double *k, int ldk) |
| Assemble a dense global stiffness matrix from 3D beam elements. | |
| void | c_assemble_dynamic_system_beam_3d (int gdof, int n, const c_beam_element_3d *elements, int nn, const c_node *nodes, int rule, double *m, int ldm, double *k, int ldk) |
| Assemble dense global mass and stiffness matrices from 3D beam elements. | |
| void | c_apply_boundary_conditions_mtx (int n, int nbc, int *gdof, const double *x, int ldx, double *rst, int ldr) |
| Apply boundary conditions to a dense matrix by removing the constrained rows and columns. | |
| void | c_apply_boundary_conditions_vec (int n, int nbc, int *gdof, const double *x, double *rst) |
| Apply boundary conditions to a dense vector by removing the constrained entries. | |
| void | c_restore_constrained_values_dense (int nred, int nbc, int *gdof, const double *x, double *rst) |
Restore the constrained degrees of freedom removed by c_apply_boundary_conditions_vec. | |
| void | c_apply_displacement_constraint_dense (int dof, double val, int n, double *k, int ldk, double *f) |
| Apply a displacement constraint to a single degree of freedom. | |
| void | c_solve_static_system_dense (int n, const double *k, int ldk, const double *f, double *u) |
| Solve the static system K*u = f for a dense stiffness matrix. | |
| double | c_truss_element_2d_length (const c_truss_element_2d *elem) |
| Compute the length of a 2D truss element. | |
| void | c_truss_element_2d_stiffness_matrix (const c_truss_element_2d *elem, double *k, int ldk) |
| Compute the 4-by-4 global stiffness matrix of a 2D truss element. | |
| void | c_truss_element_2d_mass_matrix (const c_truss_element_2d *elem, int rule, double *m, int ldm) |
| Compute the 4-by-4 consistent mass matrix of a 2D truss element. | |
| void | c_truss_element_2d_rotation_matrix (const c_truss_element_2d *elem, double *r, int ldr) |
| Compute the 4-by-4 rotation matrix of a 2D truss element. | |
| double | c_truss_element_2d_strain (const c_truss_element_2d *elem, const double displacement[4]) |
| Compute the axial strain in a 2D truss element. | |
| double | c_truss_element_2d_axial_force (const c_truss_element_2d *elem, const double displacement[4]) |
| Compute the axial force (positive in tension) in a 2D truss element. | |
| void | c_truss_element_2d_external_force_vector (const c_truss_element_2d *elem, const double q[2], int rule, double f[4]) |
| Compute the equivalent nodal force vector for a distributed load on a 2D truss element. | |
| double | c_truss_element_3d_length (const c_truss_element_3d *elem) |
| Compute the length of a 3D truss element. | |
| void | c_truss_element_3d_stiffness_matrix (const c_truss_element_3d *elem, double *k, int ldk) |
| Compute the 6-by-6 global stiffness matrix of a 3D truss element. | |
| void | c_truss_element_3d_mass_matrix (const c_truss_element_3d *elem, int rule, double *m, int ldm) |
| Compute the 6-by-6 consistent mass matrix of a 3D truss element. | |
| void | c_truss_element_3d_rotation_matrix (const c_truss_element_3d *elem, double *r, int ldr) |
| Compute the 6-by-6 rotation matrix of a 3D truss element. | |
| double | c_truss_element_3d_strain (const c_truss_element_3d *elem, const double displacement[6]) |
| Compute the axial strain in a 3D truss element. | |
| double | c_truss_element_3d_axial_force (const c_truss_element_3d *elem, const double displacement[6]) |
| Compute the axial force (positive in tension) in a 3D truss element. | |
| void | c_truss_element_3d_external_force_vector (const c_truss_element_3d *elem, const double q[3], int rule, double f[6]) |
| Compute the equivalent nodal force vector for a distributed load on a 3D truss element. | |
| void | c_assemble_static_system_truss_2d (int gdof, int n, const c_truss_element_2d *elements, int nn, const c_node *nodes, double *k, int ldk) |
| Assemble a dense global stiffness matrix from 2D truss elements. | |
| void | c_assemble_dynamic_system_truss_2d (int gdof, int n, const c_truss_element_2d *elements, int nn, const c_node *nodes, int rule, double *m, int ldm, double *k, int ldk) |
| Assemble dense global mass and stiffness matrices from 2D truss elements. | |
| void | c_assemble_static_system_truss_3d (int gdof, int n, const c_truss_element_3d *elements, int nn, const c_node *nodes, double *k, int ldk) |
| Assemble a dense global stiffness matrix from 3D truss elements. | |
| void | c_assemble_dynamic_system_truss_3d (int gdof, int n, const c_truss_element_3d *elements, int nn, const c_node *nodes, int rule, double *m, int ldm, double *k, int ldk) |
| Assemble dense global mass and stiffness matrices from 3D truss elements. | |
| void | c_spring_element_2d_stiffness_matrix (const c_spring_element_2d *elem, double *k, int ldk) |
| Compute the 4-by-4 global stiffness matrix of a 2D spring element. | |
| double | c_spring_element_2d_force (const c_spring_element_2d *elem, const double displacement[4]) |
| Compute the spring force (positive in tension) in a 2D spring element. | |
| void | c_spring_element_3d_stiffness_matrix (const c_spring_element_3d *elem, double *k, int ldk) |
| Compute the 6-by-6 global stiffness matrix of a 3D spring element. | |
| double | c_spring_element_3d_force (const c_spring_element_3d *elem, const double displacement[6]) |
| Compute the spring force (positive in tension) in a 3D spring element. | |
| void | c_damper_element_2d_damping_matrix (const c_damper_element_2d *elem, double *c, int ldc) |
| Compute the 4-by-4 global damping matrix of a 2D damper element. | |
| double | c_damper_element_2d_force (const c_damper_element_2d *elem, const double velocity[4]) |
| Compute the damper force (positive in tension) in a 2D damper element. | |
| void | c_damper_element_3d_damping_matrix (const c_damper_element_3d *elem, double *c, int ldc) |
| Compute the 6-by-6 global damping matrix of a 3D damper element. | |
| double | c_damper_element_3d_force (const c_damper_element_3d *elem, const double velocity[6]) |
| Compute the damper force (positive in tension) in a 3D damper element. | |
| void | c_mass_element_2d_mass_matrix (const c_mass_element_2d *elem, double *m, int ldm) |
| Compute the 2-by-2 mass matrix of a 2D point mass element. | |
| void | c_mass_element_3d_mass_matrix (const c_mass_element_3d *elem, double *m, int ldm) |
| Compute the 3-by-3 mass matrix of a 3D point mass element. | |
| void | c_assemble_discrete_system_2d (int gdof, int nm, const c_mass_element_2d *masses, int nd, const c_damper_element_2d *dampers, int ns, const c_spring_element_2d *springs, int nn, const c_node *nodes, double *m, int ldm, double *c, int ldc, double *k, int ldk) |
| Assemble dense global mass, damping, and stiffness matrices for a 2D system composed of discrete elements. | |
| void | c_assemble_discrete_system_3d (int gdof, int nm, const c_mass_element_3d *masses, int nd, const c_damper_element_3d *dampers, int ns, const c_spring_element_3d *springs, int nn, const c_node *nodes, double *m, int ldm, double *c, int ldc, double *k, int ldk) |
| Assemble dense global mass, damping, and stiffness matrices for a 3D system composed of discrete elements. | |
| double c_beam_element_2d_length | ( | const c_beam_element_2d * | elem | ) |
Compute the length of a 2D beam element.
| elem | Beam element. |
| void c_beam_element_2d_stiffness_matrix | ( | const c_beam_element_2d * | elem, |
| int | rule, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Compute the 6-by-6 stiffness matrix of a 2D beam element.
| elem | Beam element. |
| rule | Integration rule, or zero to use the default rule. |
| k | Output stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_beam_element_2d_mass_matrix | ( | const c_beam_element_2d * | elem, |
| int | rule, | ||
| double * | m, | ||
| int | ldm | ||
| ) |
Compute the 6-by-6 mass matrix of a 2D beam element.
| elem | Beam element. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output mass matrix. |
| ldm | Leading dimension of m. |
| void c_beam_element_2d_rotation_matrix | ( | const c_beam_element_2d * | elem, |
| double * | r, | ||
| int | ldr | ||
| ) |
Compute the 6-by-6 rotation matrix of a 2D beam element.
| elem | Beam element. |
| r | Output rotation matrix. |
| ldr | Leading dimension of r. |
| void c_beam_element_2d_strain | ( | const c_beam_element_2d * | elem, |
| const double | displacement[6], | ||
| double | s, | ||
| double | strain[2] | ||
| ) |
Compute the strain in a 2D beam element at a natural coordinate.
| elem | Beam element. |
| displacement | 6-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| strain | Output 2-element strain vector. |
| void c_beam_element_2d_stress | ( | const c_beam_element_2d * | elem, |
| const double | displacement[6], | ||
| double | s, | ||
| double | stress[2] | ||
| ) |
Compute the stress in a 2D beam element at a natural coordinate.
| elem | Beam element. |
| displacement | 6-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| stress | Output 2-element stress vector. |
| double c_beam_element_2d_shear_force | ( | const c_beam_element_2d * | elem, |
| const double | displacement[6], | ||
| double | s | ||
| ) |
Compute the local shear force in a 2D beam element at a natural coordinate.
| elem | Beam element. |
| displacement | 6-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| double c_beam_element_2d_bending_moment | ( | const c_beam_element_2d * | elem, |
| const double | displacement[6], | ||
| double | s | ||
| ) |
Compute the local bending moment in a 2D beam element at a natural coordinate.
| elem | Beam element. |
| displacement | 6-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| void c_beam_element_2d_external_force_vector | ( | const c_beam_element_2d * | elem, |
| const double | q[2], | ||
| int | rule, | ||
| double | f[6] | ||
| ) |
Compute the equivalent nodal force vector for a distributed load on a 2D beam element.
| elem | Beam element. |
| q | 2-element distributed load vector, [qx, qy]. |
| rule | Integration rule, or zero to use the default rule. |
| f | Output 6-element nodal force vector. |
| double c_beam_element_3d_length | ( | const c_beam_element_3d * | elem | ) |
Compute the length of a 3D beam element.
| elem | Beam element. |
| void c_beam_element_3d_stiffness_matrix | ( | const c_beam_element_3d * | elem, |
| int | rule, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Compute the 12-by-12 stiffness matrix of a 3D beam element.
| elem | Beam element. |
| rule | Integration rule, or zero to use the default rule. |
| k | Output stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_beam_element_3d_mass_matrix | ( | const c_beam_element_3d * | elem, |
| int | rule, | ||
| double * | m, | ||
| int | ldm | ||
| ) |
Compute the 12-by-12 mass matrix of a 3D beam element.
| elem | Beam element. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output mass matrix. |
| ldm | Leading dimension of m. |
| void c_beam_element_3d_rotation_matrix | ( | const c_beam_element_3d * | elem, |
| double * | r, | ||
| int | ldr | ||
| ) |
Compute the 12-by-12 rotation matrix of a 3D beam element.
| elem | Beam element. |
| r | Output rotation matrix. |
| ldr | Leading dimension of r. |
| void c_beam_element_3d_strain | ( | const c_beam_element_3d * | elem, |
| const double | displacement[12], | ||
| double | s, | ||
| double | strain[4] | ||
| ) |
Compute the strain in a 3D beam element at a natural coordinate.
| elem | Beam element. |
| displacement | 12-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| strain | Output 4-element strain vector. |
| void c_beam_element_3d_stress | ( | const c_beam_element_3d * | elem, |
| const double | displacement[12], | ||
| double | s, | ||
| double | stress[4] | ||
| ) |
Compute the stress in a 3D beam element at a natural coordinate.
| elem | Beam element. |
| displacement | 12-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| stress | Output 4-element stress vector. |
| void c_beam_element_3d_shear_force | ( | const c_beam_element_3d * | elem, |
| const double | displacement[12], | ||
| double | s, | ||
| double | force[2] | ||
| ) |
Compute the local shear-force vector in a 3D beam element at a natural coordinate.
The output is ordered [y-axis, z-axis].
| elem | Beam element. |
| displacement | 12-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| force | Output 2-element local shear-force vector. |
| void c_beam_element_3d_bending_moment | ( | const c_beam_element_3d * | elem, |
| const double | displacement[12], | ||
| double | s, | ||
| double | moment[3] | ||
| ) |
Compute the local moment vector in a 3D beam element at a natural coordinate.
The output is ordered [torsional, y-axis, z-axis].
| elem | Beam element. |
| displacement | 12-element element displacement vector. |
| s | Natural coordinate in [-1, 1]. |
| moment | Output 3-element local moment vector. |
| void c_beam_element_3d_external_force_vector | ( | const c_beam_element_3d * | elem, |
| const double | q[4], | ||
| int | rule, | ||
| double | f[12] | ||
| ) |
Compute the equivalent nodal force vector for a distributed load on a 3D beam element.
| elem | Beam element. |
| q | 4-element distributed load vector, [qx, qy, qz, qtheta]. |
| rule | Integration rule, or zero to use the default rule. |
| f | Output 12-element nodal force vector. |
| void c_assemble_static_system_beam_2d | ( | int | gdof, |
| int | n, | ||
| const c_beam_element_2d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| int | rule, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble a dense global stiffness matrix from 2D beam elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Beam elements. |
| nn | Node count. |
| nodes | Global node list. |
| rule | Integration rule, or zero to use the default rule. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_dynamic_system_beam_2d | ( | int | gdof, |
| int | n, | ||
| const c_beam_element_2d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| int | rule, | ||
| double * | m, | ||
| int | ldm, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble dense global mass and stiffness matrices from 2D beam elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Beam elements. |
| nn | Node count. |
| nodes | Global node list. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output gdof-by-gdof mass matrix. |
| ldm | Leading dimension of m. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_static_system_beam_3d | ( | int | gdof, |
| int | n, | ||
| const c_beam_element_3d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| int | rule, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble a dense global stiffness matrix from 3D beam elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Beam elements. |
| nn | Node count. |
| nodes | Global node list. |
| rule | Integration rule, or zero to use the default rule. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_dynamic_system_beam_3d | ( | int | gdof, |
| int | n, | ||
| const c_beam_element_3d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| int | rule, | ||
| double * | m, | ||
| int | ldm, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble dense global mass and stiffness matrices from 3D beam elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Beam elements. |
| nn | Node count. |
| nodes | Global node list. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output gdof-by-gdof mass matrix. |
| ldm | Leading dimension of m. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_apply_boundary_conditions_mtx | ( | int | n, |
| int | nbc, | ||
| int * | gdof, | ||
| const double * | x, | ||
| int | ldx, | ||
| double * | rst, | ||
| int | ldr | ||
| ) |
Apply boundary conditions to a dense matrix by removing the constrained rows and columns.
| n | Matrix order. |
| nbc | Number of constrained degrees of freedom. |
| gdof | Constrained degree-of-freedom indices; sorted in place. |
| x | n-by-n matrix to constrain. |
| ldx | Leading dimension of x. |
| rst | Output (n - nbc)-by-(n - nbc) constrained matrix. |
| ldr | Leading dimension of rst. |
| void c_apply_boundary_conditions_vec | ( | int | n, |
| int | nbc, | ||
| int * | gdof, | ||
| const double * | x, | ||
| double * | rst | ||
| ) |
Apply boundary conditions to a dense vector by removing the constrained entries.
| n | Vector length. |
| nbc | Number of constrained degrees of freedom. |
| gdof | Constrained degree-of-freedom indices; sorted in place. |
| x | n-element vector to constrain. |
| rst | Output (n - nbc)-element constrained vector. |
| void c_restore_constrained_values_dense | ( | int | nred, |
| int | nbc, | ||
| int * | gdof, | ||
| const double * | x, | ||
| double * | rst | ||
| ) |
Restore the constrained degrees of freedom removed by c_apply_boundary_conditions_vec.
| nred | Length of the reduced vector. |
| nbc | Number of constrained degrees of freedom. |
| gdof | Constrained degree-of-freedom indices; sorted in place. |
| x | nred-element reduced vector. |
| rst | Output (nred + nbc)-element restored vector. |
| void c_apply_displacement_constraint_dense | ( | int | dof, |
| double | val, | ||
| int | n, | ||
| double * | k, | ||
| int | ldk, | ||
| double * | f | ||
| ) |
Apply a displacement constraint to a single degree of freedom.
| dof | Global degree-of-freedom index (one-based). |
| val | Prescribed displacement value. |
| n | Matrix order. |
| k | n-by-n stiffness matrix, updated in place. |
| ldk | Leading dimension of k. |
| f | n-element external force vector, updated in place. |
| void c_solve_static_system_dense | ( | int | n, |
| const double * | k, | ||
| int | ldk, | ||
| const double * | f, | ||
| double * | u | ||
| ) |
Solve the static system K*u = f for a dense stiffness matrix.
| n | Matrix order. |
| k | n-by-n stiffness matrix. |
| ldk | Leading dimension of k. |
| f | n-element external force vector. |
| u | Output n-element solution vector. |
| double c_truss_element_2d_length | ( | const c_truss_element_2d * | elem | ) |
Compute the length of a 2D truss element.
| elem | Truss element. |
| void c_truss_element_2d_stiffness_matrix | ( | const c_truss_element_2d * | elem, |
| double * | k, | ||
| int | ldk | ||
| ) |
Compute the 4-by-4 global stiffness matrix of a 2D truss element.
| elem | Truss element. |
| k | Output stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_truss_element_2d_mass_matrix | ( | const c_truss_element_2d * | elem, |
| int | rule, | ||
| double * | m, | ||
| int | ldm | ||
| ) |
Compute the 4-by-4 consistent mass matrix of a 2D truss element.
| elem | Truss element. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output mass matrix. |
| ldm | Leading dimension of m. |
| void c_truss_element_2d_rotation_matrix | ( | const c_truss_element_2d * | elem, |
| double * | r, | ||
| int | ldr | ||
| ) |
Compute the 4-by-4 rotation matrix of a 2D truss element.
| elem | Truss element. |
| r | Output rotation matrix. |
| ldr | Leading dimension of r. |
| double c_truss_element_2d_strain | ( | const c_truss_element_2d * | elem, |
| const double | displacement[4] | ||
| ) |
Compute the axial strain in a 2D truss element.
| elem | Truss element. |
| displacement | 4-element global element displacement vector. |
| double c_truss_element_2d_axial_force | ( | const c_truss_element_2d * | elem, |
| const double | displacement[4] | ||
| ) |
Compute the axial force (positive in tension) in a 2D truss element.
| elem | Truss element. |
| displacement | 4-element global element displacement vector. |
| void c_truss_element_2d_external_force_vector | ( | const c_truss_element_2d * | elem, |
| const double | q[2], | ||
| int | rule, | ||
| double | f[4] | ||
| ) |
Compute the equivalent nodal force vector for a distributed load on a 2D truss element.
| elem | Truss element. |
| q | 2-element distributed load vector in the element coordinate system. |
| rule | Integration rule, or zero to use the default rule. |
| f | Output 4-element nodal force vector. |
| double c_truss_element_3d_length | ( | const c_truss_element_3d * | elem | ) |
Compute the length of a 3D truss element.
| elem | Truss element. |
| void c_truss_element_3d_stiffness_matrix | ( | const c_truss_element_3d * | elem, |
| double * | k, | ||
| int | ldk | ||
| ) |
Compute the 6-by-6 global stiffness matrix of a 3D truss element.
| elem | Truss element. |
| k | Output stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_truss_element_3d_mass_matrix | ( | const c_truss_element_3d * | elem, |
| int | rule, | ||
| double * | m, | ||
| int | ldm | ||
| ) |
Compute the 6-by-6 consistent mass matrix of a 3D truss element.
| elem | Truss element. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output mass matrix. |
| ldm | Leading dimension of m. |
| void c_truss_element_3d_rotation_matrix | ( | const c_truss_element_3d * | elem, |
| double * | r, | ||
| int | ldr | ||
| ) |
Compute the 6-by-6 rotation matrix of a 3D truss element.
| elem | Truss element. |
| r | Output rotation matrix. |
| ldr | Leading dimension of r. |
| double c_truss_element_3d_strain | ( | const c_truss_element_3d * | elem, |
| const double | displacement[6] | ||
| ) |
Compute the axial strain in a 3D truss element.
| elem | Truss element. |
| displacement | 6-element global element displacement vector. |
| double c_truss_element_3d_axial_force | ( | const c_truss_element_3d * | elem, |
| const double | displacement[6] | ||
| ) |
Compute the axial force (positive in tension) in a 3D truss element.
| elem | Truss element. |
| displacement | 6-element global element displacement vector. |
| void c_truss_element_3d_external_force_vector | ( | const c_truss_element_3d * | elem, |
| const double | q[3], | ||
| int | rule, | ||
| double | f[6] | ||
| ) |
Compute the equivalent nodal force vector for a distributed load on a 3D truss element.
| elem | Truss element. |
| q | 3-element distributed load vector in the element coordinate system. |
| rule | Integration rule, or zero to use the default rule. |
| f | Output 6-element nodal force vector. |
| void c_assemble_static_system_truss_2d | ( | int | gdof, |
| int | n, | ||
| const c_truss_element_2d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble a dense global stiffness matrix from 2D truss elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Truss elements. |
| nn | Node count. |
| nodes | Global node list. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_dynamic_system_truss_2d | ( | int | gdof, |
| int | n, | ||
| const c_truss_element_2d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| int | rule, | ||
| double * | m, | ||
| int | ldm, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble dense global mass and stiffness matrices from 2D truss elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Truss elements. |
| nn | Node count. |
| nodes | Global node list. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output gdof-by-gdof mass matrix. |
| ldm | Leading dimension of m. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_static_system_truss_3d | ( | int | gdof, |
| int | n, | ||
| const c_truss_element_3d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble a dense global stiffness matrix from 3D truss elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Truss elements. |
| nn | Node count. |
| nodes | Global node list. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_dynamic_system_truss_3d | ( | int | gdof, |
| int | n, | ||
| const c_truss_element_3d * | elements, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| int | rule, | ||
| double * | m, | ||
| int | ldm, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble dense global mass and stiffness matrices from 3D truss elements.
| gdof | Total number of global degrees of freedom. |
| n | Element count. |
| elements | Truss elements. |
| nn | Node count. |
| nodes | Global node list. |
| rule | Integration rule, or zero to use the default rule. |
| m | Output gdof-by-gdof mass matrix. |
| ldm | Leading dimension of m. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_spring_element_2d_stiffness_matrix | ( | const c_spring_element_2d * | elem, |
| double * | k, | ||
| int | ldk | ||
| ) |
Compute the 4-by-4 global stiffness matrix of a 2D spring element.
| elem | Spring element. |
| k | Output stiffness matrix. |
| ldk | Leading dimension of k. |
| double c_spring_element_2d_force | ( | const c_spring_element_2d * | elem, |
| const double | displacement[4] | ||
| ) |
Compute the spring force (positive in tension) in a 2D spring element.
| elem | Spring element. |
| displacement | 4-element global element displacement vector. |
| void c_spring_element_3d_stiffness_matrix | ( | const c_spring_element_3d * | elem, |
| double * | k, | ||
| int | ldk | ||
| ) |
Compute the 6-by-6 global stiffness matrix of a 3D spring element.
| elem | Spring element. |
| k | Output stiffness matrix. |
| ldk | Leading dimension of k. |
| double c_spring_element_3d_force | ( | const c_spring_element_3d * | elem, |
| const double | displacement[6] | ||
| ) |
Compute the spring force (positive in tension) in a 3D spring element.
| elem | Spring element. |
| displacement | 6-element global element displacement vector. |
| void c_damper_element_2d_damping_matrix | ( | const c_damper_element_2d * | elem, |
| double * | c, | ||
| int | ldc | ||
| ) |
Compute the 4-by-4 global damping matrix of a 2D damper element.
| elem | Damper element. |
| c | Output damping matrix. |
| ldc | Leading dimension of c. |
| double c_damper_element_2d_force | ( | const c_damper_element_2d * | elem, |
| const double | velocity[4] | ||
| ) |
Compute the damper force (positive in tension) in a 2D damper element.
| elem | Damper element. |
| velocity | 4-element global element velocity vector. |
| void c_damper_element_3d_damping_matrix | ( | const c_damper_element_3d * | elem, |
| double * | c, | ||
| int | ldc | ||
| ) |
Compute the 6-by-6 global damping matrix of a 3D damper element.
| elem | Damper element. |
| c | Output damping matrix. |
| ldc | Leading dimension of c. |
| double c_damper_element_3d_force | ( | const c_damper_element_3d * | elem, |
| const double | velocity[6] | ||
| ) |
Compute the damper force (positive in tension) in a 3D damper element.
| elem | Damper element. |
| velocity | 6-element global element velocity vector. |
| void c_mass_element_2d_mass_matrix | ( | const c_mass_element_2d * | elem, |
| double * | m, | ||
| int | ldm | ||
| ) |
Compute the 2-by-2 mass matrix of a 2D point mass element.
| elem | Mass element. |
| m | Output mass matrix. |
| ldm | Leading dimension of m. |
| void c_mass_element_3d_mass_matrix | ( | const c_mass_element_3d * | elem, |
| double * | m, | ||
| int | ldm | ||
| ) |
Compute the 3-by-3 mass matrix of a 3D point mass element.
| elem | Mass element. |
| m | Output mass matrix. |
| ldm | Leading dimension of m. |
| void c_assemble_discrete_system_2d | ( | int | gdof, |
| int | nm, | ||
| const c_mass_element_2d * | masses, | ||
| int | nd, | ||
| const c_damper_element_2d * | dampers, | ||
| int | ns, | ||
| const c_spring_element_2d * | springs, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| double * | m, | ||
| int | ldm, | ||
| double * | c, | ||
| int | ldc, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble dense global mass, damping, and stiffness matrices for a 2D system composed of discrete elements.
Any element count may be zero, in which case the corresponding array pointer may be NULL.
| gdof | Total number of global degrees of freedom. |
| nm | Mass element count. |
| masses | Mass elements. |
| nd | Damper element count. |
| dampers | Damper elements. |
| ns | Spring element count. |
| springs | Spring elements. |
| nn | Node count. |
| nodes | Global node list. |
| m | Output gdof-by-gdof mass matrix. |
| ldm | Leading dimension of m. |
| c | Output gdof-by-gdof damping matrix. |
| ldc | Leading dimension of c. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |
| void c_assemble_discrete_system_3d | ( | int | gdof, |
| int | nm, | ||
| const c_mass_element_3d * | masses, | ||
| int | nd, | ||
| const c_damper_element_3d * | dampers, | ||
| int | ns, | ||
| const c_spring_element_3d * | springs, | ||
| int | nn, | ||
| const c_node * | nodes, | ||
| double * | m, | ||
| int | ldm, | ||
| double * | c, | ||
| int | ldc, | ||
| double * | k, | ||
| int | ldk | ||
| ) |
Assemble dense global mass, damping, and stiffness matrices for a 3D system composed of discrete elements.
Any element count may be zero, in which case the corresponding array pointer may be NULL.
| gdof | Total number of global degrees of freedom. |
| nm | Mass element count. |
| masses | Mass elements. |
| nd | Damper element count. |
| dampers | Damper elements. |
| ns | Spring element count. |
| springs | Spring elements. |
| nn | Node count. |
| nodes | Global node list. |
| m | Output gdof-by-gdof mass matrix. |
| ldm | Leading dimension of m. |
| c | Output gdof-by-gdof damping matrix. |
| ldc | Leading dimension of c. |
| k | Output gdof-by-gdof stiffness matrix. |
| ldk | Leading dimension of k. |