mboct-fem-pkg

This package belongs to a suite of packages which can be used for pre- and postprocessing of flexible bodies in MBDyn (www.mbdyn.org) with GNU-Octave. It contains a general purpose Finite Element toolkit for linear structural-, linear thermal-, linear acoustic-problems and also fluid structure interaction problems. This toolkit can be used to generate flexible body data for MBDyn's modal element. That data can be used to describe flexible bodies with moving reference frames (e.g. rotor dynamics).

Select category:

Preprocessing

fem_pre_geo_export
Create a .geo file which can be loaded into Gmsh (http://gmsh.info).
fem_pre_load_case_create_empty
Allocate a struct array of size of empty load cases
fem_pre_load_case_merge
Combine several struct arrays of load cases into a single struct array
fem_pre_mat_isotropic
Compute the constitutive law matrix C for isotropic elasticity
fem_pre_mat_rayleigh_damping
Compute Rayleigh damping coefficients
fem_pre_mesh_constr_surf_to_node
Convert elements of type sfncon4 or sfncon6 to joints.
fem_pre_mesh_cube_create
Create a very simple cube mesh of a cantilever beam clamped at x=0 and loaded at x=l
fem_pre_mesh_elem_angle
Compute corner angles for eight node hexahedrons
fem_pre_mesh_elem_split
Convert eight node hexahedra to six node pentahedra by splitting, if the maximum corner angle is above certain limit.
fem_pre_mesh_elem_type
Return a list of supported elements
fem_pre_mesh_elem_type_dim
Return a list of supported elements
fem_pre_mesh_elem_type_index
Return the value IDX for which strcmp(ELEM_NAMES{IDX}, NAME) returns true.
fem_pre_mesh_extrude_surf
Extrude a surface mesh along the surface normal in order to generate a volume mesh
fem_pre_mesh_groups_create
Create groups of elements or nodes which are located within geometrical limits defined by simple shapes like boxes or cylinders
fem_pre_mesh_import
Load a mesh and a load case from a file.
fem_pre_mesh_merge
Merge several meshes into a single mesh.
fem_pre_mesh_nodal_pressure_load
Compute unit pressure loads for surface elements
fem_pre_mesh_rbe2_from_surf
Builds rbe2 elements from specified groups of surface elements
fem_pre_mesh_rbe3_from_surf
Builds rbe3 elements from specified groups of tria6 elements and assigns weighting factors proportional to equivalent surface area
fem_pre_mesh_reorder
Apply a fill-in reducing ordering based on METIS
fem_pre_mesh_solid_to_surf
Create a surface mesh from solid elements
fem_pre_mesh_struct_create
Create a structured hexahedral mesh of arbitrary shape, defined by callback functions.
fem_pre_mesh_unstruct_create
Create an unstructured tetrahedral or hexahedral mesh using Gmsh.

Postprocessing

fem_post_cms_expand
Expand a modal solution to a nodal solution, compute stresses and scale deformations
fem_post_cms_expand_body
Convert a modal solution Q to a nodal solution DEF.
fem_post_cms_sol_export
Expand and export the solution from MBDyn models with modal elements.
fem_post_cms_sol_import
Import modal element solutions from MBDyn
fem_post_cms_sol_merge
Merge the solutions (displacements, stresses) of several modal bodies
fem_post_def_import
Import deformations from Nastran pch files
fem_post_def_nodal
Map a solution vector or load vector U back to nodal displacements DEF
fem_post_mesh_export
Export a finite element mesh to Gmsh- or APDL-format.
fem_post_mesh_merge
Merge several meshes into a single mesh.
fem_post_sol_export
Export a finite element mesh and related solution to a set of files for post-processing with Gmsh.
fem_post_sol_external
Do postprocessing of a finite element solution within Gmsh.
fem_post_sol_plot
Plot a mesh in deformed or undeformed state.
fem_post_sol_script
Create a Gmsh script named for post-processing within Gmsh.
fem_post_sol_step_export
Export stresses and displacements of a single time step or mode shape to a file in Gmsh format.
fem_post_stress_import
Import stresses from a Nastran PCH file.

Assembly of global matrices

FEM_CT_FIXED
build constraints in all three directions in space
FEM_CT_SLIDING
build only one constraint normal to the surface
FEM_DO_ACOUSTICS
acoustic domain
FEM_DO_FLUID_STRUCT
fluid-structure interaction domain
FEM_DO_STRUCTURAL
structural domain
FEM_DO_THERMAL
thermal domain
FEM_MAT_DAMPING
complete damping matrix
FEM_MAT_DAMPING_ACOUSTICS_IM
imaginary part of acoustic damping matrix
FEM_MAT_DAMPING_ACOUSTICS_RE
real part of acoustic damping matrix
FEM_MAT_DAMPING_FLUID_STRUCT_IM
imaginary part of fluid-structure interaction damping matrix
FEM_MAT_DAMPING_FLUID_STRUCT_RE
real part of fluid-structure interaction damping matrix
FEM_MAT_DAMPING_OMEGA
damping matrix resulting from a rotating reference frame
FEM_MAT_DAMPING_SYM
upper triangular part of the damping matrix
FEM_MAT_DAMPING_SYM_L
lower triangular part of the damping matrix
FEM_MAT_HEAT_CAPACITY
heat capacity matrix
FEM_MAT_INERTIA_INV3
MBDyn's invariant 3 with respect to the global reference frame
FEM_MAT_INERTIA_INV4
MBDyn's invariant 4 with respect to the global reference frame
FEM_MAT_INERTIA_INV5
MBDyn's invarinat 5 with respect to the global reference frame
FEM_MAT_INERTIA_INV8
MBDyn's invariant 8 with respect to the global reference frame
FEM_MAT_INERTIA_INV9
MBDyn's invariant 9 with respect to the global reference frame
FEM_MAT_INERTIA_J
3x3 inertia matrix with respect to the origin of the global reference frame
FEM_MAT_MASS
complete consistent mass matrix
FEM_MAT_MASS_ACOUSTICS_IM
imaginary acoustic mass matrix
FEM_MAT_MASS_ACOUSTICS_RE
real acoustic mass matrix
FEM_MAT_MASS_FLUID_STRUCT_IM
imaginary fluid-structure interaction mass matrix
FEM_MAT_MASS_FLUID_STRUCT_RE
real fluid-structure interaction mass matrix
FEM_MAT_MASS_LUMPED
diagonal lumped mass matrix
FEM_MAT_MASS_SYM
upper triangular part of the mass matrix
FEM_MAT_MASS_SYM_L
lower triangular part of the mass matrix
FEM_MAT_STIFFNESS
complete stiffness matrix
FEM_MAT_STIFFNESS_ACOUSTICS_IM
imaginary part of acoustic stiffness matrix
FEM_MAT_STIFFNESS_ACOUSTICS_RE
real part of acoustic stiffness matrix
FEM_MAT_STIFFNESS_FLUID_STRUCT_IM
imaginary fluid-structure interaction stiffness matrix
FEM_MAT_STIFFNESS_FLUID_STRUCT_RE
real fluid-structure interaction stiffness matrix
FEM_MAT_STIFFNESS_OMEGA
stiffness matrix resulting from a rotating reference frame with constant angular velocity
FEM_MAT_STIFFNESS_OMEGA_DOT
stiffness matrix resulting from a rotating reference frame with constant angular acceleration
FEM_MAT_STIFFNESS_SYM
upper triangular part of the stiffness matrix
FEM_MAT_STIFFNESS_SYM_L
lower triangular part of the stiffness matrix
FEM_MAT_STIFFNESS_TAU0
stiffness matrix resulting from pre-stress
FEM_MAT_THERMAL_COND
thermal conductivity matrix
FEM_SCA_ACOUSTIC_INTENSITY
acoustic intensity and sound power
FEM_SCA_ACOUSTIC_INTENSITY_C
acoustic intensity and sound power for complex solutions
FEM_SCA_STRESS_VMIS
Van Mises stress
FEM_SCA_TOT_MASS
total mass of all elements
FEM_VEC_COLL_HEAT_CAPACITY
collocation points of heat capacity matrix
FEM_VEC_COLL_MASS
collocation points of mass matrix
FEM_VEC_COLL_MASS_ACOUSTICS
collocation points of acoustic mass matrix
FEM_VEC_COLL_MASS_FLUID_STRUCT
collocation points of fluid structure interaction mass matrix
FEM_VEC_COLL_STIFFNESS
collocation points of stiffness matrix
FEM_VEC_COLL_STIFF_ACOUSTICS
collocation points of acoustic stiffness matrix
FEM_VEC_COLL_STIFF_FLUID_STRUCT
collocation points of fluid structure interaction stiffness matrix
FEM_VEC_COLL_THERMAL_COND
collocation points of thermal conductivity matrix
FEM_VEC_INERTIA_M1
center of mass times total mass of all elements with respect to the origin of the global reference frame
FEM_VEC_LOAD_ACOUSTICS
acoustic load vector
FEM_VEC_LOAD_CONSISTENT
consistent load vector
FEM_VEC_LOAD_FLUID_STRUCT
fluid-structure interaction load vector
FEM_VEC_LOAD_LUMPED
lumped load vector
FEM_VEC_LOAD_THERMAL
thermal load vector
FEM_VEC_PARTICLE_VELOCITY
acoustic particle velocity
FEM_VEC_PARTICLE_VELOCITY_C
complex acoustic particle velocity
FEM_VEC_STRAIN_TOTAL
linear strain tensor
FEM_VEC_STRESS_CAUCH
linear stress tensor
FEM_VEC_SURFACE_NORMAL_VECTOR
surface normal vector at elements
fem_ass_constraint_matrix
Assemble a sparse matrix containing the constraint equations of a single group of surface to node constraints
fem_ass_dof_map
Build a data structure which assigns global degrees of freedom to each node and each element with Lagrange multipliers.
fem_ass_matrix
This function is the core of the finite element toolkit.

Solvers

@fem_fact/eigs_func
Callback function for fem_sol_eigs.
@fem_fact/eigs_post
Converts eigenvectors X, returned from eigs, to the solution U of K * U = lambda^2 * M * U.
@fem_fact/eigs_sym
Return true if the function eigs_func(AFACT, M, X) defines a symmetric problem.
@fem_fact/fem_fact
Create a generic factor object which uses the builtin backslash operator to solve A * X = B via X = AFACT \ B
@fem_fact/mldivide
Solve AFACT * X = B by using the factor object AFACT.
@fem_fact_chol/eigs_func
Callback function for fem_sol_eigs.
@fem_fact_chol/eigs_post
Converts eigenvectors X, returned from eigs, to the solution U of K * U = lambda^2 * M * U.
@fem_fact_chol/eigs_sym
Return true if the function eigs_func(AFACT, M, X) defines a symmetric problem.
@fem_fact_chol/fem_fact_chol
Create a factor object to solve A * X = B by means of Octave's builtin chol function via X = AFACT \ B
@fem_fact_chol/mldivide
Solve AFACT * X = B by using the factor object AFACT.
@fem_fact_lu/eigs_func
Callback function for fem_sol_eigs.
@fem_fact_lu/eigs_post
Converts eigenvectors X, returned from eigs, to the solution U of K * U = lambda^2 * M * U.
@fem_fact_lu/eigs_sym
Return true if the function eigs_func(AFACT, M, X) defines a symmetric problem.
@fem_fact_lu/fem_fact_lu
Create a factor object to solve A * X = B by means of Octave's builtin lu function via X = AFACT \ B
@fem_fact_lu/mldivide
Solve AFACT * X = B by using the factor object AFACT.
@fem_fact_mumps/eigs_func
Callback function for fem_sol_eigs.
@fem_fact_mumps/eigs_post
Converts eigenvectors X, returned from eigs, to the solution U of K * U = lambda^2 * M * U.
@fem_fact_mumps/eigs_sym
Return true if the function eigs_func(AFACT, M, X) defines a symmetric problem.
@fem_fact_mumps/fem_fact_mumps
Create a factor object which uses MUMPS to solve A * X = B by means of X = AFACT \ B
@fem_fact_mumps/mldivide
Solve AFACT * X = B by using the factor object AFACT.
@fem_fact_pastix/eigs_func
Callback function for fem_sol_eigs.
@fem_fact_pastix/eigs_post
Converts eigenvectors X, returned from eigs, to the solution U of K * U = lambda^2 * M * U.
@fem_fact_pastix/eigs_sym
Return true if the function eigs_func(AFACT, M, X) defines a symmetric problem.
@fem_fact_pastix/fem_fact_pastix
Create a factor object which uses PaStiX to solve A * x = b via X = AFACT \ B
@fem_fact_pastix/mldivide
Solve AFACT * X = B by using the factor object AFACT.
@fem_fact_umfpack/eigs_func
Callback function for fem_sol_eigs.
@fem_fact_umfpack/eigs_post
Converts eigenvectors X, returned from eigs, to the solution U of K * U = lambda^2 * M * U.
@fem_fact_umfpack/eigs_sym
Return true if the function eigs_func(AFACT, M, X) defines a symmetric problem.
@fem_fact_umfpack/fem_fact_umfpack
Create a factor object to solve A * X = B by means of Umfpack via X = AFACT \ B
@fem_fact_umfpack/mldivide
Solve AFACT * X = B by using the factor object AFACT.
fem_sol_check_func
Check if the solver is available.
fem_sol_eigs
Solve the general eigenvalue problem K * U = lambda^2 * M * U or K * U = -lambda * M * U.
fem_sol_eigsd
Solve the general eigenvalue problem (lambda^2 * M + lambda * D + K) * U = 0
fem_sol_eigsd_post_proc
Post-processing support for fem_sol_modal_damped and fem_sol_modal_fsi
fem_sol_factor
Build a factor object AFACT for matrix A which can be used to solve a system of linear equations A * X = B by means of the expression X = AFACT \ B.
fem_sol_harmonic_gmres
Solve -OMEGA^2 * M + 1j * OMEGA * D + K = R using a preconditioned gmres solver
fem_sol_harmonic_modal
Compute the harmonic solution based on eigenvalues LAMBDA, normalized mode shapes PHI and modal excitation H
fem_sol_harmonic_modal2
Compute the harmonic solution based on modal damping DGEN, modal stiffness KGEN modal excitation RGEN and mode shapes PHI.
fem_sol_linsolve
Choose an appropriate linear solver and solve K * U = R
fem_sol_matrix_scale
Compute row scaling factors D1 and column scaling factors D2 to improve the condition number of matrix A
fem_sol_modal
Compute undamped natural frequencies and mode shapes.
fem_sol_modal_damped
Compute damped natural frequencies and mode shapes.
fem_sol_modal_fsi
Compute damped natural frequencies and mode shapes.
fem_sol_modes_scale
Scale mode shapes returned from fem_sol_modal_damped for use with fem_sol_harmonic_modal.
fem_sol_modes_scale2
Scale mode shapes returned from fem_sol_modal for use with fem_sol_harmonic_modal2.
fem_sol_real_complex
Allow the solution of a real system of equations with complex right hand sides.
fem_sol_select
Return the name of a solver which can be used to solve a system of linear equations.
fem_sol_static
Solve a linear static problem and return a structure with nodal displacements
fem_sol_static_incr
Not documented
fem_sol_transient_init
Initialize the transient solver
fem_sol_transient_step
Perform a time step

Substructuring

fem_cms_constr_elim
Eliminate algebraic constraint equations from the stiffness matrix and return matrices for a reduced set of equations
fem_cms_constr_mat
Returns a transformation matrix which can be used for the elimination of algebraic constraint equations.
fem_cms_create
Build a reduced order model by using the Craig Bampton approach.
fem_cms_create2
Build a reduced order model by using the Craig Bampton approach.
fem_cms_dof_active
Return a boolean matrix DOF_IN_USE which indicates active degrees of freedom used by elements.
fem_cms_export
Create modal element files for MBDyn.
fem_cms_matrix_trans
Effectively compute TAT = T.' * A * T but more efficient in time and memory for large symmetric sparse matrices A
fem_cms_red_guyan
Build a reduced order model by static condensation.
fem_cms_rigid_body_trans_mat
Build transformation matrix for rigid body motion of a mesh with nodal coordinates XN

Elastohydrodynamic bearings

fem_ehd_pre_comp_mat_export
Print a compliance matrix to a file which can be loaded by MBDyn's module-hydrodynamic_plain_bearing2.
fem_ehd_pre_comp_mat_load_case
Build pressure load cases required for fem_ehd_pre_comp_mat_unstruct.
fem_ehd_pre_comp_mat_load_case2
Build pressure load cases required for fem_ehd_pre_comp_mat_unstruct.
fem_ehd_pre_comp_mat_plot
Create contour plots of a compliance matrix for debugging purposes.
fem_ehd_pre_comp_mat_struct
Compute a compliance matrix for use with MBDyn's module-hydrodynamic_plain_bearing2 for a simple structured mesh
fem_ehd_pre_comp_mat_unstruct
Compute a compliance matrix suitable for MBDyn's module-hydrodynamic_plain_bearing2

Other

fem_get_software_version
Parse the software version of an external pre/post-processor (e.g. gmsh) and return the version number as a matrix.

Package: mboct-fem-pkg