3D Beam Finite Element Code  1.0
setup.h
Go to the documentation of this file.
1 // Copyright 2015. All rights reserved.
2 //
3 // Redistribution and use in source and binary forms, with or without
4 // modification, are permitted provided that the following conditions are met:
5 //
6 // * Redistributions of source code must retain the above copyright notice,
7 // this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above copyright notice,
9 // this list of conditions and the following disclaimer in the documentation
10 // and/or other materials provided with the distribution.
11 //
12 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
13 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
14 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
15 // ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
16 // LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
17 // CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
18 // SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
19 // INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
20 // CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
21 // ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
22 // POSSIBILITY OF SUCH DAMAGE.
23 //
24 // Author: ryan.latture@gmail.com (Ryan Latture)
25 
26 #ifndef FEA_SETUP_H
27 #define FEA_SETUP_H
28 
29 #include "containers.h"
30 #include "csv_parser.h"
31 #include "options.h"
32 #include <rapidjson/document.h>
33 #include <rapidjson/filereadstream.h>
34 
35 namespace fea {
36 
45  rapidjson::Document parseJSONConfig(const std::string &config_filename);
46 
53  std::vector<Node> createNodeVecFromJSON(const rapidjson::Document &config_doc);
54 
62  std::vector<Elem> createElemVecFromJSON(const rapidjson::Document &config_doc);
63 
70  std::vector<BC> createBCVecFromJSON(const rapidjson::Document &config_doc);
71 
78  std::vector<Force> createForceVecFromJSON(const rapidjson::Document &config_doc);
79 
86  std::vector<Tie> createTieVecFromJSON(const rapidjson::Document &config_doc);
87 
94  std::vector<Equation> createEquationVecFromJSON(const rapidjson::Document &config_doc);
95 
104  Job createJobFromJSON(const rapidjson::Document &config_doc);
105 
115  Options createOptionsFromJSON(const rapidjson::Document &config_doc);
116 }
117 
118 #endif // FEA_SETUP_H
std::vector< Equation > createEquationVecFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:184
std::vector< Tie > createTieVecFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:165
std::vector< Node > createNodeVecFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:77
std::vector< BC > createBCVecFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:131
rapidjson::Document parseJSONConfig(const std::string &config_filename)
Definition: setup.cpp:60
std::vector< Force > createForceVecFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:148
std::vector< Elem > createElemVecFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:97
Options createOptionsFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:216
Definition: containers.h:41
Job createJobFromJSON(const rapidjson::Document &config_doc)
Definition: setup.cpp:210