OpenCMISS-Iron Internal API Documentation
finite_elasticity_routines.f90 File Reference

This module handles all finite elasticity routines. More...

Go to the source code of this file.

Modules

module  finite_elasticity_routines
 This module handles all finite elasticity routines.
 

Functions/Subroutines

subroutine, public finite_elasticity_routines::finiteelasticity_boundaryconditionsanalyticcalculate (EQUATIONS_SET, BOUNDARY_CONDITIONS, ERR, ERROR,)
 Calculates the analytic solution and sets the boundary conditions for an analytic problem. More...
 
subroutine finite_elasticity_routines::finiteelasticity_cylinderanalyticcalculate (X, ANALYTIC_USER_PARAMS, DEFORMED_X, P, ERR, ERROR,)
 Calcualates the analytic solution (deformed coordinates and hydrostatic pressure) for cylinder inflation+extension+torsion problem. More...
 
real(dp) function finite_elasticity_routines::finite_elasticity_cylinder_analytic_func_evaluate (MU1, PIN, POUT, LAMBDA, TSI, A1, A2, C1, C2)
 Evaluates the residual function required to solve for MU1, in the cylinder analytic example. More...
 
subroutine finite_elasticity_routines::finite_elasticity_gauss_elasticity_tensor (EQUATIONS_SET, DEPENDENT_INTERPOLATED_POINT, MATERIALS_INTERPOLATED_POINT, ELASTICITY_TENSOR, HYDRO_ELASTICITY_VOIGT, STRESS_TENSOR, DZDNU, Jznu, ELEMENT_NUMBER, GAUSS_POINT_NUMBER, ERR, ERROR,)
 Evaluates the spatial elasticity and stress tensor in Voigt form at a given Gauss point. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_finiteelementjacobianevaluate (EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
 Evaluates the element Jacobian matrix for the given element number for a finite elasticity class finite element equation set. More...
 
subroutine finite_elasticity_routines::finite_elasticity_push_elasticity_tensor (ELASTICITY_TENSOR, DZDNU, Jznu, ERR, ERROR,)
 Push-forward the rank 4 elasticity tensor. More...
 
subroutine finite_elasticity_routines::finite_elasticity_push_stress_tensor (STRESS_TENSOR, DZDNU, Jznu, ERR, ERROR,)
 Push-forward the rank 2 Piola stress tensor. More...
 
subroutine finite_elasticity_routines::finiteelasticity_gaussgrowthtensor (equationsSet, numberOfDimensions, gaussPointNumber, elementNumber, dependentField, deformationGradientTensor, growthTensor, elasticDeformationGradientTensor, Jg, Je, err, error,)
 Evaluates the growth tensor at a given Gauss point and calculates the elastic part of the deformation gradient tensor. More...
 
subroutine finite_elasticity_routines::finiteelasticity_straintensor (deformationGradientTensor, rightCauchyDeformationTensor, fingerDeformationTensor, Jacobian, greenStrainTensor, err, error,)
 Evaluates the strain tensor given the deformation gradient tensor. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_finiteelementresidualevaluate (EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
 Evaluates the residual and RHS vectors for a finite elasticity finite element equations set. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_finiteelementpreresidualevaluate (EQUATIONS_SET, ERR, ERROR,)
 Pre-evaluates the residual for a finite elasticity finite element equations set. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_finiteelementpostresidualevaluate (EQUATIONS_SET, ERR, ERROR,)
 Post-evaluates the residual for a finite elasticity finite element equations set. More...
 
subroutine, public finite_elasticity_routines::finiteelasticityequationsset_derivedvariablecalculate (equationsSet, derivedType, err, error,)
 Calculated an output field for a finite elasticity equations set. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_straincalculate (equationsSet, strainField, strainFieldVariableType, err, error,)
 Calculates the strain field for a finite elasticity finite element equations set. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_tensorinterpolatexi (equationsSet, tensorEvaluateType, userElementNumber, xi, values, err, error,)
 Evaluates a tensor at a given element xi location. More...
 
subroutine finite_elasticity_routines::finiteelasticity_surfacepressurejacobianevaluate (EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
 
subroutine finite_elasticity_routines::finiteelasticity_surfacepressureresidualevaluate (EQUATIONS_SET, ELEMENT_NUMBER, var1, var2, ERR, ERROR,)
 
subroutine, public finite_elasticity_routines::finiteelasticity_gaussdeformationgradienttensor (dependentInterpPointMetrics, geometricInterpPointMetrics, fibreInterpolatedPoint, dZdNu, err, error,)
 Evaluates the deformation gradient tensor at a given Gauss point. More...
 
subroutine finite_elasticity_routines::finite_elasticity_gauss_cauchy_tensor (EQUATIONS_SET, DEPENDENT_INTERPOLATED_POINT, MATERIALS_INTERPOLATED_POINT, DARCY_DEPENDENT_INTERPOLATED_POINT, INDEPENDENT_INTERPOLATED_POINT, CAUCHY_TENSOR, Jznu, DZDNU, ELEMENT_NUMBER, GAUSS_POINT_NUMBER, ERR, ERROR,)
 Evaluates the Cauchy stress tensor at a given Gauss point. More...
 
subroutine finite_elasticity_routines::finiteelasticity_gaussgrowthtensor_newer123 (equationsSet, numberOfDimensions, gaussPointNumber, elementNumber, dependentField, deformationGradientTensor, growthTensor, elasticDeformationGradientTensor, Jg, Je, err, error,)
 Evaluates the growth tensor at a given Gauss point and calculates the elastic part of the deformation gradient tensor. More...
 
subroutine finite_elasticity_routines::finiteelasticity_straintensor_newer123 (deformationGradientTensor, rightCauchyDeformationTensor, fingerDeformationTensor, Jacobian, greenStrainTensor, err, error,)
 Evaluates the strain tensor given the deformation gradient tensor. More...
 
subroutine finite_elasticity_routines::finite_elasticity_gauss_stress_tensor (EQUATIONS_SET, DEPENDENT_INTERPOLATED_POINT, MATERIALS_INTERPOLATED_POINT, STRESS_TENSOR, DZDNU, Jznu, ELEMENT_NUMBER, GAUSS_POINT_NUMBER, ERR, ERROR,)
 Evaluates the Cauchy stress tensor at a given Gauss point. More...
 
subroutine finite_elasticity_routines::finiteelasticity_piolaaddactivecontraction (INDEPENDENT_FIELD, MATERIALS_FIELD, PIOLA_FF, E_FF, ELEMENT_NUMBER, GAUSS_POINT_NUMBER, ERR, ERROR,)
 
subroutine finite_elasticity_routines::finite_elasticity_fmm (TIME, DT, PREV_LAMBDA, CURR_LAMBDA, Q123, ISO_TA, TA)
 
subroutine finite_elasticity_routines::finite_elasticity_gauss_dfdz (INTERPOLATED_POINT, ELEMENT_NUMBER, GAUSS_POINT_NUMBER, NUMBER_OF_DIMENSIONS, NUMBER_OF_XI, DFDZ, ERR, ERROR,)
 Evaluates df/dz (derivative of interpolation function wrt deformed coord) matrix at a given Gauss point. More...
 
subroutine, public finite_elasticity_routines::finite_elasticity_equations_set_setup (EQUATIONS_SET, EQUATIONS_SET_SETUP, ERR, ERROR,)
 Sets up the finite elasticity equation type of an elasticity equations set class. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_equationssetsolutionmethodset (EQUATIONS_SET, SOLUTION_METHOD, ERR, ERROR,)
 Sets/changes the solution method for a finite elasticity equation type of an elasticity equations set class. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_equationssetspecificationset (equationsSet, specification, err, error,)
 Sets the equation specification for a finite elasticity equation type of an elasticity equations set class. More...
 
subroutine, public finite_elasticity_routines::finite_elasticity_problem_setup (PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
 Sets up the finite elasticity problem. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_contactproblemsetup (PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
 Sets up the finite elasticity problem. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_problemspecificationset (problem, problemSpecification, err, error,)
 Sets the problem specification for a finite elasticity type problem. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_contactproblemspecificationset (problem, problemSpecification, err, error,)
 Sets/changes the problem subtype for a finite elasticity contact type . More...
 
subroutine, public finite_elasticity_routines::finite_elasticity_post_solve (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Sets up the finite elasticity problem post solve. More...
 
subroutine, public finite_elasticity_routines::finite_elasticity_post_solve_output_data (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Sets up the finite elasticity problem post solve output data. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_controltimelooppreloop (CONTROL_LOOP, ERR, ERROR,)
 Runs before each time loop for a finite elasticity problem. More...
 
subroutine, public finite_elasticity_routines::finiteelasticity_controlloadincrementlooppostloop (controlLoop, err, error,)
 Executes after each loop of a control loop for finite elasticity problems, i.e., after each load increment in a load increment loop. More...
 
subroutine, public finite_elasticity_routines::finite_elasticity_pre_solve (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Sets up the finite elasticity problem pre-solve. More...
 
subroutine finite_elasticity_routines::finite_elasticity_evaluate_evolution_law (SOLVER, ERR, ERROR,)
 Evaluates the evolution law of a multiscale active strain muscle model. More...
 
subroutine finite_elasticity_routines::finiteelasticity_presolvegetsoliddisplacement (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Read in the displacement field for a PGM elasticity problem. More...
 
subroutine finite_elasticity_routines::finiteelasticity_presolveupdateboundaryconditions (CONTROL_LOOP, SOLVER, ERR, ERROR,)
 Update boundary conditions for finite elasticity pre solve. More...
 
subroutine, public finite_elasticity_routines::evaluate_chapelle_function (Jznu, ffact, dfdJfact, ERR, ERROR,)
 Evaluates the functions f(J) and f\'(J); Eq.(21) in Chapelle, Gerbeau, Sainte-Marie, Vignon-Clementel, Computational Mechanics (2010) More...
 
subroutine finite_elasticity_routines::evaluate_chapelle_piola_tensor_addition (AZL, AZU, DARCY_MASS_INCREASE, PIOLA_TENSOR_ADDITION, ERR, ERROR,)
 Evaluates the 2nd Piola-Kirchhoff stress tensor; Eq.(13) in Chapelle, Gerbeau, Sainte-Marie, Vignon-Clementel, Computational Mechanics (2010) More...
 
subroutine, public finite_elasticity_routines::get_darcy_finite_elasticity_parameters (DARCY_RHO_0_F, Mfact, bfact, p0fact, ERR, ERROR,)
 Sets some data for the coupled Darcy / finite-elasticity model. More...
 
subroutine, public finite_elasticity_routines::finite_elasticity_load_increment_apply (EQUATIONS_SET, ITERATION_NUMBER, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
 Apply load increments to the gravity vector. More...
 

Variables

integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_pin_idx =1
 Inner pressure parameter index. More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_pout_idx =2
 Outer pressure parameter index. More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_lambda_idx =3
 Lambda parameter index. More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_tsi_idx =4
 Tsi parameter index. More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_rin_idx =5
 Inner radius parameter index. More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_rout_idx =6
 Outer radius parameter index. More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_c1_idx =7
 c1 parameter index More...
 
integer(intg), parameter, public finite_elasticity_routines::finite_elasticity_analytic_cylinder_param_c2_idx =8
 c2 parameter index More...
 

Detailed Description

This module handles all finite elasticity routines.

Author
Chris Bradley

LICENSE

Version: MPL 1.1/GPL 2.0/LGPL 2.1

The contents of this file are subject to the Mozilla Public License Version 1.1 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.mozilla.org/MPL/

Software distributed under the License is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for the specific language governing rights and limitations under the License.

The Original Code is OpenCMISS

The Initial Developer of the Original Code is University of Auckland, Auckland, New Zealand, the University of Oxford, Oxford, United Kingdom and King's College, London, United Kingdom. Portions created by the University of Auckland, the University of Oxford and King's College, London are Copyright (C) 2007-2010 by the University of Auckland, the University of Oxford and King's College, London. All Rights Reserved.

Contributor(s): Kumar Mithraratne, Jack Lee, Alice Hung, Sander Arens

Alternatively, the contents of this file may be used under the terms of either the GNU General Public License Version 2 or later (the "GPL"), or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), in which case the provisions of the GPL or the LGPL are applicable instead of those above. If you wish to allow use of your version of this file only under the terms of either the GPL or the LGPL, and not to allow others to use your version of this file under the terms of the MPL, indicate your decision by deleting the provisions above and replace them with the notice and other provisions required by the GPL or the LGPL. If you do not delete the provisions above, a recipient may use your version of this file under the terms of any one of the MPL, the GPL or the LGPL.

Definition in file finite_elasticity_routines.f90.