Rocstar  1.0
Rocstar multiphysics simulation application
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
CauchyStressPrinc.f90
Go to the documentation of this file.
1 !*********************************************************************
2 !* Illinois Open Source License *
3 !* *
4 !* University of Illinois/NCSA *
5 !* Open Source License *
6 !* *
7 !* Copyright@2008, University of Illinois. All rights reserved. *
8 !* *
9 !* Developed by: *
10 !* *
11 !* Center for Simulation of Advanced Rockets *
12 !* *
13 !* University of Illinois *
14 !* *
15 !* www.csar.uiuc.edu *
16 !* *
17 !* Permission is hereby granted, free of charge, to any person *
18 !* obtaining a copy of this software and associated documentation *
19 !* files (the "Software"), to deal with the Software without *
20 !* restriction, including without limitation the rights to use, *
21 !* copy, modify, merge, publish, distribute, sublicense, and/or *
22 !* sell copies of the Software, and to permit persons to whom the *
23 !* Software is furnished to do so, subject to the following *
24 !* conditions: *
25 !* *
26 !* *
27 !* @ Redistributions of source code must retain the above copyright *
28 !* notice, this list of conditions and the following disclaimers. *
29 !* *
30 !* @ Redistributions in binary form must reproduce the above *
31 !* copyright notice, this list of conditions and the following *
32 !* disclaimers in the documentation and/or other materials *
33 !* provided with the distribution. *
34 !* *
35 !* @ Neither the names of the Center for Simulation of Advanced *
36 !* Rockets, the University of Illinois, nor the names of its *
37 !* contributors may be used to endorse or promote products derived *
38 !* from this Software without specific prior written permission. *
39 !* *
40 !* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, *
41 !* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES *
42 !* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND *
43 !* NONINFRINGEMENT. IN NO EVENT SHALL THE CONTRIBUTORS OR *
44 !* COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER *
45 !* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, *
46 !* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE *
47 !* USE OR OTHER DEALINGS WITH THE SOFTWARE. *
48 !*********************************************************************
49 !* Please acknowledge The University of Illinois Center for *
50 !* Simulation of Advanced Rockets in works and publications *
51 !* resulting from this software or its derivatives. *
52 !*********************************************************************
53 SUBROUTINE cauchystressprinc(ndime,xmu,xlamb,detf,stret,princ,sigma,sprin)
54 
55 !!****f* Rocfrac/Rocfrac/Source/CauchyStressPrinc.f90
56 !!
57 !! NAME
58 !! CauchyStressPrinc
59 !!
60 !! FUNCTION
61 !!
62 !! Determines the Cauchy stress tensor for materials defined in
63 !! principal directions
64 !!
65 !! INPUTS
66 !!
67 !! ndime --> number of dimensions
68 !! xmu --> mu coefficient
69 !! xlamb --> lambda coefficient
70 !! detf --> determinant of F, i.e. J
71 !! stret --> vector containing the stretches
72 !! btens --> matrix containing the the principal directions
73 !!
74 !! OUTPUT
75 !! sigma --> Cauchy stress tensor
76 !! sprin --> principal stresses
77 !!
78 !!****
79 
80  IMPLICIT DOUBLE PRECISION (a-h,o-z)
81  dimension sigma(3,3),princ(3,3),stret(3),sprin(3)
82 
83 !
84 ! Obtains the principal stress using equation (5.103) (5.90)
85 !
86  detfinv = 1.d0/detf
87 
88  DO id=1,ndime
89  sprin(id) = detfinv*(xlamb*log(detf) + 2.d0*xmu*log(stret(id)))
90  ENDDO
91 !
92 ! Obtains the Cartesian Cauchy stress tensor using equation (5.47)
93 !
94  DO jd=1,ndime
95  DO kd=1,ndime
96  sum=0.0d0
97  DO id=1,ndime
98  sum=sum+sprin(id)*princ(jd,id)*princ(kd,id)
99  ENDDO
100  sigma(jd,kd)=sum
101  ENDDO
102  ENDDO
103  RETURN
104 END SUBROUTINE cauchystressprinc
105 
Tfloat sum() const
Return the sum of all the pixel values in an image.
Definition: CImg.h:13022
subroutine cauchystressprinc(ndime, xmu, xlamb, detf, stret, princ, sigma, sprin)
int dimension() const
Get the dimension of the mesh.
Definition: Connectivity.h:125
void int int int REAL REAL REAL * z
Definition: write.cpp:76
unsigned long id(const Leda_like_handle &x)
Definition: Handle.h:107
RT a() const
Definition: Line_2.h:140