112 INTEGER(INTG),
INTENT(IN) :: specification(:)
113 INTEGER(INTG),
INTENT(OUT) :: err
118 enters(
"Elasticity_EquationsSetSpecificationSet",err,error,*999)
120 IF(
ASSOCIATED(equationsset))
THEN 121 IF(
SIZE(specification,1)<2)
THEN 122 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
125 SELECT CASE(specification(2))
131 localerror=
"The second equations set specification of "//
trim(
numbertovstring(specification(2),
"*",err,error))// &
132 &
" is not valid for an elasticity equations set." 133 CALL flagerror(localerror,err,error,*999)
136 CALL flagerror(
"Equations set is not associated.",err,error,*999)
139 exits(
"Elasticity_EquationsSetSpecificationSet")
141 999
errors(
"Elasticity_EquationsSetSpecificationSet",err,error)
142 exits(
"Elasticity_EquationsSetSpecificationSet")
156 INTEGER(INTG),
INTENT(IN) :: ELEMENT_NUMBER
157 INTEGER(INTG),
INTENT(OUT) :: ERR
162 enters(
"ELASTICITY_FINITE_ELEMENT_CALCULATE",err,error,*999)
164 IF(
ASSOCIATED(equations_set))
THEN 165 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 166 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
167 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 168 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
171 SELECT CASE(equations_set%SPECIFICATION(2))
175 CALL flagerror(
"Not implemented.",err,error,*999)
177 local_error=
"Equations set type "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
178 &
" is not valid for an elasticity equation set class." 179 CALL flagerror(local_error,err,error,*999)
182 CALL flagerror(
"Equations set is not associated",err,error,*999)
185 exits(
"ELASTICITY_FINITE_ELEMENT_CALCULATE")
187 999 errorsexits(
"ELASTICITY_FINITE_ELEMENT_CALCULATE",err,error)
200 INTEGER(INTG),
INTENT(IN) :: ELEMENT_NUMBER
201 INTEGER(INTG),
INTENT(OUT) :: ERR
206 enters(
"ELASTICITY_FINITE_ELEMENT_JACOBIAN_EVALUATE",err,error,*999)
208 IF(
ASSOCIATED(equations_set))
THEN 209 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 210 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
211 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 212 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
215 SELECT CASE(equations_set%SPECIFICATION(2))
217 CALL flagerror(
"Not implemented.",err,error,*999)
221 local_error=
"Equations set type "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
222 &
" is not valid for an elasticity equation set class." 223 CALL flagerror(local_error,err,error,*999)
226 CALL flagerror(
"Equations set is not associated",err,error,*999)
229 exits(
"ELASTICITY_FINITE_ELEMENT_JACOBIAN_EVALUATE")
231 999 errorsexits(
"ELASTICITY_FINITE_ELEMENT_JACOBIAN_EVALUATE",err,error)
244 INTEGER(INTG),
INTENT(IN) :: ELEMENT_NUMBER
245 INTEGER(INTG),
INTENT(OUT) :: ERR
250 enters(
"ELASTICITY_FINITE_ELEMENT_RESIDUAL_EVALUATE",err,error,*999)
252 IF(
ASSOCIATED(equations_set))
THEN 253 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 254 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
255 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 256 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
259 SELECT CASE(equations_set%SPECIFICATION(2))
261 CALL flagerror(
"Not implemented.",err,error,*999)
265 local_error=
"Equations set type "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
266 &
" is not valid for an elasticity equation set class." 267 CALL flagerror(local_error,err,error,*999)
270 CALL flagerror(
"Equations set is not associated",err,error,*999)
273 exits(
"ELASTICITY_FINITE_ELEMENT_RESIDUAL_EVALUATE")
275 999 errorsexits(
"ELASTICITY_FINITE_ELEMENT_RESIDUAL_EVALUATE",err,error)
288 INTEGER(INTG),
INTENT(OUT) :: ERR
293 enters(
"Elasticity_FiniteElementPreResidualEvaluate",err,error,*999)
295 IF(
ASSOCIATED(equations_set))
THEN 296 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 297 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
298 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 299 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
302 SELECT CASE(equations_set%SPECIFICATION(2))
304 CALL flagerror(
"Cannot pre-evaluate the residual for a linear equations set.",err,error,*999)
308 local_error=
"Equations set type "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
309 &
" is not valid for an elasticity equation set class." 310 CALL flagerror(local_error,err,error,*999)
313 CALL flagerror(
"Equations set is not associated",err,error,*999)
316 exits(
"Elasticity_FiniteElementPreResidualEvaluate")
318 999 errorsexits(
"Elasticity_FiniteElementPreResidualEvaluate",err,error)
332 INTEGER(INTG),
INTENT(OUT) :: ERR
337 enters(
"Elasticity_FiniteElementPostResidualEvaluate",err,error,*999)
339 IF(
ASSOCIATED(equations_set))
THEN 340 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 341 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
342 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 343 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
346 SELECT CASE(equations_set%SPECIFICATION(2))
348 CALL flagerror(
"Cannot post-evaluate the residual for a linear equations set.",err,error,*999)
352 local_error=
"Equations set type "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
353 &
" is not valid for an elasticity equation set class." 354 CALL flagerror(local_error,err,error,*999)
357 CALL flagerror(
"Equations set is not associated",err,error,*999)
360 exits(
"Elasticity_FiniteElementPostResidualEvaluate")
362 999
errors(
"Elasticity_FiniteElementPostResidualEvaluate",err,error)
363 exits(
"Elasticity_FiniteElementPostResidualEvaluate")
378 INTEGER(INTG),
INTENT(OUT) :: ERR
383 enters(
"ELASTICITY_EQUATIONS_SET_SETUP",err,error,*999)
385 IF(
ASSOCIATED(equations_set))
THEN 386 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 387 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
388 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 389 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
392 SELECT CASE(equations_set%SPECIFICATION(2))
398 local_error=
"Equation set type "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
399 &
" is not valid for an elasticity equations set class." 400 CALL flagerror(local_error,err,error,*999)
403 CALL flagerror(
"Equations set is not associated.",err,error,*999)
406 exits(
"ELASTICITY_EQUATIONS_SET_SETUP")
408 999 errorsexits(
"ELASTICITY_EQUATIONS_SET_SETUP",err,error)
421 INTEGER(INTG),
INTENT(IN) :: SOLUTION_METHOD
422 INTEGER(INTG),
INTENT(OUT) :: ERR
427 enters(
"Elasticity_EquationsSetSolutionMethodSet",err,error,*999)
429 IF(
ASSOCIATED(equations_set))
THEN 430 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 431 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
432 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 433 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
436 SELECT CASE(equations_set%SPECIFICATION(2))
442 local_error=
"Equations set equation type of "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
443 &
" is not valid for an elasticity equations set class." 444 CALL flagerror(local_error,err,error,*999)
447 CALL flagerror(
"Equations set is not associated",err,error,*999)
450 exits(
"Elasticity_EquationsSetSolutionMethodSet")
452 999 errorsexits(
"Elasticity_EquationsSetSolutionMethodSet",err,error)
466 INTEGER(INTG),
INTENT(IN) :: derivedType
467 INTEGER(INTG),
INTENT(OUT) :: err
470 enters(
"Elasticity_EquationsSetDerivedVariableCalculate",err,error,*999)
472 IF(
ASSOCIATED(equationsset))
THEN 473 IF(.NOT.equationsset%EQUATIONS_SET_FINISHED)
THEN 474 CALL flagerror(
"Equations set has not been finished.",err,error,*999)
476 SELECT CASE(equationsset%specification(2))
478 CALL flagerror(
"Not implemented.",err,error,*999)
483 CALL flagerror(
"The second equations set specification of "// &
485 &
" is not valid for an elasticity equations set.",err,error,*999)
489 CALL flagerror(
"Equations set is not associated.",err,error,*999)
492 exits(
"Elasticity_EquationsSetDerivedVariableCalculate")
494 999
errors(
"Elasticity_EquationsSetDerivedVariableCalculate",err,error)
495 exits(
"Elasticity_EquationsSetDerivedVariableCalculate")
509 INTEGER(INTG),
INTENT(IN) :: tensorEvaluateType
510 INTEGER(INTG),
INTENT(IN) :: userElementNumber
511 REAL(DP),
INTENT(IN) :: xi(:)
512 REAL(DP),
INTENT(OUT) :: values(3,3)
513 INTEGER(INTG),
INTENT(OUT) :: err
516 enters(
"Elasticity_TensorInterpolateXi",err,error,*999)
518 IF(.NOT.
ASSOCIATED(equationsset))
THEN 519 CALL flagerror(
"Equations set is not associated.",err,error,*999)
522 SELECT CASE(equationsset%specification(2))
524 CALL flagerror(
"Not implemented.",err,error,*999)
528 CALL flagerror(
"The second equations set specification of "// &
530 &
" is not valid for an elasticity equation set.",err,error,*999)
533 exits(
"Elasticity_TensorInterpolateXi")
535 999 errorsexits(
"Elasticity_TensorInterpolateXi",err,error)
549 INTEGER(INTG),
INTENT(OUT) :: ERR
554 enters(
"Elasticity_BoundaryConditionsAnalyticCalculate",err,error,*999)
556 IF(
ASSOCIATED(equations_set))
THEN 557 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 558 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
559 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 560 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
563 SELECT CASE(equations_set%SPECIFICATION(2))
569 local_error=
"Equations set equation type of "//
trim(
number_to_vstring(equations_set%SPECIFICATION(2),
"*",err,error))// &
570 &
" is not valid for an elasticity equations set class." 571 CALL flagerror(local_error,err,error,*999)
574 CALL flagerror(
"Equations set is not associated",err,error,*999)
577 exits(
"Elasticity_BoundaryConditionsAnalyticCalculate")
579 999
errors(
"Elasticity_BoundaryConditionsAnalyticCalculate",err,error)
580 exits(
"Elasticity_BoundaryConditionsAnalyticCalculate")
594 INTEGER(INTG),
INTENT(IN) :: problemSpecification(:)
595 INTEGER(INTG),
INTENT(OUT) :: err
599 INTEGER(INTG) :: problemType
601 CALL enters(
"Elasticity_ProblemSpecificationSet",err,error,*999)
603 IF(
ASSOCIATED(problem))
THEN 604 IF(
SIZE(problemspecification,1)>=2)
THEN 605 problemtype=problemspecification(2)
606 SELECT CASE(problemtype)
612 CALL flag_error(
"Not implemented yet.",err,error,*999)
616 localerror=
"The second problem specification of "//
trim(
numbertovstring(problemtype,
"*",err,error))// &
617 &
" is not valid for an elasticity problem." 618 CALL flagerror(localerror,err,error,*999)
621 CALL flagerror(
"Elasticity problem specification requires a type.",err,error,*999)
624 CALL flagerror(
"Problem is not associated.",err,error,*999)
627 CALL exits(
"Elasticity_ProblemSpecificationSet")
629 999
CALL errors(
"Elasticity_ProblemSpecificationSet",err,error)
630 CALL exits(
"Elasticity_ProblemSpecificationSet")
645 INTEGER(INTG),
INTENT(OUT) :: ERR
650 enters(
"ELASTICITY_PROBLEM_SETUP",err,error,*999)
652 IF(
ASSOCIATED(problem))
THEN 653 IF(.NOT.
ALLOCATED(problem%SPECIFICATION))
THEN 654 CALL flagerror(
"Problem specification is not allocated.",err,error,*999)
655 ELSE IF(
SIZE(problem%SPECIFICATION,1)<2)
THEN 656 CALL flagerror(
"Problem specification must have at least two entries for an elasticity problem.",err,error,*999)
658 SELECT CASE(problem%SPECIFICATION(2))
664 CALL flagerror(
"Not implemented yet.",err,error,*999)
669 &
" is not valid for an elasticity problem class." 670 CALL flagerror(local_error,err,error,*999)
673 CALL flagerror(
"Problem is not associated.",err,error,*999)
676 exits(
"ELASTICITY_PROBLEM_SETUP")
678 999 errorsexits(
"ELASTICITY_PROBLEM_SETUP",err,error)
692 INTEGER(INTG),
INTENT(OUT) :: ERR
697 enters(
"ELASTICITY_PRE_SOLVE",err,error,*999)
699 IF(
ASSOCIATED(control_loop%PROBLEM))
THEN 700 IF(.NOT.
ALLOCATED(control_loop%PROBLEM%SPECIFICATION))
THEN 701 CALL flagerror(
"Problem specification is not allocated.",err,error,*999)
702 ELSE IF(
SIZE(control_loop%PROBLEM%SPECIFICATION,1)<2)
THEN 703 CALL flagerror(
"Problem specification must have at least two entries for an elasticity problem.",err,error,*999)
705 SELECT CASE(control_loop%PROBLEM%SPECIFICATION(2))
715 local_error=
"Problem type "//
trim(
number_to_vstring(control_loop%PROBLEM%SPECIFICATION(2),
"*",err,error))// &
716 &
" is not valid for an elasticity problem class." 717 CALL flagerror(local_error,err,error,*999)
720 CALL flagerror(
"Problem is not associated.",err,error,*999)
723 exits(
"ELASTICITY_PRE_SOLVE")
725 999 errorsexits(
"ELASTICITY_PRE_SOLVE",err,error)
740 INTEGER(INTG),
INTENT(OUT) :: ERR
745 enters(
"ELASTICITY_POST_SOLVE",err,error,*999)
747 IF(
ASSOCIATED(control_loop%PROBLEM))
THEN 748 IF(.NOT.
ALLOCATED(control_loop%PROBLEM%SPECIFICATION))
THEN 749 CALL flagerror(
"Problem specification is not allocated.",err,error,*999)
750 ELSE IF(
SIZE(control_loop%PROBLEM%SPECIFICATION,1)<2)
THEN 751 CALL flagerror(
"Problem specification must have at least two entries for an elasticity problem.",err,error,*999)
753 SELECT CASE(control_loop%PROBLEM%SPECIFICATION(2))
763 local_error=
"Problem type "//
trim(
number_to_vstring(control_loop%PROBLEM%SPECIFICATION(2),
"*",err,error))// &
764 &
" is not valid for an elasticity problem class." 765 CALL flagerror(local_error,err,error,*999)
768 CALL flagerror(
"Problem is not associated.",err,error,*999)
771 exits(
"ELASTICITY_POST_SOLVE")
773 999 errorsexits(
"ELASTICITY_POST_SOLVE",err,error)
786 INTEGER(INTG),
INTENT(OUT) :: ERR
790 REAL(DP) :: CURRENT_TIME,TIME_INCREMENT
792 enters(
"ELASTICITY_CONTROL_LOOP_PRE_LOOP",err,error,*999)
794 IF(
ASSOCIATED(control_loop%PROBLEM))
THEN 795 SELECT CASE(control_loop%LOOP_TYPE)
806 IF(.NOT.
ALLOCATED(control_loop%PROBLEM%SPECIFICATION))
THEN 807 CALL flagerror(
"Problem specification is not allocated.",err,error,*999)
808 ELSE IF(
SIZE(control_loop%PROBLEM%SPECIFICATION,1)<2)
THEN 809 CALL flagerror(
"Problem specification must have at least two entries for an elasticity problem.",err,error,*999)
811 SELECT CASE(control_loop%PROBLEM%SPECIFICATION(2))
817 local_error=
"Problem type "//
trim(
number_to_vstring(control_loop%PROBLEM%SPECIFICATION(2),
"*",err,error))// &
818 &
" is not valid for an elasticity problem class." 819 CALL flagerror(local_error,err,error,*999)
825 CALL flagerror(
"Problem is not associated.",err,error,*999)
828 exits(
"ELASTICITY_CONTROL_LOOP_PRE_LOOP")
830 999 errorsexits(
"ELASTICITY_CONTROL_LOOP_PRE_LOOP",err,error)
843 INTEGER(INTG),
INTENT(OUT) :: ERR
849 enters(
"Elasticity_ControlLoopPostLoop",err,error,*999)
851 IF(
ASSOCIATED(controlloop))
THEN 852 problem=>controlloop%PROBLEM
853 IF(
ASSOCIATED(problem))
THEN 854 SELECT CASE(controlloop%LOOP_TYPE)
856 IF(.NOT.
ALLOCATED(problem%specification))
THEN 857 CALL flagerror(
"Problem specification is not allocated.",err,error,*999)
858 ELSE IF(
SIZE(problem%specification,1)<2)
THEN 859 CALL flagerror(
"Problem specification must have at least two entries for an elasticity problem.",err,error,*999)
861 SELECT CASE(problem%specification(2))
868 &
" is not valid for a elasticity problem class." 869 CALL flagerror(localerror,err,error,*999)
875 CALL flagerror(
"Problem is not associated.",err,error,*999)
878 CALL flagerror(
"Control loop is not associated.",err,error,*999)
881 exits(
"Elasticity_ControlLoopPostLoop")
883 999 errorsexits(
"Elasticity_ControlLoopPostLoop",err,error)
896 INTEGER(INTG),
INTENT(IN) :: ITERATION_NUMBER
897 INTEGER(INTG),
INTENT(IN) :: MAXIMUM_NUMBER_OF_ITERATIONS
898 INTEGER(INTG),
INTENT(OUT) :: ERR
901 enters(
"ELASTICITY_LOAD_INCREMENT_APPLY",err,error,*999)
903 IF(
ASSOCIATED(equations_set))
THEN 904 IF(.NOT.
ALLOCATED(equations_set%SPECIFICATION))
THEN 905 CALL flagerror(
"Equations set specification is not allocated.",err,error,*999)
906 ELSE IF(
SIZE(equations_set%SPECIFICATION,1)<2)
THEN 907 CALL flagerror(
"Equations set specification must have at least two entries for an elasticity class equations set.", &
910 SELECT CASE(equations_set%SPECIFICATION(2))
917 CALL flagerror(
"Equations set is not associated.",err,error,*999)
920 exits(
"ELASTICITY_LOAD_INCREMENT_APPLY")
922 999 errorsexits(
"ELASTICITY_LOAD_INCREMENT_APPLY",err,error)
Contains information on the boundary conditions for the solver equations.
subroutine, public enters(NAME, ERR, ERROR,)
Records the entry into the named procedure and initialises the error code.
subroutine, public 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. ...
subroutine, public finite_elasticity_post_solve(CONTROL_LOOP, SOLVER, ERR, ERROR,)
Sets up the finite elasticity problem post solve.
integer(intg), parameter problem_control_time_loop_type
Time control loop.
subroutine, public elasticity_finiteelementpostresidualevaluate(EQUATIONS_SET, ERR, ERROR,)
Post-evaluates the residual for an elasticity class finite element equation set.
This module handles all problem wide constants.
subroutine, public elasticity_problemspecificationset(problem, problemSpecification, err, error,)
Sets/changes the problem type and subtype for an elasticity problem class.
Converts a number to its equivalent varying string representation.
subroutine, public elasticity_equations_set_setup(EQUATIONS_SET, EQUATIONS_SET_SETUP, ERR, ERROR,)
Sets up the equations set for an elasticity equations set class.
subroutine, public linear_elasticity_finite_element_calculate(EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
Calculates the element stiffness matrices and RHS for a linear elasticity finite element equations se...
subroutine, public elasticity_controllooppostloop(controlLoop, err, error,)
Executes after each loop of a control loop.
Contains information on the type of solver to be used.
integer(intg), parameter problem_linear_elasticity_contact_type
subroutine, public elasticity_tensorinterpolatexi(equationsSet, tensorEvaluateType, userElementNumber, xi, values, err, error,)
Evaluate a tensor at a given element xi location.
This module handles all elasticity class routines.
Contains information on an equations set.
subroutine, public finiteelasticity_equationssetsolutionmethodset(EQUATIONS_SET, SOLUTION_METHOD, ERR, ERROR,)
Sets/changes the solution method for a finite elasticity equation type of an elasticity equations set...
subroutine, public finiteelasticity_tensorinterpolatexi(equationsSet, tensorEvaluateType, userElementNumber, xi, values, err, error,)
Evaluates a tensor at a given element xi location.
This module contains all string manipulation and transformation routines.
integer(intg), parameter equations_set_linear_elasticity_type
subroutine, public linearelasticity_problemspecificationset(problem, problemSpecification, err, error,)
Sets the problem specification for a linear elasticity type problem.
subroutine, public linear_elasticity_equations_set_setup(EQUATIONS_SET, EQUATIONS_SET_SETUP, ERR, ERROR,)
Sets up the Linear elasticity equation type of an elasticity equations set class. ...
subroutine, public control_loop_current_times_get(CONTROL_LOOP, CURRENT_TIME, TIME_INCREMENT, ERR, ERROR,)
Gets the current time parameters for a time control loop.
subroutine, public linearelasticity_equationssetspecificationset(equationsSet, specification, err, error,)
Sets the equation specification for a linear elasticity equation type of an elasticity equations set ...
subroutine, public finiteelasticity_boundaryconditionsanalyticcalculate(EQUATIONS_SET, BOUNDARY_CONDITIONS, ERR, ERROR,)
Calculates the analytic solution and sets the boundary conditions for an analytic problem...
Contains information on a control loop.
This module provides an iso_varying_string module, conformant to the API specified in ISO/IEC 1539-2:...
subroutine, public finiteelasticity_finiteelementpostresidualevaluate(EQUATIONS_SET, ERR, ERROR,)
Post-evaluates the residual for a finite elasticity finite element equations set. ...
subroutine, public elasticity_post_solve(CONTROL_LOOP, SOLVER, ERR, ERROR,)
Sets up the output type for an elasticity problem class.
subroutine, public elasticity_finite_element_jacobian_evaluate(EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
Evaluates the Jacobian for the given element number for an elasticity class finite element equation s...
integer(intg), parameter problem_finite_elasticity_type
subroutine, public elasticity_boundaryconditionsanalyticcalculate(EQUATIONS_SET, BOUNDARY_CONDITIONS, ERR, ERROR,)
Sets the analytic boundary conditions for an elasticity equation set class.
subroutine, public finiteelasticity_contactproblemspecificationset(problem, problemSpecification, err, error,)
Sets/changes the problem subtype for a finite elasticity contact type .
subroutine, public exits(NAME)
Records the exit out of the named procedure.
subroutine, public elasticity_pre_solve(CONTROL_LOOP, SOLVER, ERR, ERROR,)
Performs pre-solve actions for an elasticity problem class.
subroutine, public elasticity_finite_element_residual_evaluate(EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
Evaluates the residual and rhs vector for the given element number for an elasticity class finite ele...
This module contains all type definitions in order to avoid cyclic module references.
This module contains all the low-level base routines e.g., all debug, control, and low-level communic...
integer(intg), parameter, public general_output_type
General output type.
integer(intg), parameter problem_finite_elasticity_contact_type
subroutine, public finiteelasticity_finiteelementpreresidualevaluate(EQUATIONS_SET, ERR, ERROR,)
Pre-evaluates the residual for a finite elasticity finite element equations set.
subroutine, public elasticity_equationssetsolutionmethodset(EQUATIONS_SET, SOLUTION_METHOD, ERR, ERROR,)
Sets/changes the solution method for an elasticity equation set class.
subroutine, public elasticity_control_loop_pre_loop(CONTROL_LOOP, ERR, ERROR,)
Executes before each loop of a control loop, ie before each time step for a time loop.
subroutine, public elasticity_equationssetspecificationset(equationsSet, specification, err, error,)
Sets the problem specification for an elasticity equation set class.
subroutine, public finiteelasticity_finiteelementjacobianevaluate(EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
Evaluates the element Jacobian matrix for the given element number for a finite elasticity class fini...
subroutine, public elasticity_finite_element_calculate(EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
Calculates the element stiffness matries and rhs vector for the given element number for an elasticit...
subroutine, public finiteelasticityequationsset_derivedvariablecalculate(equationsSet, derivedType, err, error,)
Calculated an output field for a finite elasticity equations set.
Contains information for a problem.
logical, save, public diagnostics1
.TRUE. if level 1 diagnostic output is active in the current routine
subroutine, public finiteelasticity_finiteelementresidualevaluate(EQUATIONS_SET, ELEMENT_NUMBER, ERR, ERROR,)
Evaluates the residual and RHS vectors for a finite elasticity finite element equations set...
integer(intg), parameter equations_set_finite_elasticity_type
subroutine, public elasticity_load_increment_apply(EQUATIONS_SET, ITERATION_NUMBER, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
Apply load increments for equations sets.
subroutine, public elasticity_finiteelementpreresidualevaluate(EQUATIONS_SET, ERR, ERROR,)
Pre-evaluates the residual for an elasticity class finite element equation set.
integer(intg), parameter, public diagnostic_output_type
Diagnostic output type.
subroutine, public linearelasticity_equationssetsolutionmethodset(EQUATIONS_SET, SOLUTION_METHOD, ERR, ERROR,)
Sets/changes the solution method for a linear elasticity equation type of an elasticity equations set...
subroutine, public linearelasticity_boundaryconditionsanalyticcalculate(EQUATIONS_SET, BOUNDARY_CONDITIONS, ERR, ERROR,)
Calculates the analytic solution and sets the boundary conditions for an analytic problem...
subroutine, public finite_elasticity_pre_solve(CONTROL_LOOP, SOLVER, ERR, ERROR,)
Sets up the finite elasticity problem pre-solve.
subroutine, public finiteelasticity_equationssetspecificationset(equationsSet, specification, err, error,)
Sets the equation specification for a finite elasticity equation type of an elasticity equations set ...
integer(intg), parameter problem_control_load_increment_loop_type
Load increment control loop.
Contains information on the setup information for an equations set.
This module handles all control loop routines.
subroutine, public finiteelasticity_controlloadincrementlooppostloop(controlLoop, err, error,)
Executes after each loop of a control loop for finite elasticity problems, i.e., after each load incr...
subroutine, public errors(NAME, ERR, ERROR)
Records the exiting error of the subroutine.
This module defines all constants shared across equations set routines.
This module handles all linear elasticity routines.
integer(intg), parameter problem_linear_elasticity_type
Flags an error condition.
subroutine, public finite_elasticity_problem_setup(PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
Sets up the finite elasticity problem.
subroutine, public linear_elasticity_problem_setup(PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
Sets up the linear elasticity problem.
Flags an error condition.
subroutine, public finiteelasticity_controltimelooppreloop(CONTROL_LOOP, ERR, ERROR,)
Runs before each time loop for a finite elasticity problem.
subroutine, public elasticity_equationssetderivedvariablecalculate(equationsSet, derivedType, err, error,)
Calculates a derived value for the elasticity equations set.
This module handles all finite elasticity routines.
This module contains all kind definitions.
subroutine, public finite_elasticity_load_increment_apply(EQUATIONS_SET, ITERATION_NUMBER, MAXIMUM_NUMBER_OF_ITERATIONS, ERR, ERROR,)
Apply load increments to the gravity vector.
subroutine, public finiteelasticity_problemspecificationset(problem, problemSpecification, err, error,)
Sets the problem specification for a finite elasticity type problem.
subroutine, public finiteelasticity_contactproblemsetup(PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
Sets up the finite elasticity problem.
subroutine, public elasticity_problem_setup(PROBLEM, PROBLEM_SETUP, ERR, ERROR,)
Sets up the problem for an elasticity problem class.