source: issm/trunk-jpl/src/c/modules/ModelProcessorx/CreateDataSets.cpp@ 16544

Last change on this file since 16544 was 16544, checked in by Mathieu Morlighem, 11 years ago

DEL: getting rid of 2 very simple files

File size: 2.0 KB
Line 
1/*!\file: CreateDataSets
2 * \brief general driver for creating all datasets that make a finite element iomodel
3 */
4
5#ifdef HAVE_CONFIG_H
6 #include <config.h>
7#else
8#error "Cannot compile with HAVE_CONFIG_H symbol! run configure first!"
9#endif
10
11#include "../../classes/classes.h"
12#include "../../shared/shared.h"
13#include "../MeshPartitionx/MeshPartitionx.h"
14#include "./ModelProcessorx.h"
15
16void CreateDataSets(Elements* elements,Nodes* nodes, Vertices* vertices, Materials* materials,Constraints* constraints, Loads* loads,Parameters* parameters,IoModel* iomodel,FILE* toolkitfile,char* rootpath,const int solution_enum,const int analysis_enum,const int nummodels,int analysis_counter){
17
18 /*Creates Nodes and constraints datasets if empty*/
19
20 /*Now, branch onto analysis dependent model generation: */
21 Analysis* analysis = EnumToAnalysis(analysis_enum);
22 analysis->UpdateParameters(parameters,iomodel,solution_enum,analysis_enum);
23 analysis->CreateNodes(nodes,iomodel);
24 analysis->CreateConstraints(constraints,iomodel);
25 analysis->CreateLoads(loads,iomodel);
26 analysis->UpdateElements(elements,iomodel,analysis_counter,analysis_enum);
27 delete analysis;
28
29 /*Update Elements and Materials For Inversions*/
30 #ifdef _HAVE_CONTROL_
31 UpdateElementsAndMaterialsControl(elements,materials,iomodel);
32 #endif
33
34 /*Update Elements and Materials For Dakota*/
35 #ifdef _HAVE_DAKOTA_
36 UpdateElementsAndMaterialsDakota(elements,materials,iomodel);
37 #endif
38
39 /*Update Elements in case we are running a transient solution: */
40 #ifdef _HAVE_TRANSIENT_
41 if(analysis_counter==(nummodels-1)&& solution_enum==TransientSolutionEnum){
42 UpdateElementsTransient(elements,parameters,iomodel,analysis_counter,analysis_enum);
43 }
44 #endif
45
46 /* Update counters, because we have created more nodes, loads and
47 * constraints, and ids for objects created in next call to CreateDataSets
48 * will need to start at the end of the updated counters: */
49 iomodel->nodecounter = nodes->MaximumId();
50 iomodel->loadcounter = loads->NumberOfLoads();
51 iomodel->constraintcounter = constraints->NumberOfConstraints();
52}
Note: See TracBrowser for help on using the repository browser.