Changeset 3925
- Timestamp:
- 05/24/10 15:29:17 (15 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
issm/trunk/src/c/objects/Model.cpp
r3922 r3925 206 206 } 207 207 /*}}}1*/ 208 209 /*FindParam: */ 208 210 /*FUNCTION Model::FindParam(bool* pparameter,int enum_type {{{1*/ 209 211 … … 481 483 } 482 484 /*}}}1*/ 485 486 /*Update:*/ 487 /*FUNCTION Model::UpdateInputsFromConstant(double constant, int name);{{{1*/ 488 void Model::UpdateInputsFromConstant(double constant, int name){ 489 490 int i; 491 FemModel* femmodel=NULL; 492 493 for(i=0;i<this->femmodels->Size();i++){ 494 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 495 UpdateInputsFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,constant,name); 496 } 497 498 } 499 /*}}}1*/ 500 /*FUNCTION Model::UpdateInputsFromConstant(int constant, int name);{{{1*/ 501 void Model::UpdateInputsFromConstant(int constant, int name){ 502 503 int i; 504 FemModel* femmodel=NULL; 505 506 for(i=0;i<this->femmodels->Size();i++){ 507 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 508 UpdateInputsFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,constant,name); 509 } 510 511 } 512 /*}}}1*/ 513 /*FUNCTION Model::UpdateInputsFromConstant(bool constant, int name);{{{1*/ 514 void Model::UpdateInputsFromConstant(bool constant, int name){ 515 516 int i; 517 FemModel* femmodel=NULL; 518 519 for(i=0;i<this->femmodels->Size();i++){ 520 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 521 UpdateInputsFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,constant,name); 522 } 523 524 } 525 /*}}}1*/ 526 /*FUNCTION Model::UpdateInputsFromVector(double* vector,int name, int type);{{{1*/ 527 void Model::UpdateInputsFromVector(double* vector,int name, int type){ 528 529 int i; 530 FemModel* femmodel=NULL; 531 532 if(vector==NULL)return; //don't bother 533 534 for(i=0;i<this->femmodels->Size();i++){ 535 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 536 UpdateInputsFromVectorx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,vector,name,type); 537 } 538 539 } 540 /*}}}1*/ 541 /*FUNCTION Model::UpdateInputsFromVector(Vec vector,int name, int type);{{{1*/ 542 void Model::UpdateInputsFromVector(Vec vector,int name, int type){ 543 544 int i; 545 FemModel* femmodel=NULL; 546 double* serial_vector=NULL; 547 548 if(vector==NULL)return; //don't bother 549 550 VecToMPISerial(&serial_vector,vector); 551 552 //call double* idential routine. 553 this->UpdateInputsFromVector(serial_vector,name,type); 554 555 /*Free ressources:*/ 556 xfree((void**)&serial_vector); 557 } 558 /*}}}1*/ 559 /*FUNCTION Model::UpdateInputsFromSolution(double* vector,int analysis_type, int sub_analysis_type);{{{1*/ 560 void Model::UpdateInputsFromSolution(double* vector,int analysis_type, int sub_analysis_type){ 561 562 int i; 563 FemModel* femmodel=NULL; 564 565 for(i=0;i<this->femmodels->Size();i++){ 566 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 567 UpdateInputsFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,vector,analysis_type,sub_analysis_type); 568 } 569 570 } 571 /*}}}1*/ 572 /*FUNCTION Model::UpdateFromDakota(double* variables,char** variables_descriptors,int numvariables,DataSet* parameters, double* qmu_part,int qmu_npart);{{{1:*/ 573 void Model::UpdateFromDakota(double* variables,char** variables_descriptors,int numvariables,DataSet* parameters, double* qmu_part,int qmu_npart){ 574 ISSMERROR("not supported yet!"); 575 } 576 /*}}}*/ 577 578 579 /*diverse: */ 483 580 /*FUNCTION Model::GetActiveFormulation {{{1*/ 484 581 FemModel* Model::GetActiveFormulation(){return active;} … … 546 643 } 547 644 /*}}}1*/ 548 /*FUNCTION Model::UpdateInputsFromConstant(double constant, int name);{{{1*/ 549 void Model::UpdateInputsFromConstant(double constant, int name){ 550 551 int i; 552 FemModel* femmodel=NULL; 553 554 for(i=0;i<this->femmodels->Size();i++){ 555 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 556 UpdateInputsFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,constant,name); 557 } 558 559 } 560 /*}}}1*/ 561 /*FUNCTION Model::UpdateInputsFromConstant(int constant, int name);{{{1*/ 562 void Model::UpdateInputsFromConstant(int constant, int name){ 563 564 int i; 565 FemModel* femmodel=NULL; 566 567 for(i=0;i<this->femmodels->Size();i++){ 568 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 569 UpdateInputsFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,constant,name); 570 } 571 572 } 573 /*}}}1*/ 574 /*FUNCTION Model::UpdateInputsFromConstant(bool constant, int name);{{{1*/ 575 void Model::UpdateInputsFromConstant(bool constant, int name){ 576 577 int i; 578 FemModel* femmodel=NULL; 579 580 for(i=0;i<this->femmodels->Size();i++){ 581 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 582 UpdateInputsFromConstantx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,constant,name); 583 } 584 585 } 586 /*}}}1*/ 587 /*FUNCTION Model::UpdateInputsFromVector(double* vector,int name, int type);{{{1*/ 588 void Model::UpdateInputsFromVector(double* vector,int name, int type){ 589 590 int i; 591 FemModel* femmodel=NULL; 592 593 if(vector==NULL)return; //don't bother 594 595 for(i=0;i<this->femmodels->Size();i++){ 596 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 597 UpdateInputsFromVectorx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,vector,name,type); 598 } 599 600 } 601 /*}}}1*/ 602 /*FUNCTION Model::UpdateInputsFromVector(Vec vector,int name, int type);{{{1*/ 603 void Model::UpdateInputsFromVector(Vec vector,int name, int type){ 604 605 int i; 606 FemModel* femmodel=NULL; 607 double* serial_vector=NULL; 608 609 if(vector==NULL)return; //don't bother 610 611 VecToMPISerial(&serial_vector,vector); 612 613 //call double* idential routine. 614 this->UpdateInputsFromVector(serial_vector,name,type); 615 616 /*Free ressources:*/ 617 xfree((void**)&serial_vector); 618 } 619 /*}}}1*/ 620 /*FUNCTION Model::UpdateInputsFromSolution(double* vector,int analysis_type, int sub_analysis_type);{{{1*/ 621 void Model::UpdateInputsFromSolution(double* vector,int analysis_type, int sub_analysis_type){ 622 623 int i; 624 FemModel* femmodel=NULL; 625 626 for(i=0;i<this->femmodels->Size();i++){ 627 femmodel=(FemModel*)this->femmodels->GetObjectByOffset(i); 628 UpdateInputsFromSolutionx( femmodel->elements,femmodel->nodes, femmodel->vertices, femmodel->loads, femmodel->materials, femmodel->parameters,vector,analysis_type,sub_analysis_type); 629 } 630 631 } 632 /*}}}1*/ 633 /*FUNCTION Model::UpdateFromDakota(double* variables,char** variables_descriptors,int numvariables,DataSet* parameters, double* qmu_part,int qmu_npart);{{{1:*/ 634 void Model::UpdateFromDakota(double* variables,char** variables_descriptors,int numvariables,DataSet* parameters, double* qmu_part,int qmu_npart){ 635 ISSMERROR("not supported yet!"); 636 } 637 /*}}}*/ 645
Note:
See TracChangeset
for help on using the changeset viewer.