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

Static Wind Load - KDS(41-12:2022)

Input URI

{base url} + DB/SWIND



 

JSON Schema

Details

{
  "type": "object",
  "additionalProperties": false,
  "required": [
    "Assign"
  ],
  "properties": {
    "Assign": {
      "type": "object",
      "description": "Keys are string indices; each value is a SWIND request item.",
      "minProperties": 1,
      "patternProperties": {
        "^[0-9]+$": {
          "type": "object",
          "additionalProperties": false,
          "description": "SWIND request item. DESC and ADDITIONAL_LOAD are optional; WIND_CODE, SCALE_FACTOR_X, SCALE_FACTOR_Y, and PARAMETERS are required.",
          "required": [
            "WIND_CODE",
            "SCALE_FACTOR_X",
            "SCALE_FACTOR_Y",
            "PARAMETERS"
          ],
          "properties": {
            "WIND_CODE": {
              "type": "string",
              "const": "KDS(41-12: 2022)",
              "description": "Wind load code. Currently only KDS(41-12: 2022) is supported by this schema.",
              "enum": [
                "KDS(41-12: 2022)"
              ]
            },
            "DESC": {
              "type": "string",
              "default": "",
              "description": "Optional description."
            },
            "SCALE_FACTOR_X": {
              "type": "number",
              "description": "Scale factor for X direction."
            },
            "SCALE_FACTOR_Y": {
              "type": "number",
              "description": "Scale factor for Y direction."
            },
            "PARAMETERS": {
              "type": "object",
              "additionalProperties": false,
              "description": "KDS(41-12: 2022) wind parameters. INPUT_METHOD selects method-specific fields.",
              "required": [
                "INPUT_METHOD"
              ],
              "properties": {
                "INPUT_METHOD": {
                  "type": "integer",
                  "enum": [
                    0,
                    1,
                    2
                  ],
                  "description": "Input method for KDS(41-12: 2022) wind parameters."
                },
                "EXP_CATEGORY": {
                  "type": "integer",
                  "description": "Exposure category.",
                  "enum": [
                    0,
                    1,
                    2,
                    3
                  ]
                },
                "WIND_SPEED": {
                  "type": "number",
                  "description": "Basic wind speed."
                },
                "IMPORTANCE_FACTOR": {
                  "type": "number",
                  "description": "Importance factor."
                },
                "ROOF_HEIGHT": {
                  "type": "number",
                  "description": "Roof height. If omitted, the product system value is used.",
                  "default": "system"
                },
                "CE": {
                  "type": "number",
                  "description": "Exposure coefficient. If omitted, default 1.0 is used.",
                  "default": 1
                },
                "TOPOGRAPHIC_EFFECT": {
                  "type": "object",
                  "additionalProperties": false,
                  "description": "Optional topographic effect. Omission means OPT_USE=false.",
                  "required": [
                    "OPT_USE"
                  ],
                  "properties": {
                    "OPT_USE": {
                      "type": "boolean",
                      "default": false,
                      "description": "Whether to use topographic effect."
                    },
                    "KZT": {
                      "type": "number",
                      "description": "Topographic factor."
                    }
                  },
                  "allOf": [
                    {
                      "description": "OPT_USE=true then KZT is required.",
                      "if": {
                        "properties": {
                          "OPT_USE": {
                            "const": true
                          }
                        },
                        "required": [
                          "OPT_USE"
                        ]
                      },
                      "then": {
                        "required": [
                          "KZT"
                        ]
                      }
                    },
                    {
                      "description": "OPT_USE=false then KZT must not be provided.",
                      "if": {
                        "properties": {
                          "OPT_USE": {
                            "const": false
                          }
                        },
                        "required": [
                          "OPT_USE"
                        ]
                      },
                      "then": {
                        "not": {
                          "required": [
                            "KZT"
                          ]
                        }
                      }
                    }
                  ]
                },
                "DIRECTION_FACTOR_X": {
                  "type": "number",
                  "description": "Direction factor for X direction."
                },
                "DIRECTION_FACTOR_Y": {
                  "type": "number",
                  "description": "Direction factor for Y direction."
                },
                "RIGIDITY": {
                  "type": "integer",
                  "description": "Rigidity classification."
                },
                "GUST_FACTOR_X": {
                  "type": "number",
                  "description": "Gust factor for X direction."
                },
                "GUST_FACTOR_Y": {
                  "type": "number",
                  "description": "Gust factor for Y direction."
                },
                "FORCE_COEF": {
                  "type": "object",
                  "additionalProperties": false,
                  "description": "Optional force coefficient. Omission means OPT_USE=false.",
                  "required": [
                    "OPT_USE"
                  ],
                  "properties": {
                    "OPT_USE": {
                      "type": "boolean",
                      "default": false,
                      "description": "Whether to use user-defined force coefficient."
                    },
                    "FORCE_COEF": {
                      "type": "number",
                      "description": "Force coefficient value."
                    }
                  },
                  "allOf": [
                    {
                      "description": "OPT_USE=true then FORCE_COEF is required.",
                      "if": {
                        "properties": {
                          "OPT_USE": {
                            "const": true
                          }
                        },
                        "required": [
                          "OPT_USE"
                        ]
                      },
                      "then": {
                        "required": [
                          "FORCE_COEF"
                        ]
                      }
                    },
                    {
                      "description": "OPT_USE=false then FORCE_COEF must not be provided.",
                      "if": {
                        "properties": {
                          "OPT_USE": {
                            "const": false
                          }
                        },
                        "required": [
                          "OPT_USE"
                        ]
                      },
                      "then": {
                        "not": {
                          "required": [
                            "FORCE_COEF"
                          ]
                        }
                      }
                    }
                  ]
                },
                "BUILDING_TYPE": {
                  "type": "integer",
                  "description": "Building type.",
                  "enum": [
                    0,
                    1
                  ]
                },
                "VIBRATION_PARAMS": {
                  "type": "object",
                  "additionalProperties": false,
                  "description": "Conditional vibration parameters.",
                  "required": [
                    "ACROSS_WIND",
                    "TORSIONAL_WIND",
                    "WIND_RESPONSE"
                  ],
                  "properties": {
                    "ACROSS_WIND": {
                      "type": "boolean",
                      "description": "Across-wind vibration option. For BUILDING_TYPE=0, this value is fixed to true."
                    },
                    "TORSIONAL_WIND": {
                      "type": "boolean",
                      "description": "Torsional-wind vibration option. For BUILDING_TYPE=0, this value is fixed to false."
                    },
                    "WIND_RESPONSE": {
                      "type": "boolean",
                      "description": "Wind response option."
                    },
                    "BL_X": {
                      "type": "number",
                      "description": "Building Length X. Common required field when VIBRATION_PARAMS is provided."
                    },
                    "BL_Y": {
                      "type": "number",
                      "description": "Building Length Y. Common required field when VIBRATION_PARAMS is provided."
                    },
                    "NO_X": {
                      "type": "number",
                      "description": "Natural frequency in X direction."
                    },
                    "NO_Y": {
                      "type": "number",
                      "description": "Natural frequency in Y direction."
                    },
                    "NO_T": {
                      "type": "number",
                      "description": "Torsional natural frequency."
                    },
                    "M": {
                      "type": "number",
                      "description": "Mass. If omitted in supported cases, the product system value is used.",
                      "default": "system"
                    },
                    "MX": {
                      "type": "number",
                      "description": "Mass in X direction.",
                      "default": "system"
                    },
                    "MY": {
                      "type": "number",
                      "description": "Mass in Y direction.",
                      "default": "system"
                    },
                    "MI": {
                      "type": "number",
                      "description": "Mass moment of inertia.",
                      "default": "system"
                    },
                    "ZF": {
                      "type": "number",
                      "description": "Damping ratio."
                    },
                    "VIBRATION_MODE": {
                      "type": "number",
                      "description": "Vibration mode coefficient."
                    }
                  }
                },
                "DM": {
                  "type": "number",
                  "description": "Vortex shedding parameter DM."
                },
                "DB": {
                  "type": "number",
                  "description": "Vortex shedding parameter DB."
                },
                "N": {
                  "type": "number",
                  "description": "Natural frequency for vortex shedding check."
                },
                "M": {
                  "type": "number",
                  "description": "Mass for vortex shedding check. If omitted, the product system value is used.",
                  "default": "system"
                },
                "ZF": {
                  "type": "number",
                  "description": "Damping ratio for vortex shedding check."
                }
              },
              "allOf": [
                {
                  "description": "INPUT_METHOD=0 (Simplified Method) then WIND_SPEED is required. ROOF_HEIGHT may be omitted to use system value, and CE may be omitted to use default 1.0.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 0
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ]
                  },
                  "then": {
                    "required": [
                      "WIND_SPEED"
                    ],
                    "not": {
                      "anyOf": [
                        {
                          "required": [
                            "BL_X_MIN"
                          ]
                        },
                        {
                          "required": [
                            "BL_Y_MIN"
                          ]
                        },
                        {
                          "required": [
                            "BUILDING_TYPE"
                          ]
                        },
                        {
                          "required": [
                            "DB"
                          ]
                        },
                        {
                          "required": [
                            "DIRECTION_FACTOR_X"
                          ]
                        },
                        {
                          "required": [
                            "DIRECTION_FACTOR_Y"
                          ]
                        },
                        {
                          "required": [
                            "DM"
                          ]
                        },
                        {
                          "required": [
                            "EXP_CATEGORY"
                          ]
                        },
                        {
                          "required": [
                            "FORCE_COEF"
                          ]
                        },
                        {
                          "required": [
                            "GUST_FACTOR_X"
                          ]
                        },
                        {
                          "required": [
                            "GUST_FACTOR_Y"
                          ]
                        },
                        {
                          "required": [
                            "IMPORTANCE_FACTOR"
                          ]
                        },
                        {
                          "required": [
                            "M"
                          ]
                        },
                        {
                          "required": [
                            "N"
                          ]
                        },
                        {
                          "required": [
                            "RIGIDITY"
                          ]
                        },
                        {
                          "required": [
                            "TOPOGRAPHIC_EFFECT"
                          ]
                        },
                        {
                          "required": [
                            "VIBRATION_PARAMS"
                          ]
                        },
                        {
                          "required": [
                            "ZF"
                          ]
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "INPUT_METHOD=1 (General Method) then general method base fields are required. BUILDING_TYPE is conditionally required when FORCE_COEF.OPT_USE=false or FORCE_COEF is omitted.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ]
                  },
                  "then": {
                    "required": [
                      "EXP_CATEGORY",
                      "WIND_SPEED",
                      "IMPORTANCE_FACTOR",
                      "DIRECTION_FACTOR_X",
                      "DIRECTION_FACTOR_Y",
                      "RIGIDITY",
                      "GUST_FACTOR_X",
                      "GUST_FACTOR_Y"
                    ],
                    "not": {
                      "anyOf": [
                        {
                          "required": [
                            "BL_X_MIN"
                          ]
                        },
                        {
                          "required": [
                            "BL_Y_MIN"
                          ]
                        },
                        {
                          "required": [
                            "CE"
                          ]
                        },
                        {
                          "required": [
                            "DB"
                          ]
                        },
                        {
                          "required": [
                            "DM"
                          ]
                        },
                        {
                          "required": [
                            "M"
                          ]
                        },
                        {
                          "required": [
                            "N"
                          ]
                        },
                        {
                          "required": [
                            "ZF"
                          ]
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "For INPUT_METHOD=1 and FORCE_COEF.OPT_USE=true, BUILDING_TYPE and VIBRATION_PARAMS are optional.",
                  "$comment": "BUILDING_TYPE and VIBRATION_PARAMS are not required when user-defined FORCE_COEF is used.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "FORCE_COEF": {
                        "properties": {
                          "OPT_USE": {
                            "const": true
                          }
                        },
                        "required": [
                          "OPT_USE"
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "FORCE_COEF"
                    ]
                  },
                  "then": {}
                },
                {
                  "description": "For INPUT_METHOD=1 and FORCE_COEF.OPT_USE=false or FORCE_COEF omitted, BUILDING_TYPE is required.",
                  "$comment": "FORCE_COEF omission behaves as OPT_USE=false, so BUILDING_TYPE is required in both cases.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ],
                    "anyOf": [
                      {
                        "not": {
                          "required": [
                            "FORCE_COEF"
                          ]
                        }
                      },
                      {
                        "properties": {
                          "FORCE_COEF": {
                            "properties": {
                              "OPT_USE": {
                                "const": false
                              }
                            },
                            "required": [
                              "OPT_USE"
                            ]
                          }
                        },
                        "required": [
                          "FORCE_COEF"
                        ]
                      }
                    ]
                  },
                  "then": {
                    "required": [
                      "BUILDING_TYPE"
                    ]
                  }
                },
                {
                  "description": "INPUT_METHOD=2 (General Method - Vortex Shedding) then DM, DB, N, and ZF are required. ROOF_HEIGHT and M may be omitted to use system values.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 2
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ]
                  },
                  "then": {
                    "required": [
                      "DM",
                      "DB",
                      "N",
                      "ZF"
                    ],
                    "not": {
                      "anyOf": [
                        {
                          "required": [
                            "BL_X_MIN"
                          ]
                        },
                        {
                          "required": [
                            "BL_Y_MIN"
                          ]
                        },
                        {
                          "required": [
                            "BUILDING_TYPE"
                          ]
                        },
                        {
                          "required": [
                            "CE"
                          ]
                        },
                        {
                          "required": [
                            "DIRECTION_FACTOR_X"
                          ]
                        },
                        {
                          "required": [
                            "DIRECTION_FACTOR_Y"
                          ]
                        },
                        {
                          "required": [
                            "EXP_CATEGORY"
                          ]
                        },
                        {
                          "required": [
                            "FORCE_COEF"
                          ]
                        },
                        {
                          "required": [
                            "GUST_FACTOR_X"
                          ]
                        },
                        {
                          "required": [
                            "GUST_FACTOR_Y"
                          ]
                        },
                        {
                          "required": [
                            "IMPORTANCE_FACTOR"
                          ]
                        },
                        {
                          "required": [
                            "RIGIDITY"
                          ]
                        },
                        {
                          "required": [
                            "TOPOGRAPHIC_EFFECT"
                          ]
                        },
                        {
                          "required": [
                            "VIBRATION_PARAMS"
                          ]
                        },
                        {
                          "required": [
                            "WIND_SPEED"
                          ]
                        }
                      ]
                    }
                  }
                },
                {
                  "description": "For INPUT_METHOD=1, when BUILDING_TYPE=0 and VIBRATION_PARAMS is provided, ACROSS_WIND is fixed true and TORSIONAL_WIND is fixed false.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "BUILDING_TYPE": {
                        "const": 0
                      },
                      "VIBRATION_PARAMS": {
                        "type": "object"
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "BUILDING_TYPE",
                      "VIBRATION_PARAMS"
                    ]
                  },
                  "then": {
                    "properties": {
                      "VIBRATION_PARAMS": {
                        "properties": {
                          "ACROSS_WIND": {
                            "const": true
                          },
                          "TORSIONAL_WIND": {
                            "const": false
                          }
                        },
                        "required": [
                          "ACROSS_WIND",
                          "TORSIONAL_WIND"
                        ]
                      }
                    }
                  }
                },
                {
                  "description": "For INPUT_METHOD=1 and BUILDING_TYPE=1, ACROSS_WIND=true then NO_X, NO_Y, ZF, and VIBRATION_MODE are required. BL_X and BL_Y may be omitted to use system values; M, MX, and MY may be omitted to use system values.",
                  "$comment": "BL_X, BL_Y는 입력하지 않을 경우 시스템 값이 자동적용입니다. M, MX, MY는 입력하지 않을 경우 시스템 값이 자동적용입니다.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "BUILDING_TYPE": {
                        "const": 1
                      },
                      "VIBRATION_PARAMS": {
                        "properties": {
                          "ACROSS_WIND": {
                            "const": true
                          }
                        },
                        "required": [
                          "ACROSS_WIND"
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "BUILDING_TYPE",
                      "VIBRATION_PARAMS"
                    ]
                  },
                  "then": {
                    "properties": {
                      "VIBRATION_PARAMS": {
                        "required": [
                          "NO_X",
                          "NO_Y",
                          "ZF",
                          "VIBRATION_MODE"
                        ]
                      }
                    }
                  }
                },
                {
                  "description": "For INPUT_METHOD=1, TORSIONAL_WIND=true then NO_T, ZF, and VIBRATION_MODE are required. BL_X and BL_Y may be omitted to use system values; M and MI may be omitted to use system values.",
                  "$comment": "BL_X, BL_Y는 입력하지 않을 경우 시스템 값이 자동적용입니다. M, MI는 입력하지 않을 경우 시스템 값이 자동적용입니다.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "VIBRATION_PARAMS": {
                        "properties": {
                          "TORSIONAL_WIND": {
                            "const": true
                          }
                        },
                        "required": [
                          "TORSIONAL_WIND"
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "VIBRATION_PARAMS"
                    ]
                  },
                  "then": {
                    "properties": {
                      "VIBRATION_PARAMS": {
                        "required": [
                          "NO_T",
                          "ZF",
                          "VIBRATION_MODE"
                        ]
                      }
                    }
                  }
                },
                {
                  "description": "For INPUT_METHOD=1, WIND_RESPONSE=true then NO_X, NO_Y, ZF, and VIBRATION_MODE are required. BL_X and BL_Y may be omitted to use system values; M, MX, and MY may be omitted to use system values.",
                  "$comment": "BL_X, BL_Y는 입력하지 않을 경우 시스템 값이 자동적용입니다. M, MX, MY는 입력하지 않을 경우 시스템 값이 자동적용입니다.",
                  "if": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "VIBRATION_PARAMS": {
                        "properties": {
                          "WIND_RESPONSE": {
                            "const": true
                          }
                        },
                        "required": [
                          "WIND_RESPONSE"
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "VIBRATION_PARAMS"
                    ]
                  },
                  "then": {
                    "properties": {
                      "VIBRATION_PARAMS": {
                        "required": [
                          "NO_X",
                          "NO_Y",
                          "ZF",
                          "VIBRATION_MODE"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "ADDITIONAL_LOAD": {
              "type": "array",
              "description": "Additional story-level wind load list. Each item is validated according to PARAMETERS.INPUT_METHOD and vibration options.",
              "minItems": 1,
              "items": {
                "type": "object",
                "additionalProperties": false,
                "description": "Additional story-level wind load item. Required and active fields are controlled by the parent PARAMETERS.INPUT_METHOD and vibration options.",
                "properties": {
                  "STORY_NAME": {
                    "type": "string",
                    "description": "Story name."
                  },
                  "ALONG_X": {
                    "type": "number",
                    "description": "Additional along-wind load in X direction."
                  },
                  "ALONG_Y": {
                    "type": "number",
                    "description": "Additional along-wind load in Y direction."
                  },
                  "ACROSS_X": {
                    "type": "number",
                    "description": "Additional across-wind load in X direction. Active only when INPUT_METHOD=1 and VIBRATION_PARAMS.ACROSS_WIND=true."
                  },
                  "ACROSS_Y": {
                    "type": "number",
                    "description": "Additional across-wind load in Y direction. Active only when INPUT_METHOD=1 and VIBRATION_PARAMS.ACROSS_WIND=true."
                  },
                  "TORSIONAL_RZ": {
                    "type": "number",
                    "description": "Additional torsional wind load RZ. Required when INPUT_METHOD is 0 or 2."
                  },
                  "TORSIONAL_RZ_X": {
                    "type": "number",
                    "description": "Additional torsional wind load RZ for X direction. Active only when INPUT_METHOD=1 and VIBRATION_PARAMS.TORSIONAL_WIND=true."
                  },
                  "TORSIONAL_RZ_Y": {
                    "type": "number",
                    "description": "Additional torsional wind load RZ for Y direction. Active only when INPUT_METHOD=1 and VIBRATION_PARAMS.TORSIONAL_WIND=true."
                  }
                }
              }
            }
          },
          "allOf": [
            {
              "description": "For INPUT_METHOD=0 or 2, each ADDITIONAL_LOAD item requires STORY_NAME, ALONG_X, ALONG_Y, and TORSIONAL_RZ. Method-1-only fields must not be provided.",
              "if": {
                "properties": {
                  "PARAMETERS": {
                    "properties": {
                      "INPUT_METHOD": {
                        "enum": [
                          0,
                          2
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ]
                  }
                },
                "required": [
                  "PARAMETERS"
                ]
              },
              "then": {
                "properties": {
                  "ADDITIONAL_LOAD": {
                    "items": {
                      "required": [
                        "STORY_NAME",
                        "ALONG_X",
                        "ALONG_Y",
                        "TORSIONAL_RZ"
                      ],
                      "not": {
                        "anyOf": [
                          {
                            "required": [
                              "ACROSS_X"
                            ]
                          },
                          {
                            "required": [
                              "ACROSS_Y"
                            ]
                          },
                          {
                            "required": [
                              "TORSIONAL_RZ_X"
                            ]
                          },
                          {
                            "required": [
                              "TORSIONAL_RZ_Y"
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            },
            {
              "description": "For INPUT_METHOD=1, each ADDITIONAL_LOAD item always requires STORY_NAME, ALONG_X, and ALONG_Y. TORSIONAL_RZ is not used for this method.",
              "if": {
                "properties": {
                  "PARAMETERS": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ]
                  }
                },
                "required": [
                  "PARAMETERS"
                ]
              },
              "then": {
                "properties": {
                  "ADDITIONAL_LOAD": {
                    "items": {
                      "required": [
                        "STORY_NAME",
                        "ALONG_X",
                        "ALONG_Y"
                      ],
                      "not": {
                        "required": [
                          "TORSIONAL_RZ"
                        ]
                      }
                    }
                  }
                }
              }
            },
            {
              "description": "For INPUT_METHOD=1, ACROSS_X and ACROSS_Y are required only when VIBRATION_PARAMS.ACROSS_WIND=true.",
              "if": {
                "properties": {
                  "PARAMETERS": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "VIBRATION_PARAMS": {
                        "properties": {
                          "ACROSS_WIND": {
                            "const": true
                          }
                        },
                        "required": [
                          "ACROSS_WIND"
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "VIBRATION_PARAMS"
                    ]
                  }
                },
                "required": [
                  "PARAMETERS"
                ]
              },
              "then": {
                "properties": {
                  "ADDITIONAL_LOAD": {
                    "items": {
                      "required": [
                        "ACROSS_X",
                        "ACROSS_Y"
                      ]
                    }
                  }
                }
              }
            },
            {
              "description": "For INPUT_METHOD=1, ACROSS_X and ACROSS_Y must not be provided unless VIBRATION_PARAMS.ACROSS_WIND=true.",
              "if": {
                "properties": {
                  "PARAMETERS": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ],
                    "not": {
                      "properties": {
                        "VIBRATION_PARAMS": {
                          "properties": {
                            "ACROSS_WIND": {
                              "const": true
                            }
                          },
                          "required": [
                            "ACROSS_WIND"
                          ]
                        }
                      },
                      "required": [
                        "VIBRATION_PARAMS"
                      ]
                    }
                  }
                },
                "required": [
                  "PARAMETERS"
                ]
              },
              "then": {
                "properties": {
                  "ADDITIONAL_LOAD": {
                    "items": {
                      "not": {
                        "anyOf": [
                          {
                            "required": [
                              "ACROSS_X"
                            ]
                          },
                          {
                            "required": [
                              "ACROSS_Y"
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            },
            {
              "description": "For INPUT_METHOD=1, TORSIONAL_RZ_X and TORSIONAL_RZ_Y are required only when VIBRATION_PARAMS.TORSIONAL_WIND=true.",
              "if": {
                "properties": {
                  "PARAMETERS": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      },
                      "VIBRATION_PARAMS": {
                        "properties": {
                          "TORSIONAL_WIND": {
                            "const": true
                          }
                        },
                        "required": [
                          "TORSIONAL_WIND"
                        ]
                      }
                    },
                    "required": [
                      "INPUT_METHOD",
                      "VIBRATION_PARAMS"
                    ]
                  }
                },
                "required": [
                  "PARAMETERS"
                ]
              },
              "then": {
                "properties": {
                  "ADDITIONAL_LOAD": {
                    "items": {
                      "required": [
                        "TORSIONAL_RZ_X",
                        "TORSIONAL_RZ_Y"
                      ]
                    }
                  }
                }
              }
            },
            {
              "description": "For INPUT_METHOD=1, TORSIONAL_RZ_X and TORSIONAL_RZ_Y must not be provided unless VIBRATION_PARAMS.TORSIONAL_WIND=true.",
              "if": {
                "properties": {
                  "PARAMETERS": {
                    "properties": {
                      "INPUT_METHOD": {
                        "const": 1
                      }
                    },
                    "required": [
                      "INPUT_METHOD"
                    ],
                    "not": {
                      "properties": {
                        "VIBRATION_PARAMS": {
                          "properties": {
                            "TORSIONAL_WIND": {
                              "const": true
                            }
                          },
                          "required": [
                            "TORSIONAL_WIND"
                          ]
                        }
                      },
                      "required": [
                        "VIBRATION_PARAMS"
                      ]
                    }
                  }
                },
                "required": [
                  "PARAMETERS"
                ]
              },
              "then": {
                "properties": {
                  "ADDITIONAL_LOAD": {
                    "items": {
                      "not": {
                        "anyOf": [
                          {
                            "required": [
                              "TORSIONAL_RZ_X"
                            ]
                          },
                          {
                            "required": [
                              "TORSIONAL_RZ_Y"
                            ]
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          ]
        }
      },
      "additionalProperties": false
    }
  }
}



 

Examples

When INPUT_METHOD = 0

{
  "Assign": {
    "1": {
      "WIND_CODE": "KDS(41-12: 2022)",
      "DESC": "",
      "SCALE_FACTOR_X": 1,
      "SCALE_FACTOR_Y": 1,
      "PARAMETERS": {
        "INPUT_METHOD": 0,
        "WIND_SPEED": 34,
        "ROOF_HEIGHT": 45,
        "CE": 1
      },
      "ADDITIONAL_LOAD": [
        {
          "STORY_NAME": "RF",
          "ALONG_X": 12.5,
          "ALONG_Y": 11.8,
          "TORSIONAL_RZ": 2.4
        },
        {
          "STORY_NAME": "15F",
          "ALONG_X": 10.7,
          "ALONG_Y": 10.1,
          "TORSIONAL_RZ": 2.1
        },
        {
          "STORY_NAME": "10F",
          "ALONG_X": 8.9,
          "ALONG_Y": 8.2,
          "TORSIONAL_RZ": 1.7
        },
        {
          "STORY_NAME": "5F",
          "ALONG_X": 6.4,
          "ALONG_Y": 5.9,
          "TORSIONAL_RZ": 1.2
        }
      ]
    }
  }
}

When INPUT_METHOD = 1

{
  "Assign": {
    "1": {
      "WIND_CODE": "KDS(41-12: 2022)",
      "DESC": "",
      "SCALE_FACTOR_X": 1,
      "SCALE_FACTOR_Y": 1,
      "PARAMETERS": {
        "INPUT_METHOD": 1,
        "EXP_CATEGORY": 0,
        "WIND_SPEED": 28,
        "IMPORTANCE_FACTOR": 1,
        "ROOF_HEIGHT": 60,
        "TOPOGRAPHIC_EFFECT": {
          "OPT_USE": true,
          "KZT": 1
        },
        "DIRECTION_FACTOR_X": 1,
        "DIRECTION_FACTOR_Y": 1,
        "RIGIDITY": 0,
        "GUST_FACTOR_X": 2.2,
        "GUST_FACTOR_Y": 2.2,
        "FORCE_COEF": {
          "OPT_USE": true,
          "FORCE_COEF": 1.3
        },
        "BUILDING_TYPE": 0,
        "VIBRATION_PARAMS": {
          "ACROSS_WIND": true,
          "TORSIONAL_WIND": true,
          "WIND_RESPONSE": true,
          "BL_X": 20,
          "BL_Y": 33,
          "NO_X": 0.17,
          "NO_Y": 0.2,
          "NO_T": 0.3,
          "M": 11090,
          "MX": 3700,
          "MY": 3700,
          "MI": 465000,
          "ZF": 0.015,
          "VIBRATION_MODE": 0.5
        },
        "ADDITIONAL_LOAD": [
          {
            "STORY_NAME": "RF",
            "ALONG_X": 28.5,
            "ALONG_Y": 26.8,
            "ACROSS_X": 9.5,
            "ACROSS_Y": 8.8,
            "TORSIONAL_RZ_X": 4.2,
            "TORSIONAL_RZ_Y": 4
          },
          {
            "STORY_NAME": "30F",
            "ALONG_X": 25.2,
            "ALONG_Y": 23.7,
            "ACROSS_X": 8.4,
            "ACROSS_Y": 7.9,
            "TORSIONAL_RZ_X": 3.8,
            "TORSIONAL_RZ_Y": 3.6
          },
          {
            "STORY_NAME": "20F",
            "ALONG_X": 20.4,
            "ALONG_Y": 19.1,
            "ACROSS_X": 6.9,
            "ACROSS_Y": 6.3,
            "TORSIONAL_RZ_X": 3,
            "TORSIONAL_RZ_Y": 2.8
          },
          {
            "STORY_NAME": "10F",
            "ALONG_X": 14.6,
            "ALONG_Y": 13.5,
            "ACROSS_X": 4.7,
            "ACROSS_Y": 4.2,
            "TORSIONAL_RZ_X": 2.1,
            "TORSIONAL_RZ_Y": 1.9
          },
          {
            "STORY_NAME": "5F",
            "ALONG_X": 9.8,
            "ALONG_Y": 9.1,
            "ACROSS_X": 3.1,
            "ACROSS_Y": 2.8,
            "TORSIONAL_RZ_X": 1.4,
            "TORSIONAL_RZ_Y": 1.3
          }
        ]
      }
    }
  }
}

When INPUT_METHOD = 2

{
  "Assign": {
    "1": {
      "WIND_CODE": "KDS(41-12: 2022)",
      "DESC": "",
      "SCALE_FACTOR_X": 1,
      "SCALE_FACTOR_Y": 1,
      "PARAMETERS": {
        "INPUT_METHOD": 2,
        "ROOF_HEIGHT": 60,
        "DM": 20,
        "DB": 20,
        "N": 0.17,
        "M": 11090,
        "ZF": 0.015
      }
    },
    "ADDITIONAL_LOAD": [
      {
        "STORY_NAME": "RF",
        "ALONG_X": 18.5,
        "ALONG_Y": 17.8,
        "TORSIONAL_RZ": 3.6
      },
      {
        "STORY_NAME": "30F",
        "ALONG_X": 16.4,
        "ALONG_Y": 15.6,
        "TORSIONAL_RZ": 3.1
      },
      {
        "STORY_NAME": "20F",
        "ALONG_X": 13.2,
        "ALONG_Y": 12.4,
        "TORSIONAL_RZ": 2.5
      },
      {
        "STORY_NAME": "10F",
        "ALONG_X": 9.1,
        "ALONG_Y": 8.6,
        "TORSIONAL_RZ": 1.8
      }
    ]
  }
}



 

Specifications

No. Description Key Value Type Default Required

1

Wind load code.

"WIND_CODE"

string (enum)

-

Required

2

Optional description.

"DESC"

string

Optional

3

Scale factor for X direction.

"SCALE_FACTOR_X"

number

-

Required

4

Scale factor for Y direction.

"SCALE_FACTOR_Y"

number

-

Required

5

KDS(41-12:2022) wind parameters.

"PARAMETERS"

object

-

Required

(1)

Input method for KDS(41-12:2022) wind parameters.

• 0 : Simplified Method

• 1 : General Method

• 2 : General Method - Vortex Shedding

"INPUT_METHOD"

integer (enum)

-

Required

When INPUT_METHOD = 0

(1)

Basic wind speed.

"WIND_SPEED"

number

-

Required

(2)

Roof height.

"ROOF_HEIGHT"

number

system

Optional

(3)

Exposure coefficient.

"CE"

number

1

Optional

When INPUT_METHOD = 1

(1)

Exposure category.

• 0 : A

• 1 : B

• 2 : C

• 3 : D

"EXP_CATEGORY"

integer (enum)

-

Required

(2)

Basic wind speed.

"WIND_SPEED"

number

-

Required

(3)

Importance factor.

"IMPORTANCE_FACTOR"

number

-

Required

(4)

Roof height.

"ROOF_HEIGHT"

number

system

Optional

(5)

Optional topographic effect.

"TOPOGRAPHIC_EFFECT"

object

-

Optional

a

Whether to use topographic effect.

"OPT_USE"

boolean

false

Optional

When TOPOGRAPHIC_EFFECT.OPT_USE = true

a

Topographic factor.

"KZT"

number

-

Conditional

(6)

Direction factor for X direction.

"DIRECTION_FACTOR_X"

number

1

Optional

(7)

Direction factor for Y direction.

"DIRECTION_FACTOR_Y"

number

1

Optional

(8)

Rigidity classification.

"RIGIDITY"

integer

-

Required

(9)

Gust factor for X direction.

"GUST_FACTOR_X"

number

-

Required

(10)

Gust factor for Y direction.

"GUST_FACTOR_Y"

number

-

Required

(11)

Optional force coefficient.

"FORCE_COEF"

object

-

Optional

a

Whether to use user-defined force coefficient.

"OPT_USE"

boolean

false

Optional

When FORCE_COEF.OPT_USE = true

a

Force coefficient value.

"FORCE_COEF"

number

-

Conditional

(12)

Building type.

• 0 : Middle Low Rise Building

• 1 : High Rise Building

"BUILDING_TYPE"

integer (enum)

-

Optional

(13)

Conditional vibration parameters.

"VIBRATION_PARAMS"

object

-

Optional

a

Across-wind vibration option.

"ACROSS_WIND"

boolean

false

Optional

b

Torsional-wind vibration option.

"TORSIONAL_WIND"

boolean

false

Optional

c

Wind response option.

"WIND_RESPONSE"

boolean

false

Optional

d

Building Length X.

"BL_X"

number

-

Required

e

Building Length Y.

"BL_Y"

number

-

Required

f

Natural frequency in X direction.

"NO_X"

number

-

Required

g

Natural frequency in Y direction.

"NO_Y"

number

-

Required

h

Torsional natural frequency.

"NO_T"

number

-

Required

i

Mass.

"M"

number

system

Optional

j

Mass in X direction.

"MX"

number

system

Optional

k

Mass in Y direction.

"MY"

number

system

Optional

l

Mass moment of inertia.

"MI"

number

system

Optional

m

Damping ratio.

"ZF"

number

-

Required

n

Vibration mode coefficient.

"VIBRATION_MODE"

number

-

Required

When INPUT_METHOD = 2

(1)

Roof height. If omitted, the product system value is used.

"ROOF_HEIGHT"

number

system

Optional

(2)

Vortex shedding parameter DM.

"DM"

number

-

Required

(3)

Vortex shedding parameter DB.

"DB"

number

-

Required

(4)

Natural frequency for vortex shedding check.

"N"

number

-

Required

(5)

Mass for vortex shedding check.

"M"

number

system

Optional

(6)

Damping ratio for vortex shedding check.

"ZF"

number

-

Required

6

Additional story-level wind load list.

"ADDITIONAL_LOAD"

array [object]

-

Optional

(1)

Story name.

"STORY_NAME"

string

-

Required

(2)

Additional along-wind load in X direction.

"ALONG_X"

number

-

Optional

(3)

Additional along-wind load in Y direction.

"ALONG_Y"

number

-

Optional

(4)

Additional across-wind load in X direction. 

"ACROSS_X"

number

-

Optional

(5)

Additional across-wind load in Y direction.

"ACROSS_Y"

number

-

Optional

(6)

Additional torsional wind load RZ.

"TORSIONAL_RZ"

number

-

Optional

(7)

Additional torsional wind load RZ for X direction.

"TORSIONAL_RZ_X"

number

-

Optional

(8)

Additional torsional wind load RZ for Y direction.

"TORSIONAL_RZ_Y"

number

-

Optional

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