[asl] 58/177: Adding ParametersManager to all examples
Ghislain Vaillant
ghisvail-guest at moszumanska.debian.org
Thu Aug 27 09:22:40 UTC 2015
This is an automated email from the git hooks/post-receive script.
ghisvail-guest pushed a commit to branch master
in repository asl.
commit 0a3e72d1d12343f04f92787467d1734c978a299e
Author: Avtech Scientific <AvtechScientific at users.noreply.github.com>
Date: Wed Jul 1 13:07:51 2015 +0300
Adding ParametersManager to all examples
---
README.md | 2 +-
doc/Developer-Guide/Doxyfile.in | 4 +--
examples/elastic/acousticWaves.cc | 20 +++++++-------
examples/elastic/cubeGravity.cc | 4 +--
examples/elastic/cubeIncompressibleGravity.cc | 6 ++--
examples/elastic/cubePoroelasticGravity.cc | 6 ++--
examples/elastic/poroelastic.cc | 4 +--
examples/flow/bus_wind.cc | 40 +++++++++++++++------------
examples/flow/compressor.cc | 13 +++++++--
examples/flow/flow.cc | 19 +++++++++----
examples/flow/flow2.cc | 17 ++++++++----
examples/flow/flow3.cc | 11 ++++++--
examples/flow/flowKDPGrowth.cc | 12 +++++---
examples/flow/flowRotatingCylinders.cc | 17 ++++++++----
examples/flow/locomotive_in_tunnel.cc | 10 +++++++
examples/flow/locomotive_laminar.cc | 11 ++++++--
examples/flow/locomotive_stability.cc | 29 +++++++++++--------
examples/heatTransfer/surfaceFlux.cc | 17 ++++++++----
examples/input_data/Media_Files_LICENSE.md | 7 ++++-
examples/jumpingObjects/jumpingBox.cc | 4 +--
examples/levelSet/levelSetBasic.cc | 6 ++--
examples/levelSet/levelSetFacetedGrowth.cc | 8 +++---
examples/massTransferSM/testSMDiff.cc | 22 +++++++++------
examples/massTransferSM/testSMDiff3C.cc | 38 ++++++++++++++-----------
examples/massTransferSM/testSMPhi.cc | 14 +++++++---
examples/massTransferSM/testSMPhiBV.cc | 18 ++++++++----
src/utilities/aslParametersManager.cxx | 6 ++--
27 files changed, 230 insertions(+), 135 deletions(-)
diff --git a/README.md b/README.md
index 5dc0535..f5b8887 100644
--- a/README.md
+++ b/README.md
@@ -27,7 +27,7 @@ ASL is distributed under the free GNU Affero General Public License (AGPLv3) wit
1. Go to tests: `cd examples/flow/locomotive_in_tunnel`
2. Copy the .stl input file: `cp ../../../../ASL/examples/input_data/locomotive.stl .`
-3. Run: `./locomotive_in_tunnel`
+3. Run: `./locomotive_in_tunnel`. Optionally: change some parameters - `./locomotive_in_tunnel --dx 0.1 --dt 2` or write all of them into a file for later editing/reuse - `./locomotive_in_tunnel -g bigGrid.ini`. See `locomotive_in_tunnel -h` for more information.
4. Post-processing: [step by step example](https://github.com/AvtechScientific/ASL/wiki/User-Guide#post-processing).
### Writing your own code using ASL
diff --git a/doc/Developer-Guide/Doxyfile.in b/doc/Developer-Guide/Doxyfile.in
index e7627aa..d23a6fa 100644
--- a/doc/Developer-Guide/Doxyfile.in
+++ b/doc/Developer-Guide/Doxyfile.in
@@ -668,7 +668,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
-INPUT = @CMAKE_SOURCE_DIR@/src @CMAKE_SOURCE_DIR@/test
+INPUT = @CMAKE_SOURCE_DIR@
# This tag can be used to specify the character encoding of the source files
# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
@@ -759,7 +759,7 @@ EXCLUDE_SYMBOLS =
# directories that contain example code fragments that are included (see
# the \include command).
-EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/test
+EXAMPLE_PATH = @CMAKE_SOURCE_DIR@/examples @CMAKE_SOURCE_DIR@/test
# If the value of the EXAMPLE_PATH tag contains directories, you can use the
# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
diff --git a/examples/elastic/acousticWaves.cc b/examples/elastic/acousticWaves.cc
index cedb4a1..fcd54ba 100644
--- a/examples/elastic/acousticWaves.cc
+++ b/examples/elastic/acousticWaves.cc
@@ -108,7 +108,7 @@ void Parameters::updateNumValues()
{
double vs(sqrt((bulkModulus.v()+2.*shearModulus.v())/rho.v()));
dt=dx.v()/vs*.1;
- cout<<vs<<"; "<<dx.v()<<"; "<<dt.v()<<endl;
+ cout << vs << "; " << dx.v() << "; " << dt.v() << endl;
bulkMNum = bulkModulus.v()/rho.v()/dx.v()/dx.v();
shearMNum = shearModulus.v()/rho.v()/dx.v()/dx.v();
size = asl::makeAVec(tubeL.v() / dx.v() + 1,
@@ -162,7 +162,7 @@ int main(int argc, char* argv[])
Parameters params;
params.load(argc, argv);
- std::cout << "Acoustic waves: Data initialization..."<<flush;
+ std::cout << "Data initialization... " << flush;
asl::Block block(params.size, params.dx.v());
auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
@@ -179,7 +179,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
- std::cout << "cubeGravity: Numerics initialization..." << flush;
+ std::cout << "Numerics initialization... " << flush;
auto elasticity(generateFDElasticityRelax(displacement,
params.bulkMNum.v(),
@@ -207,14 +207,14 @@ int main(int argc, char* argv[])
initAll(bc);
std::cout << "Finished" << endl;
- std::cout << "Computing..."<<endl;
+ std::cout << "Computing..." << endl;
asl::Timer timer;
executeAll(bc);
timer.start();
double tOutPrev(0);
- cout<<params.dt.v()<<endl;
+ cout << params.dt.v() << endl;
for (double t(0); t < params.tSimulation.v(); t+=params.dt.v())
{
elasticity->execute();
@@ -224,8 +224,8 @@ int main(int argc, char* argv[])
{
timer.stop();
tOutPrev=t;
- cout<<t<<"/"<<params.tSimulation.v()<<"; expected left time: "<<
- timer.getLeftTime(t/params.tSimulation.v()) <<endl;
+ cout << t << "/" << params.tSimulation.v() << "; expected left time: " <<
+ timer.getLeftTime(t/params.tSimulation.v()) << endl;
writer.write();
timer.resume();
@@ -233,11 +233,11 @@ int main(int argc, char* argv[])
}
timer.stop();
- std::cout<<"Finished"<<endl;
+ std::cout << "Finished" << endl;
cout << "time=" << timer.getTime() << "; clockTime="
- << timer.getClockTime() << "; load="
- << timer.getProcessorLoad() * 100 << "%" << endl;
+ << timer.getClockTime() << "; load="
+ << timer.getProcessorLoad() * 100 << "%" << endl;
std::cout << "Output...";
std::cout << "Finished" << endl;
diff --git a/examples/elastic/cubeGravity.cc b/examples/elastic/cubeGravity.cc
index 24c6c88..66917eb 100644
--- a/examples/elastic/cubeGravity.cc
+++ b/examples/elastic/cubeGravity.cc
@@ -64,7 +64,7 @@ int main(int argc, char* argv[])
asl::AVec<FlT> gNum(g.v()/dx.v());
- std::cout << "CubeGravity: Data initialization..." << flush;
+ std::cout << "Data initialization... " << flush;
asl::Block block(size.v(), dx.v());
auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
@@ -83,7 +83,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
- std::cout << "cubeGravity: Numerics initialization..." << flush;
+ std::cout << "Numerics initialization... " << flush;
asl::SPFDElasticity2 elasticity(new asl::FDElasticity2(displacement,
acl::generateVEConstant(bulkModulusNum.v()),
diff --git a/examples/elastic/cubeIncompressibleGravity.cc b/examples/elastic/cubeIncompressibleGravity.cc
index d8e2d12..47acbaa 100644
--- a/examples/elastic/cubeIncompressibleGravity.cc
+++ b/examples/elastic/cubeIncompressibleGravity.cc
@@ -65,7 +65,7 @@ int main(int argc, char* argv[])
asl::AVec<FlT> gNum(g.v()/dx.v()*dt.v());
- std::cout << "Data initialization..." << flush;
+ std::cout << "Data initialization... " << flush;
asl::Block block(size.v(), dx.v());
auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
@@ -80,7 +80,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization..." << flush;
+ std::cout << "Numerics initialization... " << flush;
auto elasticity(generateFDElasticityStatic(displacement,
bulkModulusNum.v(),
@@ -129,7 +129,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
cout << "time=" << timer.getTime() << "; clockTime="
- << timer.getClockTime() << "; load="
+ << timer.getClockTime() << "; load="
<< timer.getProcessorLoad() * 100 << "%" << endl;
cout << "timeBulk=" << timerBulk.getTime() <<
"; timeBC=" << timerBC.getTime() << endl;
diff --git a/examples/elastic/cubePoroelasticGravity.cc b/examples/elastic/cubePoroelasticGravity.cc
index f1b9b5b..bb8eaf4 100644
--- a/examples/elastic/cubePoroelasticGravity.cc
+++ b/examples/elastic/cubePoroelasticGravity.cc
@@ -67,7 +67,7 @@ int main(int argc, char* argv[])
asl::AVec<FlT> gNum(g.v()*dt.v()*dt.v());
- std::cout << "Data initialization..." << flush;
+ std::cout << "Data initialization... " << flush;
asl::Block block(size.v(), dx.v());
auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
@@ -80,11 +80,9 @@ int main(int argc, char* argv[])
auto mapX(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
initData(mapX, mapDF);
-
-
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization..." << flush;
+ std::cout << "Numerics initialization... " << flush;
auto elasticity(generateFDPoroElasticity(displacement,
pressureL,
diff --git a/examples/elastic/poroelastic.cc b/examples/elastic/poroelastic.cc
index b18191b..7896983 100644
--- a/examples/elastic/poroelastic.cc
+++ b/examples/elastic/poroelastic.cc
@@ -64,7 +64,7 @@ int main(int argc, char* argv[])
appParamsManager.load(argc, argv);
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::SPDataWithGhostNodesACLData map0(asl::read(appParamsManager.getDir() +
"brain.vti", 0));
@@ -100,7 +100,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization...";
+ std::cout << "Numerics initialization... ";
auto elasticity(make_shared<asl::FDPoroElasticity>(displacement,
pressure,
diff --git a/examples/flow/bus_wind.cc b/examples/flow/bus_wind.cc
index 1480461..7400cc7 100644
--- a/examples/flow/bus_wind.cc
+++ b/examples/flow/bus_wind.cc
@@ -25,7 +25,7 @@
\example bus_wind.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <math/aslDistanceFunction.h>
#include <math/aslPositionFunction.h>
@@ -34,7 +34,7 @@
#include <writers/aslVTKFormatWriters.h>
#include <num/aslLBGK.h>
#include <num/aslLBGKBC.h>
-#include "utilities/aslTimer.h"
+#include <utilities/aslTimer.h>
#include <readers/aslVTKFormatReaders.h>
@@ -47,15 +47,21 @@ using asl::AVec;
using asl::makeAVec;
-int main()
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("bus_wind",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(8);
Param dt(1.);
Param nu(.01);
Param nuNum(nu.v()*dt.v()/dx.v()/dx.v());
- std::cout<<"Flow: Data initialization...";
+ std::cout << "Data initialization... ";
auto object(asl::readSurface("bus.stl", dx.v(), 1.5,.25,0.,1.,3.,1.));
@@ -65,9 +71,9 @@ int main()
auto forceField(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
asl::initData(forceField, makeAVec(0.,0.,0.));
- std::cout<<"Finished"<<endl;
+ std::cout << "Finished" << endl;
- std::cout<<"Flow: Numerics initialization...";
+ std::cout << "Numerics initialization... ";
asl::SPLBGK lbgk(new asl::LBGK(block,
acl::generateVEConstant(FlT(nu.v())),
@@ -92,8 +98,8 @@ int main()
computeForce->init();
- std::cout<<"Finished"<<endl;
- std::cout<<"Computing...";
+ std::cout << "Finished" << endl;
+ std::cout << "Computing...";
asl::WriterVTKXML writer("bus_wind");
writer.addScalars("bus", *object);
@@ -111,7 +117,7 @@ int main()
timer.start();
timer1.reset();
timer2.reset();
- for(unsigned int i(1); i < 101; ++i)
+ for (unsigned int i(1); i < 101; ++i)
{
timer1.resume();
lbgk->execute();
@@ -119,9 +125,9 @@ int main()
timer2.resume();
executeAll(bc);
timer2.stop();
- if(!(i%1000))
+ if (!(i%1000))
{
- cout<<i<<endl;
+ cout << i << endl;
executeAll(bcV);
computeForce->execute();
writer.write();
@@ -129,16 +135,16 @@ int main()
}
timer.stop();
- std::cout<<"Finished"<<endl;
+ std::cout << "Finished" << endl;
cout << "time=" << timer.getTime() << "; clockTime="
- << timer.getClockTime() << "; load="
- << timer.getProcessorLoad() * 100 << "%" << endl;
+ << timer.getClockTime() << "; load="
+ << timer.getProcessorLoad() * 100 << "%" << endl;
cout << "time1=" << timer1.getTime() << "; time2=" << timer2.getTime() << endl;
- std::cout<<"Output...";
- std::cout<<"Finished"<<endl;
- std::cout<<"Ok"<<endl;
+ std::cout << "Output...";
+ std::cout << "Finished" << endl;
+ std::cout << "Ok" << endl;
return 0;
}
diff --git a/examples/flow/compressor.cc b/examples/flow/compressor.cc
index 9f5b0b0..6a5e35a 100644
--- a/examples/flow/compressor.cc
+++ b/examples/flow/compressor.cc
@@ -25,7 +25,7 @@
\example compressor.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
@@ -34,7 +34,7 @@
#include <writers/aslVTKFormatWriters.h>
#include <num/aslLBGK.h>
#include <num/aslLBGKBC.h>
-#include "utilities/aslTimer.h"
+#include <utilities/aslTimer.h>
#include <readers/aslVTKFormatReaders.h>
typedef float FlT;
@@ -56,8 +56,15 @@ asl::SPDistanceFunction generateCase(asl::Block & bl)
return normalize(comprCase, bl.dx);
}
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("compressor",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(0.5);
Param dt(.001);
Param nu(.2);
diff --git a/examples/flow/flow.cc b/examples/flow/flow.cc
index a3ec89e..d11bad2 100644
--- a/examples/flow/flow.cc
+++ b/examples/flow/flow.cc
@@ -25,7 +25,7 @@
\example flow.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <aslDataInc.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
@@ -45,19 +45,26 @@ typedef asl::UValue<double> Param;
using asl::AVec;
using asl::makeAVec;
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("flow",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param nu(.00625);
Param nuNum(nu.v()*dt.v()/dx.v()/dx.v());
- AVec<int> size(asl::makeAVec(300,50,50));
+ AVec<int> size(asl::makeAVec(300, 50, 50));
auto gSize(dx.v()*AVec<>(size));
- std::cout << "Flow: Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size,dx.v());
@@ -73,7 +80,7 @@ int main()
std::cout << "Finished" << endl;
- std::cout << "Flow: Numerics initialization...";
+ std::cout << "Numerics initialization... ";
asl::SPLBGK lbgk(new asl::LBGK(block,
acl::generateVEConstant(FlT(nuNum.v())),
@@ -101,7 +108,7 @@ int main()
std::cout << "Computing...";
asl::Timer timer;
- asl::WriterVTKXML writer("flowRes");
+ asl::WriterVTKXML writer("flow");
writer.addScalars("map", *ballMapMem);
writer.addScalars("rho", *lbgk->getRho());
writer.addVector("v", *lbgk->getVelocity());
diff --git a/examples/flow/flow2.cc b/examples/flow/flow2.cc
index 327245e..3b02cdd 100644
--- a/examples/flow/flow2.cc
+++ b/examples/flow/flow2.cc
@@ -25,7 +25,7 @@
\example flow2.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <aslDataInc.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
@@ -90,8 +90,15 @@ asl::SPDistanceFunction generateMirrors()
return res;
}
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("flow2",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param nu(.0125);
@@ -102,7 +109,7 @@ int main()
AVec<> gSize(dx.v()*AVec<>(size));
- std::cout << "Flow: Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size,dx.v());
@@ -111,7 +118,7 @@ int main()
std::cout << "Finished" << endl;
- std::cout << "Flow: Numerics initialization...";
+ std::cout << "Numerics initialization... ";
asl::SPLBGK lbgk(new asl::LBGK(block,
acl::generateVEConstant(FlT(nuNum.v())),
@@ -138,7 +145,7 @@ int main()
std::cout << "Computing...";
asl::Timer timer;
- asl::WriterVTKXML writer("flow2Res");
+ asl::WriterVTKXML writer("flow2");
writer.addScalars("map", *mirrorsMapMem);
writer.addScalars("rho", *lbgk->getRho());
writer.addVector("v", *lbgk->getVelocity());
diff --git a/examples/flow/flow3.cc b/examples/flow/flow3.cc
index 3d7c4b8..c91bdf8 100644
--- a/examples/flow/flow3.cc
+++ b/examples/flow/flow3.cc
@@ -25,7 +25,7 @@
\example flow3.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <aslDataInc.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
@@ -64,8 +64,15 @@ asl::SPDistanceFunction generateOrderedCylinders(asl::Block & block)
return resultGeometry;
}
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("flow3",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param nu(.00625);
diff --git a/examples/flow/flowKDPGrowth.cc b/examples/flow/flowKDPGrowth.cc
index 5b718b6..4e0eea4 100644
--- a/examples/flow/flowKDPGrowth.cc
+++ b/examples/flow/flowKDPGrowth.cc
@@ -25,7 +25,7 @@
\example flowKDPGrowth.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <math/aslPositionFunction.h>
@@ -183,7 +183,6 @@ double getWRotation(double t)
if(tRel>4.*tAcceleration+2.*tPlato+tStop)
x = 0;
return wMax*x;
-
// flux = -9.32e-5*(1.170 - c); c_0=0.326 ceq=0.267
}
@@ -197,9 +196,14 @@ using asl::AVec;
using asl::makeAVec;
-
-int main()
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("flowKDPGrowth",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(.02);
Param dt(0.8e-2);
Param nu(1e-2);
diff --git a/examples/flow/flowRotatingCylinders.cc b/examples/flow/flowRotatingCylinders.cc
index 1c2f695..3477d53 100644
--- a/examples/flow/flowRotatingCylinders.cc
+++ b/examples/flow/flowRotatingCylinders.cc
@@ -25,7 +25,7 @@
\example flowRotatingCylinders.cc
*/
-#include <utilities/aslUValue.h>
+
#include <aslDataInc.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
@@ -35,7 +35,7 @@
#include <num/aslLBGK.h>
#include <num/aslLBGKBC.h>
#include <utilities/aslTimer.h>
-
+#include <utilities/aslParametersManager.h>
typedef float FlT;
@@ -46,9 +46,14 @@ using asl::AVec;
using asl::makeAVec;
-
-int main()
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("flowRotatingCylinders",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param nu(.01);
@@ -60,7 +65,7 @@ int main()
AVec<> gSize(dx.v()*AVec<>(size));
- std::cout << "Flow: Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size,dx.v());
@@ -91,7 +96,7 @@ int main()
std::cout << "Finished" << endl;
- std::cout << "Flow: Numerics initialization...";
+ std::cout << "Numerics initialization... ";
asl::SPLBGK lbgk(new asl::LBGK(block,
acl::generateVEConstant(FlT(nuNum.v())),
diff --git a/examples/flow/locomotive_in_tunnel.cc b/examples/flow/locomotive_in_tunnel.cc
index c25055e..845fd0c 100644
--- a/examples/flow/locomotive_in_tunnel.cc
+++ b/examples/flow/locomotive_in_tunnel.cc
@@ -70,12 +70,22 @@ asl::SPDistanceFunction generateTunnel(asl::Block & bl)
int main(int argc, char* argv[])
{
+ /* Convenience facility to manage simulation parameters (and also
+ hardware parameters - platform/device to run the application on)
+ through command line and/or parameters file.
+ Run `locomotive_in_tunnel -h` for more information */
asl::ApplicationParametersManager appParamsManager("locomotive_in_tunnel",
"1.0");
+
+ /* Important: declare Parameters only after declaring
+ ApplicationParametersManager instance because each Parameter adds itself
+ to it automatically */
asl::Parameter<FlT> dx(0.08, "dx", "space step", "m");
asl::Parameter<FlT> dt(1., "dt", "time step", "s");
asl::Parameter<FlT> nu(.001, "nu", "viscosity", "Pa*s");
+ /* Load previously declared Parameters from command line and/or
+ parameters file. Use default values if neither is provided. */
appParamsManager.load(argc, argv);
AVec<int> size(makeAVec(40., 10., 15.) * (1. / dx.v()));
diff --git a/examples/flow/locomotive_laminar.cc b/examples/flow/locomotive_laminar.cc
index 0e8ff64..17350f9 100644
--- a/examples/flow/locomotive_laminar.cc
+++ b/examples/flow/locomotive_laminar.cc
@@ -25,7 +25,6 @@
\example locomotive_laminar.cc
*/
-#include <utilities/aslUValue.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <math/aslPositionFunction.h>
@@ -37,7 +36,7 @@
#include <utilities/aslTimer.h>
#include <acl/aclUtilities.h>
#include <readers/aslVTKFormatReaders.h>
-
+#include <utilities/aslParametersManager.h>
typedef float FlT;
@@ -69,8 +68,14 @@ asl::SPDistanceFunction generateTunel(asl::Block & bl)
}
-int main()
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("locomotive_laminar",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(0.5);
Param dt(1.);
Param nu(.01);
diff --git a/examples/flow/locomotive_stability.cc b/examples/flow/locomotive_stability.cc
index f9b8e12..55b688e 100644
--- a/examples/flow/locomotive_stability.cc
+++ b/examples/flow/locomotive_stability.cc
@@ -22,10 +22,9 @@
/**
- \example locomotive_in_tunnel.cc
+ \example locomotive_stability.cc
*/
-#include <utilities/aslUValue.h>
#include <math/aslVectors.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
@@ -35,10 +34,10 @@
#include <writers/aslVTKFormatWriters.h>
#include <num/aslLBGK.h>
#include <num/aslLBGKBC.h>
-#include "utilities/aslTimer.h"
-#include "acl/aclUtilities.h"
+#include <utilities/aslTimer.h>
+#include <acl/aclUtilities.h>
#include <readers/aslVTKFormatReaders.h>
-
+#include <utilities/aslParametersManager.h>
typedef float FlT;
@@ -63,36 +62,42 @@ asl::SPDistanceFunction generateNozzels(asl::Block & bl)
asl::SPDistanceFunction res(generateDFCylinder(rNozzel,
makeAVec(0., 0., h),
- makeAVec(x0,y,z+h*.5)));
+ makeAVec(x0, y, z + h * .5)));
for(unsigned int i(1); i < n; ++i)
res = res | generateDFCylinder(rNozzel,
makeAVec(0., 0., h),
- makeAVec(x0+i*(xE-x0)/n,y,z+h*.5));
+ makeAVec(x0 + i * (xE-x0)/n, y, z+h*.5));
return normalize(res, dx);
}
-int main()
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("locomotive_stability",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(0.25);
Param dt(1.);
Param nu(.01);
Param nuNum(nu.v()*dt.v()/dx.v()/dx.v());
- std::cout << "Flow: Data initialization...";
+ std::cout << "Data initialization... ";
- auto object(asl::readSurface("locomotive.stl", dx.v(), .5,1.,0.,1.,2.,4.));
+ auto object(asl::readSurface("locomotive.stl", dx.v(), .5, 1., 0., 1., 2., 4.));
asl::Block block(object->getInternalBlock());
auto forceField(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
- asl::initData(forceField, makeAVec(0.,0.,0.));
+ asl::initData(forceField, makeAVec(0., 0., 0.));
std::cout << "Finished" << endl;
- std::cout << "Flow: Numerics initialization...";
+ std::cout << "Numerics initialization... ";
asl::SPLBGK lbgk(new asl::LBGK(block,
acl::generateVEConstant(FlT(nu.v())),
diff --git a/examples/heatTransfer/surfaceFlux.cc b/examples/heatTransfer/surfaceFlux.cc
index 08f3a6d..af73487 100644
--- a/examples/heatTransfer/surfaceFlux.cc
+++ b/examples/heatTransfer/surfaceFlux.cc
@@ -25,7 +25,7 @@
\example surfaceFlux.cc
*/
-#include <utilities/aslUValue.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
@@ -44,8 +44,15 @@ typedef asl::UValue<double> Param;
using asl::AVec;
using asl::makeAVec;
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("surfaceFlux",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param diffCoef(.15);
@@ -56,7 +63,7 @@ int main()
auto gSize(dx.v()*AVec<>(size));
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size,dx.v());
@@ -79,7 +86,7 @@ int main()
std::cout << "Finished" << endl;
- std::cout << " Numerics initialization...";
+ std::cout << "Numerics initialization... ";
auto templ(&asl::d3q15());
auto nm(generateFDAdvectionDiffusion(cField, diffCoefNum.v(), templ));
@@ -120,7 +127,7 @@ int main()
std::cout << "Finished" << endl;
cout << "time=" << timer.getTime() << "; clockTime="
- << timer.getClockTime() << "; load="
+ << timer.getClockTime() << "; load="
<< timer.getProcessorLoad() * 100 << "%" << endl;
std::cout << "Output...";
diff --git a/examples/input_data/Media_Files_LICENSE.md b/examples/input_data/Media_Files_LICENSE.md
index 0cded78..000a94f 100644
--- a/examples/input_data/Media_Files_LICENSE.md
+++ b/examples/input_data/Media_Files_LICENSE.md
@@ -1,4 +1,9 @@
# Media files
Some examples require input files (like .vti or .stl) that can be found in `examples/input_data`.
-All .stl files were originally obtained from [GrabCAD](https://grabcad.com/) and are subject to their [Terms of Service](https://grabcad.com/terms); the rest of files, and specifically the images in `src/pics` are part of the ASL project and are covered by its license (see above) except where stated otherwise (`cmake/Modules`).
+
+1. All .stl files were originally obtained from [GrabCAD](https://grabcad.com/) and are subject to their [Terms of Service](https://grabcad.com/terms); some of them were modified.
+
+2. brain.vti was generated using [BrainWeb](http://brainweb.bic.mni.mcgill.ca/brainweb/).
+
+The rest of files, and specifically the images in `src/pics` are part of the ASL project and are covered by its license (see above) except where stated otherwise (`cmake/Modules`).
diff --git a/examples/jumpingObjects/jumpingBox.cc b/examples/jumpingObjects/jumpingBox.cc
index 3d24b33..d304cc4 100644
--- a/examples/jumpingObjects/jumpingBox.cc
+++ b/examples/jumpingObjects/jumpingBox.cc
@@ -62,7 +62,7 @@ int main(int argc, char* argv[])
asl::AVec<FlT> gNum(g.v()/dx.v());
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size.v(), dx.v());
auto displacement(asl::generateDataContainerACL_SP<FlT>(block, 3, 1u));
@@ -75,7 +75,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization...";
+ std::cout << "Numerics initialization... ";
asl::SPFDElasticity2 elasticity(new asl::FDElasticity2(displacement,
acl::generateVEConstant(bulkModulusNum.v()),
diff --git a/examples/levelSet/levelSetBasic.cc b/examples/levelSet/levelSetBasic.cc
index 46c2049..bc5ac11 100644
--- a/examples/levelSet/levelSetBasic.cc
+++ b/examples/levelSet/levelSetBasic.cc
@@ -57,7 +57,7 @@ int main(int argc, char* argv[])
appParamsManager.load(argc, argv);
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size.v(), dx.v());
auto levelSet(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
@@ -68,12 +68,12 @@ int main(int argc, char* argv[])
auto velocity(asl::generateDataContainerConst_SP(block, v.v(), 1u));
- asl::WriterVTKXML writer(appParamsManager.getDir() + "levelSetBasic");
+ asl::WriterVTKXML writer(appParamsManager.getDir() + "levelSetBasic");
writer.addScalars("levelSet", *levelSet);
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization..." << flush;
+ std::cout << "Numerics initialization... " << flush;
auto lsNum(std::make_shared<asl::InterfaceTrackingAlg1>(levelSet,velocity));
diff --git a/examples/levelSet/levelSetFacetedGrowth.cc b/examples/levelSet/levelSetFacetedGrowth.cc
index 9a8ab7b..3e572c4 100644
--- a/examples/levelSet/levelSetFacetedGrowth.cc
+++ b/examples/levelSet/levelSetFacetedGrowth.cc
@@ -63,7 +63,7 @@ int main(int argc, char* argv[])
appParamsManager.load(argc, argv);
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size.v(), dx.v());
auto levelSet(asl::generateDataContainerACL_SP<FlT>(block, 1, 1u));
@@ -77,12 +77,12 @@ int main(int argc, char* argv[])
auto superSaturation(asl::generateDataContainerConst_SP(block, superS.v(), 1u));
- asl::WriterVTKXML writer(appParamsManager.getDir() + "levelSetFacetedGrowth");
+ asl::WriterVTKXML writer(appParamsManager.getDir() + "levelSetFacetedGrowth");
writer.addScalars("levelSet", *levelSet);
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization..." << flush;
+ std::cout << "Numerics initialization... " << flush;
auto lsNum(std::make_shared<asl::LSFacetedGrowth>(levelSet, superSaturation));
@@ -110,7 +110,7 @@ int main(int argc, char* argv[])
std::cout << "Finished" << endl;
cout << "time=" << timer.getTime() << "; clockTime="
- << timer.getClockTime() << "; load="
+ << timer.getClockTime() << "; load="
<< timer.getProcessorLoad() * 100 << "%" << endl;
std::cout << "Output...";
diff --git a/examples/massTransferSM/testSMDiff.cc b/examples/massTransferSM/testSMDiff.cc
index bcac1ff..03cd81f 100644
--- a/examples/massTransferSM/testSMDiff.cc
+++ b/examples/massTransferSM/testSMDiff.cc
@@ -25,8 +25,7 @@
\example testSMDiff.cc
*/
-#include <utilities/aslUValue.h>
-#include <math/aslVectors.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
@@ -35,7 +34,7 @@
#include <num/aslFDStefanMaxwell.h>
#include <num/aslBasicBC.h>
#include <utilities/aslTimer.h>
-//#include "acl/aclUtilities.h"
+
typedef float FlT;
//typedef double FlT;
@@ -44,20 +43,27 @@ typedef asl::UValue<double> Param;
using asl::AVec;
using asl::makeAVec;
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("testSMDiff",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param diffCoef(.15);
Param diffCoefNum(diffCoef.v()*dt.v()/dx.v()/dx.v());
- AVec<int> size(asl::makeAVec(10,20,20));
+ AVec<int> size(asl::makeAVec(10, 20, 20));
auto gSize(dx.v()*AVec<>(size));
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size,dx.v());
@@ -69,7 +75,7 @@ int main()
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization...";
+ std::cout << "Numerics initialization... ";
auto templ(&asl::d3q7());
auto nm(generateFDStefanMaxwell(c1Field, c2Field, diffCoefNum.v(), templ));
@@ -91,7 +97,7 @@ int main()
std::cout << "Computing..." << flush;
asl::Timer timer;
- asl::WriterVTKXML writer("surfaceFlux");
+ asl::WriterVTKXML writer("testSMDiff");
writer.addScalars("c1", *c1Field);
writer.addScalars("c2", *c2Field);
diff --git a/examples/massTransferSM/testSMDiff3C.cc b/examples/massTransferSM/testSMDiff3C.cc
index 8c3eade..7053f4d 100644
--- a/examples/massTransferSM/testSMDiff3C.cc
+++ b/examples/massTransferSM/testSMDiff3C.cc
@@ -26,8 +26,7 @@
ternary system
*/
-#include <utilities/aslUValue.h>
-#include <math/aslVectors.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
@@ -45,8 +44,15 @@ typedef asl::UValue<double> Param;
using asl::AVec;
using asl::makeAVec;
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("testSMDiff3C",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param diffCoef(.15);
@@ -58,7 +64,7 @@ int main()
auto gSize(dx.v()*AVec<>(size));
- std::cout<<"Flow: Data initialization...";
+ std::cout << "Flow: Data initialization... ";
asl::Block block(size,dx.v());
@@ -70,9 +76,9 @@ int main()
asl::initData(c3Field, 0.33);
- std::cout<<"Finished"<<endl;
+ std::cout << "Finished" << endl;
- std::cout<<"Flow: Numerics initialization...";
+ std::cout << "Flow: Numerics initialization... ";
auto templ(&asl::d3q7());
auto nm(generateFDStefanMaxwell(c1Field, c2Field, diffCoefNum.v(), templ));
@@ -96,11 +102,11 @@ int main()
bc.push_back(asl::generateBCConstantValue(c3Field, 1, {asl::Y0}));
initAll(bc);
- std::cout<<"Finished"<<endl;
- std::cout<<"Computing..."<<flush;
+ std::cout << "Finished" << endl;
+ std::cout << "Computing..." << flush;
asl::Timer timer;
- asl::WriterVTKXML writer("out");
+ asl::WriterVTKXML writer("testSMDiff3C");
writer.addScalars("c1", *c1Field);
writer.addScalars("c2", *c2Field);
writer.addScalars("c3", *c3Field);
@@ -115,21 +121,21 @@ int main()
executeAll(bc);
if(!(i%40))
{
- cout<<i<<endl;
+ cout << i << endl;
writer.write();
}
}
timer.stop();
- std::cout<<"Finished"<<endl;
+ std::cout << "Finished" << endl;
cout << "time=" << timer.getTime() << "; clockTime="
- << timer.getClockTime() << "; load="
- << timer.getProcessorLoad() * 100 << "%" << endl;
+ << timer.getClockTime() << "; load="
+ << timer.getProcessorLoad() * 100 << "%" << endl;
- std::cout<<"Output...";
- std::cout<<"Finished"<<endl;
- std::cout<<"Ok"<<endl;
+ std::cout << "Output...";
+ std::cout << "Finished" << endl;
+ std::cout << "Ok" << endl;
return 0;
}
diff --git a/examples/massTransferSM/testSMPhi.cc b/examples/massTransferSM/testSMPhi.cc
index c291a2d..39543eb 100644
--- a/examples/massTransferSM/testSMPhi.cc
+++ b/examples/massTransferSM/testSMPhi.cc
@@ -25,8 +25,7 @@
\example testSMPhi.cc
*/
-#include <utilities/aslUValue.h>
-#include <math/aslVectors.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
@@ -44,8 +43,15 @@ typedef asl::UValue<double> Param;
using asl::AVec;
using asl::makeAVec;
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("testSMPhi",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param diffCoef(.15);
@@ -104,7 +110,7 @@ int main()
std::cout << "Computing..." << flush;
asl::Timer timer;
- asl::WriterVTKXML writer("out");
+ asl::WriterVTKXML writer("testSMPhi");
writer.addScalars("c1", *c1Field);
writer.addScalars("c2", *c2Field);
writer.addScalars("phi", *phiField);
diff --git a/examples/massTransferSM/testSMPhiBV.cc b/examples/massTransferSM/testSMPhiBV.cc
index 9a7bee9..51712a8 100644
--- a/examples/massTransferSM/testSMPhiBV.cc
+++ b/examples/massTransferSM/testSMPhiBV.cc
@@ -25,8 +25,7 @@
\example testSMPhiBV.cc
*/
-#include <utilities/aslUValue.h>
-#include <math/aslVectors.h>
+#include <utilities/aslParametersManager.h>
#include <math/aslTemplates.h>
#include <aslGeomInc.h>
#include <aslDataInc.h>
@@ -46,8 +45,15 @@ typedef asl::UValue<double> Param;
using asl::AVec;
using asl::makeAVec;
-int main()
+
+int main(int argc, char* argv[])
{
+ // Optionally add appParamsManager to be able to manipulate at least
+ // hardware parameters(platform/device) through command line/parameters file
+ asl::ApplicationParametersManager appParamsManager("testSMPhiBV",
+ "1.0");
+ appParamsManager.load(argc, argv);
+
Param dx(1.);
Param dt(1.);
Param diffCoef(.15);
@@ -58,7 +64,7 @@ int main()
auto gSize(dx.v()*AVec<>(size));
- std::cout << "Data initialization...";
+ std::cout << "Data initialization... ";
asl::Block block(size,dx.v());
@@ -77,7 +83,7 @@ int main()
std::cout << "Finished" << endl;
- std::cout << "Numerics initialization...";
+ std::cout << "Numerics initialization... ";
auto templ(&asl::d3q7());
auto nm(generateFDStefanMaxwell(c1Field, c2Field, diffCoefNum.v(), templ));
@@ -125,7 +131,7 @@ int main()
std::cout << "Computing..." << flush;
asl::Timer timer;
- asl::WriterVTKXML writer("out");
+ asl::WriterVTKXML writer("testSMPhiBV");
writer.addScalars("c1", *c1Field);
writer.addScalars("c2", *c2Field);
writer.addScalars("c1a", *c1aField);
diff --git a/src/utilities/aslParametersManager.cxx b/src/utilities/aslParametersManager.cxx
index 0b94983..a7fbc5a 100644
--- a/src/utilities/aslParametersManager.cxx
+++ b/src/utilities/aslParametersManager.cxx
@@ -481,7 +481,7 @@ namespace asl
}
else
{
- warningMessage("ApplicationParametersManager::load() - no parameters file provided");
+ warningMessage("ApplicationParametersManager::load() - no parameters file provided");
}
// Generate `parametersFileDirectory`
@@ -504,9 +504,7 @@ namespace asl
// Place it after(!) notify(vm);
if (vm.count("check"))
{
- cout << applicationName + " " + applicationVersion + "\n"
- << "Consistency check - successful."
- << endl;
+ cout << "Parameters consistency check - successful." << endl;
exit(0);
}
}
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/asl.git
More information about the debian-science-commits
mailing list