Skip to content

Commit

Permalink
Added the curly brackets for ifs and fors
Browse files Browse the repository at this point in the history
  • Loading branch information
devyeshtandon committed Aug 9, 2016
1 parent a90a52c commit 956024c
Show file tree
Hide file tree
Showing 5 changed files with 55 additions and 27 deletions.
48 changes: 32 additions & 16 deletions mbdynFMI.cc
Original file line number Diff line number Diff line change
Expand Up @@ -76,8 +76,9 @@ int annotation_start_handle(void *context, const char *parentName, void *parent,

int annotation_data_handle(void* context, const char *s, int len) {
int i;
for(i = 0; i < len; i++)
for(i = 0; i < len; i++){
printf("%c", s[i]);
}
return 0;
}

Expand Down Expand Up @@ -115,12 +116,15 @@ void fmu2::setCallBackFunction(){

void fmu2::ImportCreateDLL(int type){

if(type == 1)
if(type == 1){
jmstatus = fmi2_import_create_dllfmu(fmu, fmi2_fmu_kind_me, &callBackFunctions);
else if (type == 0)
}
else if (type == 0){
jmstatus = fmi2_import_create_dllfmu(fmu, fmi2_fmu_kind_cs, &callBackFunctions);
else
}
else{
std::cout<<"Unknown Type";
}

STATUSCHECK(jmstatus);
}
Expand All @@ -147,8 +151,9 @@ void fmu2::Initialize(double dTol, double time, double rTol){
jmstatus = fmi2_import_instantiate(fmu, "Test ME model instance",fmi2_model_exchange,0,0);
STATUSCHECK(jmstatus);

if (rTol ==0)
if (rTol ==0){
rTol = 0.001;
}

fmistatus = fmi2_import_setup_experiment(fmu, dTol, rTol, time, fmi2_false, 0.0);
STATUSCHECK(fmistatus);
Expand Down Expand Up @@ -221,8 +226,9 @@ void fmu2::GetDirectionalDerivatives(double** jacobian, int* inputStatesVRef, in
fmistatus = fmi2_import_get_directional_derivative(fmu, stateList, numOfContStates + inputLength, &derList[i], 1, output , seedVector);
STATUSCHECK(fmistatus);

for (int j=0; j<numOfContStates + inputLength; j++)
for (int j=0; j<numOfContStates + inputLength; j++){
jacobian[i][j] = output[j];
}
}
delete[] derList;
delete[] stateList;
Expand Down Expand Up @@ -335,18 +341,23 @@ void fmu2::SetValuesByVariable(const std::string s, double value){
baseType = fmi2_import_get_variable_base_type(v);

if (aliasKind == fmi2_variable_is_not_alias){
if(baseType != fmi2_base_type_bool)
if(baseType != fmi2_base_type_bool){
value = -value;
else
}
else{
value = (bool)!value;
}
}

if (baseType == fmi2_base_type_real)
if (baseType == fmi2_base_type_real){
fmistatus = fmi2_import_set_real(fmu, &ref, 1, &value);
else if (baseType == fmi2_base_type_int)
}
else if (baseType == fmi2_base_type_int){
fmistatus = fmi2_import_set_integer(fmu, &ref, 1, (const int*)&value);
else if (baseType == fmi2_base_type_bool)
}
else if (baseType == fmi2_base_type_bool){
fmistatus = fmi2_import_set_boolean(fmu, &ref, 1, (const fmi2_boolean_t*)&value);
}
else{
silent_cerr("Input type not Supported");
throw ErrGeneric(MBDYN_EXCEPT_ARGS);
Expand Down Expand Up @@ -516,18 +527,23 @@ void fmu1::SetValuesByVariable(const std::string s, double value){
baseType = fmi1_import_get_variable_base_type(v);

if (aliasKind == fmi1_variable_is_negated_alias){
if(baseType != fmi1_base_type_bool)
if(baseType != fmi1_base_type_bool){
value = -value;
else
}
else {
value = (bool)!value;
}
}

if (baseType == fmi1_base_type_real)
if (baseType == fmi1_base_type_real){
fmistatus = fmi1_import_set_real(fmu, &ref, 1, &value);
else if (baseType == fmi1_base_type_int)
}
else if (baseType == fmi1_base_type_int){
fmistatus = fmi1_import_set_integer(fmu, &ref, 1, (const int*)&value);
else if (baseType == fmi1_base_type_bool)
}
else if (baseType == fmi1_base_type_bool){
fmistatus = fmi1_import_set_boolean(fmu, &ref, 1, (const fmi1_boolean_t*)&value);
}
else{
silent_cerr("Input type not Supported");
throw ErrGeneric(MBDYN_EXCEPT_ARGS);
Expand Down
Binary file modified mbdynFMI.o
Binary file not shown.
Binary file modified mbdynFMI_config.o
Binary file not shown.
34 changes: 23 additions & 11 deletions module-FMU.cc
Original file line number Diff line number Diff line change
Expand Up @@ -152,23 +152,27 @@ pDM(pDM)

if (directionalFlag){
jacobian = new double*[numOfContinousStates];
for (int i=0; i<numOfContinousStates; i++)
for (int i=0; i<numOfContinousStates; i++){
jacobian[i] = new double[numOfContinousStates + privDriveLength];
}

seedVector = new double[numOfContinousStates + privDriveLength];
}
}

ModuleFMU::~ModuleFMU(void)
{
if (SIMTYPE == IMPORT)
if (SIMTYPE == IMPORT){
model->Terminate();
else if (SIMTYPE == SIMTYPE)
}
else if (SIMTYPE == SIMTYPE){
model->TerminateSlave();
}

if(directionalFlag){
for(int i=0; i<numOfContinousStates; i++)
for(int i=0; i<numOfContinousStates; i++){
delete[] jacobian[i];
}
delete[] jacobian;
delete[] seedVector;
}
Expand Down Expand Up @@ -242,16 +246,20 @@ ModuleFMU::AssJac(VariableSubMatrixHandler& WorkMat,
if (directionalFlag){


for (int i=0; i<numOfContinousStates; i++)
for (int i=0; i<numOfContinousStates; i++){
seedVector[i] = currState[i];
for (int i=0; i<privDriveLength; i++)
}

for (int i=0; i<privDriveLength; i++){
seedVector[i+numOfContinousStates] = privDrivesIndex[i]->dGet();
}

model->GetDirectionalDerivatives(jacobian, jacobianInputVector, privDriveLength, seedVector);
for (int i=0; i<numOfContinousStates; i++){
WM.IncCoef(i,i, 1);
for(int j=0; j<numOfContinousStates; j++)
for(int j=0; j<numOfContinousStates; j++){
WM.IncCoef(i,j, -dCoef*jacobian[i][j]);
}

for(int j=numOfContinousStates; j<numOfContinousStates + privDriveLength; j++){
if(privDrivesIndex[j-numOfContinousStates]->iGetSE()->
Expand All @@ -264,8 +272,9 @@ ModuleFMU::AssJac(VariableSubMatrixHandler& WorkMat,
}

} else {
for(int i=1; i<=numOfContinousStates; i++)
for(int i=1; i<=numOfContinousStates; i++){
WM.IncCoef(i , i, 1.);
}
}
}

Expand Down Expand Up @@ -311,8 +320,9 @@ ModuleFMU::AssRes(SubVectorHandler& WorkVec,
integer iFirstIndex = iGetFirstIndex();

//Set Index to WorkVec
for (int i=1; i<=numOfContinousStates; i++)
for (int i=1; i<=numOfContinousStates; i++){
WorkVec.PutRowIndex(i, iFirstIndex + i);
}

//Set WorkVec with the difference in the XPrimCurr - FMUDerivative
for (int i=1; i<=numOfContinousStates; i++){
Expand Down Expand Up @@ -392,10 +402,12 @@ ModuleFMU::Restart(std::ostream& out) const
unsigned int
ModuleFMU::iGetNumDof(void) const
{
if (SIMTYPE == IMPORT)
if (SIMTYPE == IMPORT){
return numOfContinousStates;
else if (SIMTYPE == COSIM)
}
else if (SIMTYPE == COSIM){
return 0;
}
}

DofOrder::Order
Expand Down
Binary file modified module-FMU.o
Binary file not shown.

0 comments on commit 956024c

Please sign in to comment.