Need to take a hybrid approach

input data가 학습 범위를 벗어나는 경우 physics를 도입해서 전처리

해야 할 부분

  1. input 전처리 사례 있는지 확인
    1. dataset 자료 보고 trial stress의 최대 및 최소 값 선정
      1. effective stress로 계산
        1. 최소값 279.617855082091
        2. 최댓값 580.6 전후
  2. hybrid approach 코드 완성
    1. Goto문 사용하면 될 것 같음
  3. input이 학습 범위를 벗어나는지 체크
    1. 간단하게 trial stress 입력해서 확인
    2. trial stress만 중요한게 아니라 해당 eff에서의 dstran에 의한 간격이 중요하다.
      1. 이거 어떻게 처리?

17일 추가 미팅

time increment를 조절하는 방법은 내 개입이 반영되기 때문에 지양해야 한다. 최대한 automatic time increment를 사용할 수 있도록. 이게 general case이기 때문

2D에서 3D로 가면 계산이 많아지니까 아마 더 cost감소는 효과적일 것.

해야 할 부분 -2

  1. hybrid 인공신경망 코드 정리해서 time cost 정리
  2. PINN 적용 가능성 판단 → 적용할 수 있는 PDE 물색
    1. plastic multiplier 값을 구하는 식

    2. r=0 / f=0

      Untitled 77.png

    3. material parameter 고정은 불가피함.

  3. PINN 도입 필요성 → 무작위 pair로 NN학습
    1. 도입 유무에 따른 정확도 판단

    2. 방법

      1. elastic part에서 데이터 모든 방향으로 생성
      2. input output set를 random화
        1. 이미 순서는 랜덤이므로 read 시 row +1,+2로 읽기
      3. PDE는 sigma=E*stran으로 설정
        1. loss에 대한 클래스를 새로 생성해서 기존 코드에 추가하는 방식 적용 검토
          1. 데이터 타입만 같은지 확인
      4. 결과 비교
    3. 고려사항

      1. validation이 불가능한 것으로보임

      pytorch모듈을 사용해서 physics induced neural network 코드를 구성해줘
      input과 output은 각 2개씩이고 각각 x, y라 하자.
      사용할 physics는 y=Ex로 E는 2*2행렬이다. 이 physics를 사용해서 physics driven loss를 구성하고 data driven loss와 더해서 total loss를 가중치를 이용해 구성할 수 있도록 해줘

      hidden layer가 각 5개에 각 hidden layer의 뉴런 개수는 30개, 활성화 함수는 relu이다.

20일 추가 미팅

‘physics 도입 해봐라’

해야 할 부분-3

  1. hybrid 인공신경망 코드 정리해서 time cost 정리

  2. PINN 적용 가능성 판단 → 적용할 수 있는 PDE 물색

    1. plastic multiplier 값을 구하는 식

    2. r=0 / f=0 → unknown: multiplier, corrected stress(2) → 총 3개

      1. outputs는 2개 성분, input는 2개 성분을 가진 벡터이고

      Untitled 77.png

    3. r=0

      1. sigma → input과 output값 사용
      2. del lambda → del epsilon 사용, del epsilon은 effective stress=flow stress로 쓰고 역계산
      3. C → 해당 system에서는 고정된 값
      4. dfds → f 미분한 식에 updated stress 대입
      5. 이 식은 output stress 지점에서 yield function 수직 방향에 input stress가 있음을 보장한다. 그러나 plastic multiplier도 unknown이기 때문에, 아직 떨어진 거리에 대한 정보, 혹은 음의 값인지 양의 값인지에 대한 정보는 없다. → f=0에 의해 결정됨.
    4. f=0

      1. plastic multiplier의 크기를 결정한다고 생각하자.

        Untitled 1 40.png

      2. eps는 effective stress에서 역계산하려고 했는데? hardening식..

        1. 이 식을 제대로 적용하려면 output값에 effective plastic strain이 있어야 한다.
      3. 이 식은 yield function 위에 있는지를 확인하는 식. 그러나 인공신경망 구성 상 output값이 yield function 위에 있다고 가정을 하기 때문에 사실상 무의미

        1. 대신에 이전 step에서의 flow stress 정보를 알고 있으므로, 이걸 기준으로 yield function 크기가 줄어들진 않았는지만 확인
    5. 생각해보니깐 둘 다 행렬식인데?

      1. elementwise로 생각해야 할 것 같다.
    6. material parameter 고정은 불가피함.

    7. f에서의 식 2개는 같은 weight 쓰고, r에서의 weight는 별도의 weight를 써서 total loss를 계산할 때는 3 부분에서 weight가 사용되도록 조절

    dlam =

    0.0011

    C_ela =

    1.0e+04 *

    7.8555    2.5923         0
    2.5923    7.8555         0
         0         0    2.6316

    dfds =

    0.9606
    • 0.2394
      0

    i =

    50

    timeElapsed =

    0.2149

    deleps =

    6.6969e-04

    C_ela =

    1.0e+04 *

    7.8555    2.5923         0
    2.5923    7.8555         0
         0         0    2.6316

    dfds =

    0.9605
    • 0.2391
      0

    r =

    1.0e+03 *

    1.7235
    0.1522
         0