728x90
300x250

[Mechanics] Normal and Shear Stress and Strain(수직응력, 전단응력 그리고 변형률)

 

Hello, My name is Dodo.

헬로, 마이 네임이스 도도.

안녕하세요. 내 이름은 도도이다.

This article has explain to write a Stress and Strain.

디스 아티클 헤스 이스플레인 투 롸이트 어 스트레스 엔 스트레인

이 글은 응력과 변형률에 대해서 설명하기 위해 작성되었다.

 


1. Stress(응력)

 

응력 또는 변형력(變形力, 영어: stress)은 역학에서 단위면적당 작용하는 힘을 뜻한다. 응력(應力)이라고도 한다.
오귀스탱 루이 코시가 1822년 처음 고안했다.


Stress has type of two and "Normal, Shear".

1-1. Normal(Sigma, ): 수직응력(normal) 또는 법선응력이라고 부른다.

 

 

 

그림 1-1-1. Tensile Stress(인장 응력), Compressive(압축 응력)

 

 

 

 

 

1-2. Shearing Stress (Tau, ): Shear: 전단응력(Shearing Stress) 또는 접선응력(tangential Stress)라고 부른다.

 

 

그림 1-2-1. Shearing Stress(전단 응력)

 

 

[첨부(Attachment)] 

stress.7z

 

* 단순 응력(Simple stress): 수직 응력과 전단응력이 각각 작용되는 응력

예) 수직 응력만 작용했다. - 단순응력

예) 전단 응력만 작용했다. - 단순응력

 

* 조합응력(combinded Stress): 수직 응력, 전단응력 두 가지 이상 혼합 작용

예) 수직 응력 + 전단응력

예) 수직 응력 + 수직응력

예) 전단 응력 + 수직응력

예) 전단 응력 + 전단응력

* 굽힘응력(bending stress): 굽힘하중이 작용을 받는 물체의 횡단면에 발생되는 응력

* 비틀림응력(torsoional Stress): 비틀림하중이 작용을 받는 물체의 횡단면에 발생되는 응력

 


2. Strain(변형률)

 

변형도(strain) 또는 변형률은 응력으로 인해 발생하는 재료의 기하학적 변형을 나타낸다. 즉, 변형도는 형태나 크기의 변형을 의미한다.

 

 

그림 2-1. 가로 변형률

그림 2-2. 세로 변형률

 

(2-1) 가로 변형률

 

(입실론): 가로 변형률

l'(length prime): 나중길이

l(length) : 처음길이

(델타): l' - l = 나중길이 - 처음 길이

 

(2-2) 세로 변형률 

 

 

[첨부(Attachment)]

strain.7z

 


3. 참고자료(Reference)

 

[1] 변형력, Last Modified 10-29-2016 11:20(UTC+09), Accessed by 2018-07-30, https://ko.wikipedia.org/wiki/변형력

[2] 벤딩, Last Modified 04-28-2018 16:56(UTC), Accessed by 2018-07-30, https://en.wikipedia.org/wiki/Bending

[3] 토션(비틀림), Last Modified 07-20-2018 06:39(UTC), Accessed by 2018-07-30, https://en.wikipedia.org/wiki/Torsion_(mechanics)

[4] 변형도, Last Modified 03-10-2013(UTC+09), Accessed by 2018-07-30, https://ko.wikipedia.org/wiki/변형도

반응형
728x90
300x250

[Mechanics] 재료역학 - E, G, v의 관계식 / 모형화

 

재료역학(재료과학이라고도 불림.)에서 얇지만 충실하게 다루는 탄성계수 사이의 관계(E, G, v) 관계식에 대해서 프로그래밍 코드로 모형화를 하였습니다.

탄성 계수(modulus of elasticity)는 고체 역학에서 재료의 강성도(stiffness)를 나타내는 값이다.

 

 

 

 

 

E = 인장 탄성 계수(또는 선형탄성계수), 영 계수 (E) [Young's modulus (E)]

G = 전단탄성계수(또는 층밀리기 탄성계수) 또는 [전단 계수 또는 강성 계수 (G)] The shear modulus or modulus of rigidity (G)

v = 푸아송의 비

K = 벌크 모듈러스(bulk modulus (K))

 


1. 설계[Design]

 

  /*
 * Author: Dodo(rabbit.white at daum dot net)
 * Created by: 2018-07-15
 * Project Name: E,G,v의 관계식(탄성계수)
 * FileName: Calculate.h
 * Description:
 */

#ifndef CALCULATE_H_
#define CALCULATE_H_

 

class Calculate{

 

 private:
           int G_TYPE_EV = 1;
           int G_TYPE_KE = 2;
           int G_TYPE_KV = 3;

           int K_TYPE_GE = 1;
           int K_TYPE_EV = 2;
           int K_TYPE_GV = 3;

           int V_TYPE_EG = 1;
           int V_TYPE_KE = 2;
           int V_TYPE_KG = 3;

 

 public:

           Calculate();
           ~Calculate();

           int getG_TYPE_EV(){ return this->G_TYPE_EV; }
           int getG_TYPE_KE(){ return this->G_TYPE_KE; }
           int getG_TYPE_KV(){ return this->G_TYPE_KV; }

 

           // G에 관한 변형식
           double getG(double v1, double v2, const int type);

           // K에 관한 변형식
           double getK(double v1, double v2, const int type);

           // v에 관한 변형식
           double getV(double v1, double v2, const int type);

 

 protected:


};

#endif /* CALCULATE_H_ */

 Calculate.h

 

 /*
 * Author: Dodo(rabbit.white at daum dot net)
 * Created by: 2018-07-15
 * Project Name: E,G,v의 관계식(탄성계수)
 * FileName: Calculate.cpp
 * Description:
 */


 #include <iostream>
 #include "Calculate.h"

 

 using namespace std;

 

 Calculate::Calculate(){}

 Calculate::~Calculate(){}

 

 // G에 관한 변형식
 double Calculate::getG(double v1, double v2, int type){
       double f = 0;
       double e, v, k;
       e = v = k = 0;

 

       switch ( type ){
              case 1:

                   e = v1;
                   v = v2;

                   f = e / ( 2 * ( 1 + v ) );
                   break;

 

              case 2:

                   k = v1;
                   e = v2;

                   f = ( 3 * k * e ) / ( (9 * k) - e );
                   break;

 

              case 3:

                   k = v1;
                   v = v2;

                   f = ( ( 3 * k ) * ( 1 - ( 2 * v ) ) ) / ( 2 * (1+v));
                   break;

     }

 

     return f;
 }

 

 // K에 관한 변형식
 double Calculate::getK(double v1, double v2, int type){

        double f = 0;
        double g, e, v;
        g = e = v = 0;

 

        switch ( type ){
              case 1:

                   g = v1;
                   e = v2;

                   f = (g * e) / ( ( 9 * g) - (3 * e) );
                   break;

 

              case 2:

                   e = v1;
                   v = v2;

                   f = e / ( 3 * ( 1 - v ) );
                  break;

 

              case 3:

                  g = v1;
                  v = v2;

                  f = ( ( 2* g) * ( 1 + v) ) / ( 3 * ( 1 - ( 2*v ) ) );
                  break;

        }

 

        return f;
 }

 

 // K에 관한 변형식
 double Calculate::getK(double v1, double v2, int type){

         double f = 0;
         double g, e, v;
         g = e = v = 0;

 

         switch ( type ){
               case 1:

                   g = v1;
                   e = v2;

                   f = (g * e) / ( ( 9 * g) - (3 * e) );
                   break;

 

              case 2:

                   e = v1;
                   v = v2;

                   f = e / ( 3 * ( 1 - v ) );
                   break;

 

              case 3:

                   g = v1;
                   v = v2;

                   f = ( ( 2* g) * ( 1 + v) ) / ( 3 * ( 1 - ( 2*v ) ) );
                   break;

       }

       return f;
 }


 // v에 관한 변형식
 double Calculate::getV(double v1, double v2, const int type){

       double f = 0;
       double e, g, k;
       e = g = k = 0;

 

       switch ( type ){
             case 1:

                  e = v1;
                  g = v2;

                  f = ( e - (2*g)) / (2 * g);
                  break;

 

            case 2:

                  k = v1;
                  e = v2;

                  f = ( ( 3 * k) - e ) / ( 6 * k );
                  break;

 

            case 3:

                  k = v1;
                  g = v2;

                  f = ( (3*k) - (2* g) ) / ( ( 6* k) + ( 2 * g) );
                  break;

         }

         return f;
 }
 

 Calculate.cpp

 

 /*
 * Author: Dodo(rabbit.white at daum dot net)
 * Created by: 2018-07-15
 * Project Name: E,G,v의 관계식(탄성계수)
 * FileName: main.cpp
 * Description:
 */

 

 #include <iostream>
 #include <math.h>
 #include "Calculate.h"

 

 using namespace std;

 

 const int GB = pow(10, 9);
 const int MB = pow(10, 6);

 

 int main(){

        Calculate* cal = new Calculate();

        double e = 200 * (double)GB;
        double v = 0.3;

 

        cout.setf(ios::fixed);

        cout.precision(3);

        cout << e << endl;

 

        double result = cal->getG(e, v, cal->getG_TYPE_EV() );
        cout.precision(5);

        cout << result << endl;

        return 0;
 } 

 main.cpp

 

 

그림1-1) 출력값

 

[소스코드]


egk.7z

 


2. 참고하면 도움되는 자료

 

1. 영률(Young's), Wikipedia(한글), https://ko.wikipedia.org/wiki/영률

2. 탄성계수(Modulus of elasticity), Wikipedia(한글), https://ko.wikipedia.org/wiki/탄성 계수

3. 전단탄성계수(Shear modulus of elasticity), Wikipedia(한글), https://ko.wikipedia.org/wiki/전단탄성계수

4. 전단탄성계수(Shear modulus of elasticity), Wikipedia(영문) https://en.wikipedia.org/wiki/Elastic_modulus

반응형

+ Recent posts