주 콘텐츠로 건너뛰기
JSON Manual 생성 편집

Nonlinear Analysis Control

Input URI

{base url} + db/NLCT-M1



 

Active Methods

GET, PUT, DELETE



 

JSON Schema

Details

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "Assign"
  ],
  "properties": {
    "Assign": {
      "type": "object",
      "description": "인덱스 문자열 키별 Nonlinear Analysis Control Data 입력 값",
      "minProperties": 1,
      "additionalProperties": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "LC_SCOPE": {
            "type": "string",
            "enum": [
              "ALL",
              "SELECT"
            ],
            "description": "Nonlinear Analysis for All Static Load Cases / Select Load Case to be Analyzed as Nonlinear Analysis (ALL 범위에서는 key=1만 사용. SELECT 범위에서는 key가 aLCaseData 인덱스+1)",
            "default": "ALL"
          },
          "LOAD_CASE": {
            "type": "string",
            "description": "Load Case (Static Load Case의 이름(문자열). 내부적으로 GetStldKey로 StldK 조회. 값을 보냈는데 해당 이름의 STLD가 없으면 LV_WRONG_DATA 예외)"
          },
          "NONLINEAR_TYPE": {
            "type": "string",
            "enum": [
              "GEOM",
              "MATL",
              "GEOM_MATL"
            ],
            "description": "Geometry Nonlinear (UI 체크박스 2개가 DTO 단일 enum으로 병합됨. DTO에는 '둘 다 해제' 표현 없음 (UI에서 이미 1개 체크 강제))"
          },
          "ITER_METHOD": {
            "type": "string",
            "enum": [
              "FORCE",
              "ARC",
              "DISP"
            ],
            "description": "Force-Control / Arc-Length / Displacement-Control (후속 LOAD_STEPS 하위 필드의 조건부 required/optional을 결정)"
          },
          "LOAD_STEPS": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "STEP_MODE": {
                "type": "string",
                "enum": [
                  "AUTO",
                  "MANUAL"
                ],
                "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)"
              },
              "NUMBER_STEPS": {
                "type": "integer",
                "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                "default": 1,
                "minimum": 1
              },
              "OUTPUT": {
                "type": "string",
                "enum": [
                  "EVERY",
                  "LAST"
                ],
                "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                "default": "EVERY"
              },
              "MANUAL_STEPS": {
                "type": "array",
                "items": {
                  "type": "number"
                },
                "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                "minItems": 1
              },
              "MIN_ARC_RATIO": {
                "type": "number",
                "description": "Min Arc-Length Adjustment Ratio (기본값 0.25)",
                "exclusiveMinimum": 0
              },
              "MAX_ARC_RATIO": {
                "type": "number",
                "description": "Max Arc-Length Adjustment Ratio (기본값 4.0)",
                "exclusiveMinimum": 0
              },
              "MAX_ARC_INCREMENTS": {
                "type": "integer",
                "description": "Max Arc-Length Increments (기본값 100)",
                "minimum": 1
              },
              "MASTER_NODE": {
                "type": "integer",
                "description": "Master Node (노드 ID. 조건 미충족 시 0 기본값)"
              },
              "MAX_DISP": {
                "type": "number",
                "description": "Maximum Disp. (값 0 금지 — CheckNlctData가 dMaxDisplacementDispct != 0.0 강제. DTO 미지정 시 서버가 0.0을 채우고 검증 실패 → 명시적 값 필수)",
                "not": {
                  "const": 0
                }
              },
              "DIRECTION": {
                "type": "string",
                "enum": [
                  "DX",
                  "DY",
                  "DZ"
                ],
                "description": "Direction",
                "default": "DX"
              },
              "REF_NODE": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "OPT_USE": {
                    "type": "boolean",
                    "description": "Reference Node (REF_NODE 서브 객체의 required 필드. LOAD_STEPS.REF_NODE 자체는 DISP일 때 condition)"
                  },
                  "NODE": {
                    "type": "integer",
                    "description": "Reference Node (노드 ID. OPT_USE=false 시 기본 0)"
                  }
                },
                "required": [
                  "OPT_USE"
                ],
                "description": "Reference (Relative) Node (nested)"
              }
            },
            "required": [
              "STEP_MODE"
            ],
            "description": "Load step configuration (nested)"
          },
          "CONV_CRITERIA": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "DISP": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "OPT_USE": {
                    "type": "boolean",
                    "description": "Displacement (U) : (CONV_CRITERIA.DISP 서브 객체의 required 필드. DISP/LOAD/WORK 중 최소 1개 true 강제는 UI 레이어 규칙)"
                  },
                  "VALUE": {
                    "type": "number",
                    "description": "Displacement (U) : (기본값 0.001 (cpp DTOToNlctData의 value_or))",
                    "exclusiveMinimum": 0,
                    "maximum": 1
                  }
                },
                "required": [
                  "OPT_USE"
                ],
                "description": "Displacement (U) convergence"
              },
              "LOAD": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "OPT_USE": {
                    "type": "boolean",
                    "description": "Displacement (U) : (CONV_CRITERIA.DISP 서브 객체의 required 필드. DISP/LOAD/WORK 중 최소 1개 true 강제는 UI 레이어 규칙)"
                  },
                  "VALUE": {
                    "type": "number",
                    "description": "Displacement (U) : (기본값 0.001 (cpp DTOToNlctData의 value_or))",
                    "exclusiveMinimum": 0,
                    "maximum": 1
                  }
                },
                "required": [
                  "OPT_USE"
                ],
                "description": "Load (P) convergence"
              },
              "WORK": {
                "type": "object",
                "additionalProperties": false,
                "properties": {
                  "OPT_USE": {
                    "type": "boolean",
                    "description": "Displacement (U) : (CONV_CRITERIA.DISP 서브 객체의 required 필드. DISP/LOAD/WORK 중 최소 1개 true 강제는 UI 레이어 규칙)"
                  },
                  "VALUE": {
                    "type": "number",
                    "description": "Displacement (U) : (기본값 0.001 (cpp DTOToNlctData의 value_or))",
                    "exclusiveMinimum": 0,
                    "maximum": 1
                  }
                },
                "required": [
                  "OPT_USE"
                ],
                "description": "Work (W) convergence"
              }
            },
            "description": "Convergence criteria (nested)"
          },
          "ADVANCED": {
            "type": "object",
            "additionalProperties": false,
            "properties": {
              "OPT_USE_DEFAULT": {
                "type": "boolean",
                "description": "Use Default Settings (ADVANCED 서브 객체의 required. true 시 하위 모든 필드 미지정 허용 (서버가 기본값 적용))"
              },
              "STIFF_UPDATE_SCHEME": {
                "type": "string",
                "enum": [
                  "CUSTOM",
                  "FULL_NEWTON_RAPHSON",
                  "INITIAL_STIFF"
                ],
                "description": "Stiffness Update Scheme (UI에는 5개 스킴(Modified NR, Quasi-Newton 포함)이 있지만 DTO는 3개만 노출. DB 인덱스(2)가 DTO의 INITIAL_STIFF(2)에 매핑)"
              },
              "ITER_BEFORE_STIFF_UPDATE": {
                "type": "integer",
                "description": "No. of Iterations before Stiffness Update (CUSTOM이 아닐 때 서버 측에서 스킴별 자동값(FullNR→1, InitStiff→51) 적용 — DTO에는 전달 불필요)"
              },
              "OPT_TERMINATE_ON_FAILED_CONV": {
                "type": "boolean",
                "description": "Terminate Analysis on Failed Convergence (기본값 FALSE)"
              },
              "MAX_ITER_PER_INCREMENT": {
                "type": "integer",
                "description": "Max. No. of Iterations per Increment (기본값 50)"
              },
              "MAX_BISECTION_LEVEL": {
                "type": "integer",
                "description": "Max. Bisection Level (기본값 5)",
                "minimum": 0,
                "maximum": 20
              },
              "OPT_SMART_BISECTION": {
                "type": "boolean",
                "description": "Smart Bisection (기본값 FALSE)"
              },
              "DIVERGENCE_THRESHOLD": {
                "type": "number",
                "description": "Divergence Threshold (DB는 int(기본 3), DTO는 double (내부 변환))"
              },
              "OPT_ENABLE_LINE_SEARCH": {
                "type": "boolean",
                "description": "Enable Line Search (기본값 TRUE)"
              },
              "LINE_SEARCH_OPTION": {
                "type": "string",
                "enum": [
                  "AUTO",
                  "MANUAL"
                ],
                "description": "Line Search Option (DB에서는 1/2 (Auto/UserDefined), DTO enum은 0/1 (AUTO/MANUAL) — 내부에서 ±1 변환)"
              },
              "MAX_LINE_SEARCH_PER_ITER": {
                "type": "integer",
                "description": "Max. Line Search per Iteration (기본값 4)"
              },
              "LINE_SEARCH_TOL": {
                "type": "number",
                "description": "Line Search Tolerance (기본값 0.5)"
              }
            },
            "required": [
              "OPT_USE_DEFAULT"
            ],
            "description": "Advanced Nonlinear Setting... (서브 대화상자 진입 → DTO ADVANCED 객체로 직렬화. 미전달 시 기본값 사용)"
          }
        },
        "required": [
          "NONLINEAR_TYPE",
          "ITER_METHOD",
          "LOAD_STEPS",
          "CONV_CRITERIA"
        ],
        "allOf": [
          {
            "description": "LOAD_CASE 조건부 required (LC_SCOPE == SELECT 신규 생성(OnInsert 또는 새 key에 대한 OnSet) 시 필수. SELECT 기존 항목 수정 시 선택(미지정이면 기존 StldK 보존))",
            "if": {
              "properties": {
                "LC_SCOPE": {
                  "const": "SELECT"
                }
              }
            },
            "then": {
              "required": [
                "LOAD_CASE"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.NUMBER_STEPS 조건부 required (STEP_MODE == AUTO)",
            "if": {
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "const": "AUTO"
                    }
                  }
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)",
                      "const": "AUTO"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    }
                  },
                  "required": [
                    "NUMBER_STEPS"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.OUTPUT 조건부 required (STEP_MODE == AUTO)",
            "if": {
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "const": "AUTO"
                    }
                  }
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)",
                      "const": "AUTO"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    }
                  },
                  "required": [
                    "OUTPUT"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.MANUAL_STEPS 조건부 required (STEP_MODE == MANUAL)",
            "if": {
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "const": "MANUAL"
                    }
                  }
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "MANUAL"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)",
                      "const": "MANUAL"
                    },
                    "MANUAL_STEPS": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                      "minItems": 1
                    }
                  },
                  "required": [
                    "MANUAL_STEPS"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS ??? scoped branch (ITER_METHOD == FORCE)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "FORCE"
                }
              },
              "required": [
                "ITER_METHOD"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO",
                        "MANUAL"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MANUAL_STEPS": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                      "minItems": 1
                    }
                  }
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.MIN_ARC_RATIO 조건부 required (ITER_METHOD == ARC)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "ARC"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)",
                      "const": "AUTO"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MIN_ARC_RATIO": {
                      "type": "number",
                      "description": "Min Arc-Length Adjustment Ratio (기본값 0.25)",
                      "exclusiveMinimum": 0
                    },
                    "MAX_ARC_RATIO": {
                      "type": "number",
                      "description": "Max Arc-Length Adjustment Ratio (기본값 4.0)",
                      "exclusiveMinimum": 0
                    },
                    "MAX_ARC_INCREMENTS": {
                      "type": "integer",
                      "description": "Max Arc-Length Increments (기본값 100)",
                      "minimum": 1
                    }
                  },
                  "required": [
                    "MIN_ARC_RATIO"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.MAX_ARC_RATIO 조건부 required (ITER_METHOD == ARC)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "ARC"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)",
                      "const": "AUTO"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MIN_ARC_RATIO": {
                      "type": "number",
                      "description": "Min Arc-Length Adjustment Ratio (기본값 0.25)",
                      "exclusiveMinimum": 0
                    },
                    "MAX_ARC_RATIO": {
                      "type": "number",
                      "description": "Max Arc-Length Adjustment Ratio (기본값 4.0)",
                      "exclusiveMinimum": 0
                    },
                    "MAX_ARC_INCREMENTS": {
                      "type": "integer",
                      "description": "Max Arc-Length Increments (기본값 100)",
                      "minimum": 1
                    }
                  },
                  "required": [
                    "MAX_ARC_RATIO"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.MAX_ARC_INCREMENTS 조건부 required (ITER_METHOD == ARC)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "ARC"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)",
                      "const": "AUTO"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MIN_ARC_RATIO": {
                      "type": "number",
                      "description": "Min Arc-Length Adjustment Ratio (기본값 0.25)",
                      "exclusiveMinimum": 0
                    },
                    "MAX_ARC_RATIO": {
                      "type": "number",
                      "description": "Max Arc-Length Adjustment Ratio (기본값 4.0)",
                      "exclusiveMinimum": 0
                    },
                    "MAX_ARC_INCREMENTS": {
                      "type": "integer",
                      "description": "Max Arc-Length Increments (기본값 100)",
                      "minimum": 1
                    }
                  },
                  "required": [
                    "MAX_ARC_INCREMENTS"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.MASTER_NODE 조건부 required (ITER_METHOD == DISP)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "DISP"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO",
                        "MANUAL"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MANUAL_STEPS": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                      "minItems": 1
                    },
                    "MASTER_NODE": {
                      "type": "integer",
                      "description": "Master Node (노드 ID. 조건 미충족 시 0 기본값)"
                    },
                    "MAX_DISP": {
                      "type": "number",
                      "description": "Maximum Disp. (값 0 금지 — CheckNlctData가 dMaxDisplacementDispct != 0.0 강제. DTO 미지정 시 서버가 0.0을 채우고 검증 실패 → 명시적 값 필수)",
                      "not": {
                        "const": 0
                      }
                    },
                    "DIRECTION": {
                      "type": "string",
                      "enum": [
                        "DX",
                        "DY",
                        "DZ"
                      ],
                      "description": "Direction",
                      "default": "DX"
                    },
                    "REF_NODE": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "OPT_USE": {
                          "type": "boolean",
                          "description": "Reference Node (REF_NODE 서브 객체의 required 필드. LOAD_STEPS.REF_NODE 자체는 DISP일 때 condition)"
                        },
                        "NODE": {
                          "type": "integer",
                          "description": "Reference Node (노드 ID. OPT_USE=false 시 기본 0)"
                        }
                      },
                      "required": [
                        "OPT_USE"
                      ],
                      "description": "Reference (Relative) Node (nested)"
                    }
                  },
                  "required": [
                    "MASTER_NODE"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.MAX_DISP 조건부 required (ITER_METHOD == DISP)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "DISP"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO",
                        "MANUAL"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MANUAL_STEPS": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                      "minItems": 1
                    },
                    "MASTER_NODE": {
                      "type": "integer",
                      "description": "Master Node (노드 ID. 조건 미충족 시 0 기본값)"
                    },
                    "MAX_DISP": {
                      "type": "number",
                      "description": "Maximum Disp. (값 0 금지 — CheckNlctData가 dMaxDisplacementDispct != 0.0 강제. DTO 미지정 시 서버가 0.0을 채우고 검증 실패 → 명시적 값 필수)",
                      "not": {
                        "const": 0
                      }
                    },
                    "DIRECTION": {
                      "type": "string",
                      "enum": [
                        "DX",
                        "DY",
                        "DZ"
                      ],
                      "description": "Direction",
                      "default": "DX"
                    },
                    "REF_NODE": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "OPT_USE": {
                          "type": "boolean",
                          "description": "Reference Node (REF_NODE 서브 객체의 required 필드. LOAD_STEPS.REF_NODE 자체는 DISP일 때 condition)"
                        },
                        "NODE": {
                          "type": "integer",
                          "description": "Reference Node (노드 ID. OPT_USE=false 시 기본 0)"
                        }
                      },
                      "required": [
                        "OPT_USE"
                      ],
                      "description": "Reference (Relative) Node (nested)"
                    }
                  },
                  "required": [
                    "MAX_DISP"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.DIRECTION 조건부 required (ITER_METHOD == DISP)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "DISP"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO",
                        "MANUAL"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MANUAL_STEPS": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                      "minItems": 1
                    },
                    "MASTER_NODE": {
                      "type": "integer",
                      "description": "Master Node (노드 ID. 조건 미충족 시 0 기본값)"
                    },
                    "MAX_DISP": {
                      "type": "number",
                      "description": "Maximum Disp. (값 0 금지 — CheckNlctData가 dMaxDisplacementDispct != 0.0 강제. DTO 미지정 시 서버가 0.0을 채우고 검증 실패 → 명시적 값 필수)",
                      "not": {
                        "const": 0
                      }
                    },
                    "DIRECTION": {
                      "type": "string",
                      "enum": [
                        "DX",
                        "DY",
                        "DZ"
                      ],
                      "description": "Direction",
                      "default": "DX"
                    },
                    "REF_NODE": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "OPT_USE": {
                          "type": "boolean",
                          "description": "Reference Node (REF_NODE 서브 객체의 required 필드. LOAD_STEPS.REF_NODE 자체는 DISP일 때 condition)"
                        },
                        "NODE": {
                          "type": "integer",
                          "description": "Reference Node (노드 ID. OPT_USE=false 시 기본 0)"
                        }
                      },
                      "required": [
                        "OPT_USE"
                      ],
                      "description": "Reference (Relative) Node (nested)"
                    }
                  },
                  "required": [
                    "DIRECTION"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.REF_NODE 조건부 required (ITER_METHOD == DISP)",
            "if": {
              "properties": {
                "ITER_METHOD": {
                  "const": "DISP"
                }
              }
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "STEP_MODE": {
                      "type": "string",
                      "enum": [
                        "AUTO",
                        "MANUAL"
                      ],
                      "description": "Number of Increments / Manual with User-defined Steps (ITER_METHOD == ARC 시 UI에서는 AUTO 강제)"
                    },
                    "NUMBER_STEPS": {
                      "type": "integer",
                      "description": "Number of Increments (STEP_MODE != AUTO 일 때 미지정 허용)",
                      "default": 1,
                      "minimum": 1
                    },
                    "OUTPUT": {
                      "type": "string",
                      "enum": [
                        "EVERY",
                        "LAST"
                      ],
                      "description": "Intermediate Output Request (UI 콤보 항목의 표시 문자열은 리소스 상에서 확인 필요)",
                      "default": "EVERY"
                    },
                    "MANUAL_STEPS": {
                      "type": "array",
                      "items": {
                        "type": "number"
                      },
                      "description": "Load Step... (서브 대화상자에서 수집하는 스텝 목록이 DTO 배열로 직렬화 (aLoadSteps[i].dLoadIncFactor))",
                      "minItems": 1
                    },
                    "MASTER_NODE": {
                      "type": "integer",
                      "description": "Master Node (노드 ID. 조건 미충족 시 0 기본값)"
                    },
                    "MAX_DISP": {
                      "type": "number",
                      "description": "Maximum Disp. (값 0 금지 — CheckNlctData가 dMaxDisplacementDispct != 0.0 강제. DTO 미지정 시 서버가 0.0을 채우고 검증 실패 → 명시적 값 필수)",
                      "not": {
                        "const": 0
                      }
                    },
                    "DIRECTION": {
                      "type": "string",
                      "enum": [
                        "DX",
                        "DY",
                        "DZ"
                      ],
                      "description": "Direction",
                      "default": "DX"
                    },
                    "REF_NODE": {
                      "type": "object",
                      "additionalProperties": false,
                      "properties": {
                        "OPT_USE": {
                          "type": "boolean",
                          "description": "Reference Node (REF_NODE 서브 객체의 required 필드. LOAD_STEPS.REF_NODE 자체는 DISP일 때 condition)"
                        },
                        "NODE": {
                          "type": "integer",
                          "description": "Reference Node (노드 ID. OPT_USE=false 시 기본 0)"
                        }
                      },
                      "required": [
                        "OPT_USE"
                      ],
                      "description": "Reference (Relative) Node (nested)"
                    }
                  },
                  "required": [
                    "REF_NODE"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "LOAD_STEPS.REF_NODE.NODE 조건부 required (OPT_USE == true)",
            "if": {
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "REF_NODE": {
                      "type": "object",
                      "properties": {
                        "OPT_USE": {
                          "const": true
                        }
                      }
                    }
                  },
                  "required": [
                    "REF_NODE"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "LOAD_STEPS": {
                  "type": "object",
                  "properties": {
                    "REF_NODE": {
                      "type": "object",
                      "properties": {
                        "NODE": {
                          "type": "integer",
                          "description": "Reference Node (노드 ID. OPT_USE=false 시 기본 0)"
                        }
                      },
                      "required": [
                        "NODE"
                      ]
                    }
                  },
                  "required": [
                    "REF_NODE"
                  ]
                }
              },
              "required": [
                "LOAD_STEPS"
              ]
            }
          },
          {
            "description": "CONV_CRITERIA.DISP.VALUE 조건부 required (OPT_USE == true)",
            "if": {
              "properties": {
                "CONV_CRITERIA": {
                  "type": "object",
                  "properties": {
                    "DISP": {
                      "type": "object",
                      "properties": {
                        "OPT_USE": {
                          "const": true
                        }
                      }
                    }
                  },
                  "required": [
                    "DISP"
                  ]
                }
              },
              "required": [
                "CONV_CRITERIA"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "CONV_CRITERIA": {
                  "type": "object",
                  "properties": {
                    "DISP": {
                      "type": "object",
                      "properties": {
                        "VALUE": {
                          "type": "number",
                          "description": "Displacement (U) : (기본값 0.001 (cpp DTOToNlctData의 value_or))",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        }
                      },
                      "required": [
                        "VALUE"
                      ]
                    }
                  },
                  "required": [
                    "DISP"
                  ]
                }
              },
              "required": [
                "CONV_CRITERIA"
              ]
            }
          },
          {
            "description": "CONV_CRITERIA.LOAD.VALUE ??? required (OPT_USE == true)",
            "if": {
              "properties": {
                "CONV_CRITERIA": {
                  "type": "object",
                  "properties": {
                    "LOAD": {
                      "type": "object",
                      "properties": {
                        "OPT_USE": {
                          "const": true
                        }
                      }
                    }
                  },
                  "required": [
                    "LOAD"
                  ]
                }
              },
              "required": [
                "CONV_CRITERIA"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "CONV_CRITERIA": {
                  "type": "object",
                  "properties": {
                    "LOAD": {
                      "type": "object",
                      "properties": {
                        "VALUE": {
                          "type": "number",
                          "description": "Displacement (U) : (기본값 0.001 (cpp DTOToNlctData의 value_or))",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        }
                      },
                      "required": [
                        "VALUE"
                      ]
                    }
                  },
                  "required": [
                    "LOAD"
                  ]
                }
              },
              "required": [
                "CONV_CRITERIA"
              ]
            }
          },
          {
            "description": "CONV_CRITERIA.WORK.VALUE ??? required (OPT_USE == true)",
            "if": {
              "properties": {
                "CONV_CRITERIA": {
                  "type": "object",
                  "properties": {
                    "WORK": {
                      "type": "object",
                      "properties": {
                        "OPT_USE": {
                          "const": true
                        }
                      }
                    }
                  },
                  "required": [
                    "WORK"
                  ]
                }
              },
              "required": [
                "CONV_CRITERIA"
              ]
            },
            "then": {
              "type": "object",
              "properties": {
                "CONV_CRITERIA": {
                  "type": "object",
                  "properties": {
                    "WORK": {
                      "type": "object",
                      "properties": {
                        "VALUE": {
                          "type": "number",
                          "description": "Displacement (U) : (기본값 0.001 (cpp DTOToNlctData의 value_or))",
                          "exclusiveMinimum": 0,
                          "maximum": 1
                        }
                      },
                      "required": [
                        "VALUE"
                      ]
                    }
                  },
                  "required": [
                    "WORK"
                  ]
                }
              },
              "required": [
                "CONV_CRITERIA"
              ]
            }
          },
          {
            "description": "ADVANCED.STIFF_UPDATE_SCHEME 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "STIFF_UPDATE_SCHEME"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.ITER_BEFORE_STIFF_UPDATE 조건부 required (OPT_USE_DEFAULT == false AND STIFF_UPDATE_SCHEME == CUSTOM)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    },
                    "STIFF_UPDATE_SCHEME": {
                      "const": "CUSTOM"
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "ITER_BEFORE_STIFF_UPDATE"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.OPT_TERMINATE_ON_FAILED_CONV 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "OPT_TERMINATE_ON_FAILED_CONV"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.MAX_ITER_PER_INCREMENT 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "MAX_ITER_PER_INCREMENT"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.MAX_BISECTION_LEVEL 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "MAX_BISECTION_LEVEL"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.OPT_SMART_BISECTION 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "OPT_SMART_BISECTION"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.DIVERGENCE_THRESHOLD 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "DIVERGENCE_THRESHOLD"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.OPT_ENABLE_LINE_SEARCH 조건부 required (OPT_USE_DEFAULT == false)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_USE_DEFAULT": {
                      "const": false
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "OPT_ENABLE_LINE_SEARCH"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.LINE_SEARCH_OPTION 조건부 required (OPT_ENABLE_LINE_SEARCH == true)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "OPT_ENABLE_LINE_SEARCH": {
                      "const": true
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "LINE_SEARCH_OPTION"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.MAX_LINE_SEARCH_PER_ITER 조건부 required (LINE_SEARCH_OPTION == MANUAL)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "LINE_SEARCH_OPTION": {
                      "const": "MANUAL"
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "MAX_LINE_SEARCH_PER_ITER"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "ADVANCED.LINE_SEARCH_TOL 조건부 required (LINE_SEARCH_OPTION == MANUAL)",
            "if": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "properties": {
                    "LINE_SEARCH_OPTION": {
                      "const": "MANUAL"
                    }
                  }
                }
              },
              "required": [
                "ADVANCED"
              ]
            },
            "then": {
              "properties": {
                "ADVANCED": {
                  "type": "object",
                  "required": [
                    "LINE_SEARCH_TOL"
                  ]
                }
              },
              "required": [
                "ADVANCED"
              ]
            }
          },
          {
            "description": "CONV_CRITERIA는 DISP/LOAD/WORK 중 최소 1개 OPT_USE=true 필요",
            "if": {
              "required": [
                "CONV_CRITERIA"
              ]
            },
            "then": {
              "properties": {
                "CONV_CRITERIA": {
                  "anyOf": [
                    {
                      "properties": {
                        "DISP": {
                          "properties": {
                            "OPT_USE": {
                              "const": true
                            }
                          },
                          "required": [
                            "OPT_USE"
                          ]
                        }
                      },
                      "required": [
                        "DISP"
                      ]
                    },
                    {
                      "properties": {
                        "LOAD": {
                          "properties": {
                            "OPT_USE": {
                              "const": true
                            }
                          },
                          "required": [
                            "OPT_USE"
                          ]
                        }
                      },
                      "required": [
                        "LOAD"
                      ]
                    },
                    {
                      "properties": {
                        "WORK": {
                          "properties": {
                            "OPT_USE": {
                              "const": true
                            }
                          },
                          "required": [
                            "OPT_USE"
                          ]
                        }
                      },
                      "required": [
                        "WORK"
                      ]
                    }
                  ]
                }
              }
            }
          }
        ],
        "unevaluatedProperties": false
      }
    }
  }
}



 

Examples

Iteration Method - Force Control

{
  "Assign": {
    "1": {
      "LC_SCOPE": "ALL",
      "NONLINEAR_TYPE": "GEOM",
      "ITER_METHOD": "FORCE",
      "LOAD_STEPS": {
        "STEP_MODE": "AUTO",
        "NUMBER_STEPS": 10,
        "OUTPUT": "EVERY"
      },
      "CONV_CRITERIA": {
        "DISP": {
          "OPT_USE": true,
          "VALUE": 0.001
        }
      }
    }
  }
}

Iteration Method - Arc Length

{
  "Assign": {
    "1": {
      "LC_SCOPE": "ALL",
      "NONLINEAR_TYPE": "GEOM_MATL",
      "ITER_METHOD": "ARC",
      "LOAD_STEPS": {
        "STEP_MODE": "AUTO",
        "NUMBER_STEPS": 20,
        "OUTPUT": "LAST",
        "MIN_ARC_RATIO": 0.25,
        "MAX_ARC_RATIO": 4,
        "MAX_ARC_INCREMENTS": 100
      },
      "CONV_CRITERIA": {
        "DISP": {
          "OPT_USE": true,
          "VALUE": 0.001
        },
        "LOAD": {
          "OPT_USE": true,
          "VALUE": 0.001
        }
      }
    }
  }
}

Iteration Method - Displacement Control

{
  "Assign": {
    "1": {
      "LC_SCOPE": "ALL",
      "NONLINEAR_TYPE": "MATL",
      "ITER_METHOD": "DISP",
      "LOAD_STEPS": {
        "STEP_MODE": "AUTO",
        "NUMBER_STEPS": 15,
        "OUTPUT": "EVERY",
        "MASTER_NODE": 101,
        "MAX_DISP": 0.05,
        "DIRECTION": "DX",
        "REF_NODE": {
          "OPT_USE": false
        }
      },
      "CONV_CRITERIA": {
        "WORK": {
          "OPT_USE": true,
          "VALUE": 0.001
        }
      }
    }
  }
}



 

Specifications

No. Description Key Value Type Default Required

1

Nonlinear Analysis Type

• Global: ALL

• Load Case: SELECT

"LC_SCOPE"

string (enum)

ALL

Optional

When LC_SCOPE = "SELECT"

2

Load Case Name

"LOAD_CASE"

string

-

Required

3

Geometry Nonlinear

• Geometry: GEOM

• Material: MATL

• Geometry + Material: GEOM_MATL

"NONLINEAR_TYPE"

string (enum)

-

Required

4

Iteration Method

• Force Control: FORCE

• Arc-Length: ARC

• Displacement Control: DISP

"ITER_METHOD"

string (enum)

-

Required

When ITER_METHOD = "FORCE"

5

Load step configuration

"LOAD_STEPS"

object

-

Required

(1)

Load Steps

• Number of Increments: AUTO

• User Defined Step: MANUAL

"STEP_MODE"

string (enum)

-

Required

When STEP_MODE = "AUTO"

(2)

Number of Increments

"NUMBER_STEPS"

integer

1

Required

(3)

Intermediate Output Request

• Every Increment: EVERY

• Last Increment: LAST

"OUTPUT"

string (enum)

EVERY

Optional

When STEP_MODE = "MANUAL"

(4)

Load Step

"MANUAL_STEPS"

array

-

Required

When ITER_METHOD = "ARC"

6

Load step configuration

"LOAD_STEPS"

object

-

Required

(1)

Load Steps

• Number of Increments: AUTO

Only AUTO can be selected.

"STEP_MODE"

string (enum)

-

Required

When STEP_MODE = "AUTO"

(2)

Number of Increments

"NUMBER_STEPS"

integer

1

Required

(3)

Intermediate Output Request

• Every Increment: EVERY

• Last Increment: LAST

"OUTPUT"

string (enum)

EVERY

Optional

When ITER_METHOD = "DISP"

7

Load step configuration

"LOAD_STEPS"

object

-

Required

(1)

Load Steps

• Number of Increments: AUTO

• User Defined Step: MANUAL

"STEP_MODE"

string (enum)

-

Required

When STEP_MODE = "AUTO"

(2)

Number of Increments

"NUMBER_STEPS"

integer

1

Required

(3)

Intermediate Output Request

• Every Increment: EVERY

• Last Increment: LAST

"OUTPUT"

string (enum)

EVERY

Optional

When STEP_MODE = "MANUAL"

(4)

Load Step

"MANUAL_STEPS"

array

-

Required

(5)

Min Arc-Length Adjustment Ratio

"MIN_ARC_RATIO"

number

-

Required

(6)

Max Arc-Length Adjustment Ratio

"MAX_ARC_RATIO"

number

-

Optional

(7)

Max Arc-Length Increments

"MAX_ARC_INCREMENTS"

integer

-

Optional

(8)

Master Node

"MASTER_NODE"

integer

-

Required

(9)

Maximum Displacement

"MAX_DISP"

number

-

Optional

(10)

Direction

• DX: DX

• DY: DY

• DZ: DZ

"DIRECTION"

string (enum)

DX

Optional

(11)

Reference Node

"REF_NODE"

object

-

Optional

a

Use Reference Node

"OPT_USE"

boolean

-

Required

b

Reference Node Number

"NODE"

integer

-

Optional

8

Convergence criteria

"CONV_CRITERIA"

object

-

Required

(1)

Displacement Convergence

"DISP"

object

-

Optional

(1)

Use Displacement Convergence

"OPT_USE"

boolean

-

Required

a

Displacement Tolerance

When OPT_USE=true

"VALUE"

number

-

Optional

(2)

Load Convergence

"LOAD"

object

-

Optional

b

Use Load Convergence

"OPT_USE"

boolean

-

Required

c

Load Tolerance

 When OPT_USE=true

"VALUE"

number

-

Optional

(3)

Work Convergence

"WORK"

object

-

Optional

d

Use Work Convergence

"OPT_USE"

boolean

-

Required

e

Work Tolerance

 When OPT_USE=true

"VALUE"

number

-

Optional

9

Advanced Nonlinear Setting

"ADVANCED"¹⁾

object

-

Optional



 

Advanced Nonlinear Parameters¹⁾

No. Description Key Value Type Default Required

1

Advanced Nonlinear Setting

"ADVANCED"

object

-

Optional

(1)

Use Default Settings

"OPT_USE_DEFAULT"

boolean

-

Required

When OPT_USE_DEFAULT = false

(2)

Stiffness Update Scheme

• Custom: CUSTOM

• Full Newton-Raphson: FULL_NEWTON_RAPHSON

• Initial Stiffness: INITIAL_STIFF

"STIFF_UPDATE_SCHEME"

string (enum)

-

Required

When STIFF_UPDATE_SCHEME = "CUSTOM"

(3)

No. of Iterations before Stiffness Update

"ITER_BEFORE_STIFF_UPDATE"

integer

-

Required

(4)

Terminate Analysis on Failed Convergence

"OPT_TERMINATE_ON_FAILED_CONV"

boolean

-

Required

(5)

Max. No. of Iterations per Increment

"MAX_ITER_PER_INCREMENT"

integer

-

Required

(6)

Max. Bisection Level

"MAX_BISECTION_LEVEL"

integer

-

Required

(7)

Smart Bisection

"OPT_SMART_BISECTION"

boolean

-

Required

(8)

Divergence Threshold

"DIVERGENCE_THRESHOLD"

number

-

Required

(9)

Enable Line Search

"OPT_ENABLE_LINE_SEARCH"

boolean

-

Required

When OPT_ENABLE_LINE_SEARCH = true

(10)

Line Search Option

• Auto Line Search: AUTO

• User Defined: MANUAL

"LINE_SEARCH_OPTION"

string (enum)

-

Required

When LINE_SEARCH_OPTION = "MANUAL"

(11)

Max. Line Search per Iteration

"MAX_LINE_SEARCH_PER_ITER"

integer

-

Required

(12)

Line Search Tolerance

"LINE_SEARCH_TOL"

number

-

Required

0
컨텐츠가 도움이 되셨나요?