MCPcopy Create free account
hub / github.com/OpenSees/OpenSees / OPS_getRVParamTag

Function OPS_getRVParamTag

SRC/interpreter/OpenSeesReliabilityCommands.cpp:1121–1185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1119}
1120
1121int OPS_getRVParamTag() {
1122 if (OPS_GetNumRemainingInputArgs() < 1) {
1123 opserr << "ERROR: need getRVParamTag rvTag\n";
1124 return -1;
1125 }
1126
1127 // random variable tag input
1128 int rvTag;
1129 int num = 1;
1130 if (OPS_GetIntInput(&num, &rvTag) < 0) {
1131 opserr << "ERROR: failed to get rvTag\n";
1132 return -1;
1133 }
1134
1135 // reliability domain
1136 auto *theReliabilityDomain = cmds->getDomain();
1137 if (theReliabilityDomain == 0) {
1138 opserr << "ERROR: reliability domain is null\n";
1139 return -1;
1140 }
1141
1142 // get random variable pointer
1143 auto *rv = theReliabilityDomain->getRandomVariablePtr(rvTag);
1144 if (rv == 0) {
1145 opserr << "ERROR: random variable with tag " << rvTag
1146 << " not found\n";
1147 return -1;
1148 }
1149
1150 // get random variable index
1151 int rvIndex = theReliabilityDomain->getRandomVariableIndex(rvTag);
1152
1153 // get parameter index
1154 int paramIndex =
1155 theReliabilityDomain->getParameterIndexFromRandomVariableIndex(
1156 rvIndex);
1157 if (paramIndex < 0) {
1158 opserr
1159 << "ERROR: failed to get parameter index for random variable"
1160 << rvTag << "\n";
1161 return -1;
1162 }
1163
1164 // get parameter pointer
1165 auto *domain = cmds->getStructuralDomain();
1166 if (domain == 0) {
1167 opserr << "ERROR: domain is null\n";
1168 return -1;
1169 }
1170
1171 auto *param = domain->getParameterFromIndex(paramIndex);
1172 if (param == 0) {
1173 opserr << "ERROR: failed to get parameter for random variable"
1174 << rvTag << "\n";
1175 return -1;
1176 }
1177
1178 int paramTag = param->getTag();

Callers 1

Py_ops_getRVParamTagFunction · 0.85

Calls 10

getRandomVariablePtrMethod · 0.80
getStructuralDomainMethod · 0.80
OPS_GetIntInputFunction · 0.70
OPS_SetIntOutputFunction · 0.70
getDomainMethod · 0.45
getParameterFromIndexMethod · 0.45
getTagMethod · 0.45

Tested by

no test coverage detected