ow the steps of the successful run when step 1.2 is bypassed (note that the and OpenFOAM session is open in the background while running the Butterfly demo file):
1. create wind tunnel, and use different parameters of (4,4) for _globalRefLevel_ as suggested by Theodoro in this post
2. run blockMesh:
3. run snappyHexMesh:
4. run checkMesh:
5. connect the case from checkMesh to simpleFOAM and run the simulation:
6. the simulation converged at 1865 iteration, but the results visualization part has some problem:
7. so I revised this part according to suggestions from Hagit:
8. and the results can be visualized for P and U values:
The GH file used for the successful run shown above is attached here.
Now, the following is the error I got when the case from the update fvScheme component is used for simpleFOAM simulation:
the warning message on the simpleFOAM component is:
1. Solution exception: --> OpenFOAM command Failed!#0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #2 ? in "/lib64/libc.so.6" #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #4 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #5 Foam::GAMGSolver::solveCoarsestLevel(Foam::Field<double>&, Foam::Field<double> const&) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #6 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #7 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #8 Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so" #9 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #10 Foam::fvMatrix<double>::solve() in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #11 ? in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #12 __libc_start_main in "/lib64/libc.so.6" #13 ? in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
The error message from the readMe! output node is attached below as a text file.
Hope you can kindly advise what the important steps or parameters I might have missed here. I assume it might be related to OpenFOAM rather than with the Butterfly workflow...
Thank you very much!
- Ji
…
he "return" is comment out as shown below?
After restarting Rhino and Grasshopper, I opened the outdoors_airflow demo file, and the first step of creating the case file is ok:
Then the blockMesh component gives the following error: seems I have to manually start OF first..
so, as the error message suggested, I open OF by Start_OF.bat:
Then come back to the blockMesh component, now it can be executed while the OF command line window is also openning:
... and the blockMesh finished successfully:
... so I proceeded to run snappyHexMesh, checkMesh and update fvScheme:
... up to the simpleFoam component, I got the error again:
The warning message is:
1. Solution exception: --> OpenFOAM command Failed!#0 Foam::error::printStack(Foam::Ostream&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #1 Foam::sigFpe::sigHandler(int) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #2 ? in "/lib64/libc.so.6" #3 double Foam::sumProd<double>(Foam::UList<double> const&, Foam::UList<double> const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #4 Foam::PCG::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #5 Foam::GAMGSolver::solveCoarsestLevel(Foam::Field<double>&, Foam::Field<double> const&) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #6 Foam::GAMGSolver::Vcycle(Foam::PtrList<Foam::lduMatrix::smoother> const&, Foam::Field<double>&, Foam::Field<double> const&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::Field<double>&, Foam::PtrList<Foam::Field<double> >&, Foam::PtrList<Foam::Field<double> >&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #7 Foam::GAMGSolver::solve(Foam::Field<double>&, Foam::Field<double> const&, unsigned char) const in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libOpenFOAM.so" #8 Foam::fvMatrix<double>::solveSegregated(Foam::dictionary const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/lib/libfiniteVolume.so" #9 Foam::fvMatrix<double>::solve(Foam::dictionary const&) in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #10 Foam::fvMatrix<double>::solve() in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #11 ? in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam" #12 __libc_start_main in "/lib64/libc.so.6" #13 ? in "/opt/OpenFOAM/OpenFOAM-v1606+/platforms/linux64GccDPInt32Opt/bin/simpleFoam"
... and the command lines in the readMe! output are pretty long and it is saved in the text file attached here.
So, my questions are:
1. why I have to manually start OF first before I can use the blockMesh component? Should butterfly automatically start OF?
2. what might be the cause of the unsuccessful run of simpleFoam in the end?
Hope you can kindly advise! Thank you!
- Ji
…
1 JUN to 31 DECBetween hours 1:00 to 24:00Current document units is in MetersConversion to Meters will be applied = 1.000[1 of 7] Writing simulation parameters...Ground temperature data contains monthly average temperatures at 3 different depths .5 meters (1st)2 meters (2nd)4meters (3rd)respectively[2 of 6] No context surfaces...[3 of 6] Writing geometry...[4 of 6] Writing materials and constructions...[5 of 7] Writing schedules...[6 of 7] Writing loads and ideal air system...[7 of 7] Writing outputs......... idf file is successfully written to : c:\ladybug\unnamed\EnergyPlus\unnamed.idf
Analysis is running!...c:\ladybug\unnamed\EnergyPlus\eplusout.csv......
Done! Read below for errors and warnings:
Program Version,EnergyPlus, Version 8.3.0-6d97d074ea, YMD=2015.05.24 11:32,IDD_Version 8.3.0
** Warning ** IP: Note -- Some missing fields have been filled with defaults. See the audit output file for details.
** Warning ** Version: in IDF="'8.1.0'" not the same as expected="8.3"
************* Beginning Zone Sizing Calculations
** Severe ** GetSurfaceData: Some Outward Facing angles of subsurfaces differ significantly from base surface.
** ~~~ ** ...use Output:Diagnostics,DisplayExtraWarnings; to show more details on individual surfaces.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=AW0 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=AW0 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=AW0 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.1101)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=AW0 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.1101)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=AW1 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.1101)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=AW1 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=AW1 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=AW1 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.1101)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=AW2 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=AW2 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=AW2 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=AW2 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=AW3 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=AW3 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=EW1 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=EW1 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=GLZ_0_EW1_1F6383543B434F648813 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=0.9038)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=GLZ_0_EW1_1F6383543B434F648813 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=0.9038)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=GLZ_0_EW1_1F6383543B434F648813 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=16.0967)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=GLZ_0_EW1_1F6383543B434F648813 is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=16.0967)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 6 of back surface=FLOOR is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 7 of back surface=FLOOR is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 8 of back surface=FLOOR is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.1101)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 9 of back surface=FLOOR is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 5 of back surface=CIELING is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 6 of back surface=CIELING is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=17.1101)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 7 of back surface=CIELING is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 8 of back surface=CIELING is in front of receiving surface=EW0
** ~~~ ** (Dot Product indicator=30.0900)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=AW6 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=AW6 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=WALLW1 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=WALLW1 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=WALLW1 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=WALLW1 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=GLZ_0_WALLW1_103854D39BEF453D8A4E is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=GLZ_0_WALLW1_103854D39BEF453D8A4E is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=GLZ_0_WALLW1_103854D39BEF453D8A4E is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=GLZ_0_WALLW1_103854D39BEF453D8A4E is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=EW0 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=EW0 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=GLZ_0_EW0_6AEDE94222384E5B8950 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=1.4709)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=GLZ_0_EW0_6AEDE94222384E5B8950 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=1.4709)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=GLZ_0_EW0_6AEDE94222384E5B8950 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=15.6696)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 4 of back surface=GLZ_0_EW0_6AEDE94222384E5B8950 is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=15.6696)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 1 of back surface=FLOOR is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=FLOOR is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 2 of back surface=CIELING is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Severe ** Problem in interior solar distribution calculation (CHKBKS)
** ~~~ ** Solar Distribution = FullInteriorExterior will not work in Zone="APRATMENT1"
** ~~~ ** because vertex 3 of back surface=CIELING is in front of receiving surface=EW1
** ~~~ ** (Dot Product indicator=17.0963)
** ~~~ ** Check surface geometry; if OK, use Solar Distribution = FullExterior instead.
** Warning ** ManageSizing: For a plant sizing run, there must be at least 1 Sizing:Plant object input. SimulationControl Plant Sizing option ignored.
************* Testing Individual Branch Integrity
************* All Branches passed integrity testing
************* Testing Individual Supply Air Path Integrity
************* All Supply Air Paths passed integrity testing
************* Testing Individual Return Air Path Integrity
************* All Return Air Paths passed integrity testing
************* No node connection errors were found.
************* Beginning Simulation
************* Simulation Error Summary *************
** Warning ** The following Report Variables were requested but not generated
** ~~~ ** because IDF did not contain these elements or misspelled variable name -- check .rdd file
************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL COOLING ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE PACKAGED TERMINAL HEAT PUMP TOTAL HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=CHILLER ELECTRIC ENERGY, Frequency=Hourly
************* Key=*, VarName=BOILER HEATING ENERGY, Frequency=Hourly
************* Key=*, VarName=FAN ELECTRIC ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE VENTILATION FAN ELECTRIC ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE VENTILATION TOTAL HEAT LOSS ENERGY, Frequency=Hourly
************* Key=*, VarName=ZONE VENTILATION TOTAL HEAT GAIN ENERGY, Frequency=Hourly
************* There are 1 unused schedules in input.
************* There are 1 unused week schedules in input.
************* There are 3 unused day schedules in input.
************* Use Output:Diagnostics,DisplayUnusedSchedules; to see them.
************* EnergyPlus Warmup Error Summary. During Warmup: 0 Warning; 0 Severe Errors.
************* EnergyPlus Sizing Error Summary. During Sizing: 1 Warning; 49 Severe Errors.
************* EnergyPlus Completed Successfully-- 4 Warning; 49 Severe Errors; Elapsed Time=00hr 00min 4.59sec
Thanks Abraham.I really appreciate it.
Another thing ' I posted a discussion few days ago and got no replies.And this forum is the only 'Hope' for me..Can you quickly check it?thanks.
N
http://www.grasshopper3d.com/group/ladybug/forum/topics/free-form-external-wall-with-glazing-workflow?xg_source=activity
…
teraction for its Correlations cycle, AA Athens Visiting School scales up its design intentions in order to investigate links among discrete individual architectural systems in its 2013 version, Recharged.
Recharged with interconnectivity on different levels, the theme of investigation will revolve around the design of semi-independent design prototypes acting together to form elaborate unified results. The driving force in Cipher City: Recharged is the synergistic effect behind complex form-making systems where interactive design patterns arise out of a multiplicity of relatively simple rules.
In collaboration with the National Technical University of Athens, Cipher City: Recharged will explore participatory design and active engagement modeling and will continue building novel prototypes upon horizontal planes.
As in 2012, the design agendas of AA Athens and AA Istanbul Visiting Schools will directly create feedback on one another, allowing participation in either one or both Programmes.
Discounts
The AA offers several discount options for participants wishing to apply as a group or participants wishing to apply for both AA Istanbul and AA Athens Visiting Schools:
1. Standard application
The AA Visiting School requires a fee of £695 per participant, which includes a £60 Visiting Membership. If you are already a member, the total fee will be reduced automatically by £60 by the online payment system. Fees are non refundable.
2. Group registration
For group applications, there will be a range of discounts depending on the number of people in the group. The discounted fee will be applied to each individual in the group.
Type A. 3-6 people group: £60 (AA Membership fee) + 635*0.75 = £536.25 (25 %) Type B. 6-15 people group: £60 + 635*0.70 = £504.5 (30%) Type C. more than 15 people group: £60 + 635*0.65 = £472.75 (35%)
3. Participants attending both AA Istanbul and AA Athens | 40% discount
For people wishing to attend both AA Istanbul 2013 and AA Athens 2013, a discount of 40% will be made for each participant. (The participant will pay the £60 membership fee only once.)
£60 (AA Membership fee) + (635*0.60)*2 = £822
For more information in discounts, please visit:
http://ai.aaschool.ac.uk/athens/portfolio/discounts-2013/
Applications
The deadline for applications is 11 March 2013. A portfolio or CV is not required, only the online application form and payment. The online application can be reached from:
http://www.aaschool.ac.uk/STUDY/VISITING/athens…
Added by elif erdine at 12:33pm on December 13, 2012
his comes in the form of an HTML page with links to every component, so you will need to view it in your web browser. (I use Chrome and it doesn't seem to be working correctly, but when opened in IE its fine.)
2) Included in each help topic for each component is the Inputs and Outputs descriptions and data types.
3) You supply the data. What you supply and how you supply it is for you to decide. There are umpteen different ways. Are you asking for a list of those ways for each input?
4) Points can either be Rhino objects or 3D co-ordinates. To create a point you can use any of these methods, but it mostly comes down to user preference. I like using Panels as this displays outside of the component.
5) Because of the nature of vectors they represent magnitude and direction but they don't have an independent location, so there is a component that will display vectors in Rhino.
6) The user.
7) There is a Primer on the front page. Here you find the Basics, but because GH is ever evolving in its current beta state you might find things that aren't relevant any more or simply don't work the same. And here is the reason why nobody is writing an update because it could be soon out of date.
8) Importing images by either dragging them from explorer onto the canvas or right click context menu Image...
9) Single line = Single Item of Data. Double line = Multiple items of data on the same Branch. Dashed Double Line = Multiple Data on Multiple Branches.
10) User preference
11) Toolbar management is probably the bane of David's life. Most things are logically placed. For example the Curve Tab, Primitives are any simple curve types that you are creating from scratch. Similarly Splines is for more complex curve types created from scratch. Analysis is where you find components that are finding answers supplied by curves, control points, curvature, parameters, end points etc. Division is a subset of this category but has a group of its own. And Utilities is where you find curve related actions that you want to perform, offsetting, rebuilding projecting, exploding etc.
12) I would image it would have been the Point On Curve component in Curve>Analysis. Why that group? You are not putting a point on a curve you are analysing a curve for the location of a point based on some parameters that you are supplying. For example "what is the mid point?"
I hope this goes some way towards answering you questions. No doubt this will have generated more so don't be afraid to ask, it took me several releases of Explicit History (aka Grasshopper) before I realised what the egg did, it never occurred to me that I could put my objects into Rhino when I was finished. Or the fact that I could use panels to 'see' data outputs.
Al the best,
Danny…
Added by Danny Boyes at 3:48am on December 9, 2010
should follow the instruction which mostapha has wrote in https://github.com/mostaphaRoudsari/ladybug/blob/master/resources/I...
Instructions for Installing Ladybug + Honeybee: (Follow steps 1-6 for basic functionality and 1-11 for full functionality) 0. If you have an old version of LB+HB, download the file here (https://app.box.com/s/ds96em9l6stxpcw8kgtf) and open it in Grasshopper to remove your old Ladybug and Honeybee version. 1. Make sure that you have a working copy of both Rhino and Grasshopper installed. 2. Open Rhino and type "Grasshopper" into the command line (without quotations). Wait for grasshopper to load. 3. Install GHPython by downloading the file at this link (http://www.food4rhino.com/project/ghpython?ufh) and drag the .gha file onto the Grasshopper canvas. 4. Select and drag all of the files in the "userObjects" folder (downloaded with this instructions file) onto your Grasshopper canvas. You should see Ladybug and Honeybee appear as tabs on the grasshopper tool bar. (If you are reading this instruction on github you can download them from http://www.food4rhino.com/project/ladybug-honeybee) 5. Download the files at this link (https://app.box.com/s/bh9sbpgajdtmmystv3n4), unzip them and copy the contents to both C:\ladybug and C:\Users\[yourUsername]\AppData\Roaming\Ladybug. 6. Restart Rhino and Grasshopper. You now have a fully-functioning Ladybug. For Honeybee, continue to the following: 7. Install Radiance to C:\Radiance by downloading it from this link (https://github.com/NREL/Radiance/releases/download/4.2.2/radiance-4...) and running the exe. 6. Install Daysim to C:\DAYSIM by downloading it at this link (http://daysim.ning.com/page/download) and running the exe. 8. Install Energy Plus 8.1 to C:\EnergyPlusV8-1-0 by going to the DOE website (http://apps1.eere.energy.gov/buildings/energyplus/energyplus_downlo...), making an account, going to "download older versions of EnergyPlus, selecting 8.1 and running the exe. 9. Copy falsecolor2.exe (http://pyrat.googlecode.com/files/falsecolor2.exe) and evalglare.exe (http://www.ise.fraunhofer.de/en/downloads-englisch/software/evalgla...) to C:\Radiance\bin 10. Download the OpenStudio Libraries (https://app.box.com/s/y2sx16k98g1lfd3r47zi) and unzip them to C:\ladybug\OpenStudio. 11. You now have a fully-working version of Ladybug + Honeybee. Get started visualizing weather data with these video tutorials (https://www.youtube.com/playlist?list=PLruLh1AdY-Sj_XGz3kzHUoWmpWDX...).
It works for me..
Agus…
uier momento del diseño de un modelo 3D y este se readapta sin necesidad de redibujar la zona alterada.
Otra de las principales características del trabajo paramétrico es que nos permite automatizar procesos de trabajo o diseño. Esto quiere decir que, con procesos sencillos, podemos generar geometrías complejas y siempre justificadas en función de unos parámetros que nosotros definamos; lo que, en cierto modo, elimina la arbitrariedad en el diseño y nos arma de argumentos en la toma de decisiones de proyecto. Por otro lado, se pueden generar texturas y patrones de manera aleatoria o variable en función de atractores.
Tras la realización de este workshop, el alumno será capaz de desarrollar sus propias gramáticas, con la confianza que da comprender los términos básicos de programación sobre los que se apoya todo el sistema de trabajo de Grasshopper.
Grasshopper nos abre todo un mundo de posibilidades en el diseño y en la fabricación digital.
PARA QUIÉN
El workshop está dirigido a estudiantes y profesionales de la arquitectura, el interiorismo, la ingeniería, el diseño de producto, el diseño industrial y, en general, perfiles creativos y disciplinas artísticas que quieran introducirse en el mundo del diseño paramétrico.
Es recomendable tener conocimientos previos de Rhinoceros (nivel básico) ya que hay algunos conceptos que pueden ser útiles para un mejor seguimiento del workshop.
…
mers considering extreme sports reject mainstream retailers and like to check out small stores rather of at chains plus malls. Several smaller retailers discuss trends in sports shoe sales. http://skateszone.com/
Though athletic shoes and sports stores and from doorways retailers have reported somewhat uptick in footwear sales due to the increase in extreme sports, the particular beneficiaries inside the trend are independent surf and skate niche stores.
Some West Coast surf and skate shops stated teenagers and even more youthful Generation Xers are not only rejecting traditional sports, but they're also shunning mainstream retailers and malls meant for smaller niche shops transporting hard-to-come-by brands.
Eddie Miyoshi, district manager at Atomic Garage, a 3-store chain situated in Gardena, Calif., stated the soaring recognition of skateboard footwear has boosted the retailer's total footwear business 20-thirty percent this year, rather of '95.
Skate footwear presently represent 80-90 % of Atomic Garage's shoe sales, while couple of years back, Dr. Martens and Timberland drove the retailer's footwear business.
Like many retailers, Miyoshi pointed to Airwalk since the trend's catalyst.
However, if Airwalk broadened its distribution to larger chains, which are frequently located in malls, only a few skate shoe customers adopted. Rather, many youthful males have switched for your skate shops for additional elusive brands like Etnies, Duffs, and Electricity Footwear by Circus. By refusing to market bigger retailers or sports stores, these brands are increasing their cachet among youthful consumers.
"Kids don't want stuff which have been within the shops,In . Miyoshi added.
Searching ahead, Miyoshi forecasted skate shoe sales will remain strong through spring '97 provided "the [hot] vendors don't auction other [non-particularly shop] retailers."
"Skaters and non-skaters are rebelling against mainstream retailers so on to surf and skate shops for many looks," echoed Mark Richards, co-online sources Val Surf, a 3-store chain situated in North Hollywood, Calif. Soaring sales of skate footwear have driven total footwear receipts up 25 percent this year rather of '95.
"The quantity of that increase might be connected while using exposure of maximum games? I am unsure. [Skate footwear] may also be actually the think about the moment,In . Richards acknowledged. And in relation to getting this right look, youthful customers can be very picky.
"Skateboard footwear is a huge category for people, but we're not able to own the brands, Etnies, Duffs, Electricity and Nice, simply because they won't sell us," stated Mark Anderson, buyer at Chick's Sports, a six-store chain in Covina, Calif. "We have people coming every single day requesting them." Consequently, skate footwear have consistently ongoing to obtain about 5 % of Chick's overall footwear business. http://skateszone.com/the-top-8-best-skateboards-for-beginners-reviews-2017/
Nonetheless, some outdoors, niche sports and sports retailers are noting the growing recognition and coverage of maximum sports will receive a modest impact on footwear sales. Trailrunning footwear and approach/outdoors crosstrainers will be the two groups benefiting the very best inside the recognition. Like the skate shoe business, some retailers realize that styling instead of function frequently drives sales of individuals footwear.
"At this time the merchandise is a lot more visual than function," stated Chet James, gm of Super Jock 'N Jill, Dallas, speaking about trailrunning footwear. Still, James noted the current hype over adventure sports helps draw more customer traffic. "The marketing campaigns and media help bring growing figures of people in, nonetheless they frequently occasions day an issue that increases results on their own account,Inch he conceded.
John Wilkinson, executive vp inside the 85-store chain Track 'N Trail, Eldorado Hillsides, Calif., stated the shop has "seen some activity in approach footwear," but he requested the amount of consumers depend in it commercially sport. And, instead of accelerating total footwear business, Wilkinson speculated elevated sales of approach footwear and trailrunners are gnawing away at traditional hiking shoe and boot volume.
But Dan Bazinet, president of Overland Exchanging, a 34-store chain situated in Westford, Mass., believes the company-new looks have breathed existence for the wilting hiking boot category. "[Approach-type footwear] don't represent the lion's participate the hiking market, nonetheless they have elevated the hiking business and provided us extra sales," Bazinet stated.
He designated Timberland's Treeline Series and Rockport's Leadville line as strong performers. Unsurprisingly, he noted the company-new looks are attractive to youthful consumer base than traditional hikers.
For that month of June, sales of men's hikers were up 49 percent at Overland, rather of June '95, while sales of women's hikers were up 17 % for that month. Bazinet also attributed elevated sales that shops walked inside the hiking business, departing that business for that specialists.
Some retailers draw a good example concerning the hiking boom of two yrs ago combined with the current extreme sport phenomenon. "Plenty of bigger chains will get a specific percent in the industry while [extreme] sports remain a fad because they are selling cost-point type gear," described Steven Carre, assistant hard goods buyer at Adventure 16, a six-store chain situated in Hillcrest.
"However individuals [true enthusiasts] will say `we need real gear' and may shown up at us. That will help us after a while. What Size Skateboard good for an 3 4 5 6 7 8 9 10 11 12 13 14 year old
…
. From the Thermal Comfort Indices component, Comfort Index 11 (TCI-11):MRT = f(Ta, Tground, Rprim, e)
with:- Ta = DryBulbTemperature coming from ImportEPW component- Tground = f(Ta, N) where N comes from totalSkyCover input. Tground influences the long-wave radiation emitted by the ground in the MRT calculation.- Rprim defined as solar radiation absorbed by nude man = f(Kglob, hS1, ac)- ac is the clothingAlbedo in % (bodyCharacteristics input)- I can't find any definition in the code of Kglob and hS1. Could you tell me please what are those values referencered to? --> probably the globalHorizontalRadiation but how?- e = vapour pressure calculated from Ta and Relative Humidity input
Do you agree that in this case the MRT does not depend on these inputs: location, meanRadiantTemperature, dewPointTemperature and wind speed?It does not depend neither on the other bodyCharacteristics like bodyPosture, age, sex, met, activityDuration...?
MRT calculated by the TCI-11 method is the mean radiant temperature of a vector pointing vertically with a sky view factor of 100%?For ParisOrly epw,
2. From the SolarAdjustedTemperature component (that seems to be more used for the UTCI calculation examples on Hydra compared to TCI-11).
In contrast to the TCI-11, this component distinguishes diffuse and direct radiation and contextualizes the calculation thanks to _ContextShading input, right? It can also be applied to a mannequin thanks to the CumSkyMatrix and thus evaluate the dishomogeneity of radiation exposure.This component seems not to consider the influence of vapour pressure on the result --> is it then more precise to put the MRT output (from the TCI) as an input of meanRadTemperature for SolarAdjustedTemperature?The default groundReflectivity is set to 0.25 --> is GroundReflectivity taken into account in the Tground or MRT calculation in the TCI component? If yes, what is the hypothesised groundReflectivity?The default clothing albedo of 37% (TCI-11 bodyCharacteristics) corresponds to Clothing Absorptivity of 63%?
If the CumSkyMatrix input is not supplied, I get 9 results for the mannequin --> where are those points/results coming from?
If the CumSkyMatrix input is supplied,I suppose the calculation of the 482 results correspond to a calculation method similar to the radiation analysis component that is averaged over the analysis period. Right?But I don't understand why the mannequin is composed of 481 faces and meshFaceResult gives 482 results.
Finally, what is the link between the MESH results, the solarAdjustedMRT and the Effective Radiant field ? Is there a paper to have a detailed explanation of the method?
3. Here are some results for the ParisOrly energyplus weather data. You can find here attached the grasshopper definition.There is no shading in this simulation and the result coming from the ThermalComfort indices for MRT is very different compared to the solar adjusted MRT.Why such a big difference and which of the result should be plugged into the UTCI calculation component?
Results for ParisOrly.epwM,D,H:1,1,12
Ta : 6.5°Crh: 100%globalHorizontalRadiation: 54 Wh/m2totalSkyCover: 10MRT (TCI-11): 1.2°C
_CumSkyMtxOrDirNormRad = directNormalRadiation : 0 Wh/m2diffuseHorizontalRad: 54 Wh/m2_meanRadTemp = TasolarAdjustedMRT: 10.64°CMRTDelta: 4.14°C
_CumSkyMtxOrDirNormRad = CumulativeSkyMtxdiffuseHorizontalRad: 54 Wh/m2_meanRadTemp = TasolarAdjustedMRT: 10.47°CMRTDelta: 3.97°C
_CumSkyMtxOrDirNormRad = CumulativeSkyMtxdiffuseHorizontalRad: 54 Wh/m2_meanRadTemp = MRT (TCI-11)solarAdjustedMRT: 5.17°CMRTDelta: 3.97°C
Thanks a lot for your helpRegards,
Aymeric
…
t file** - ply file with just x,y,z locations. I got it from a 3d scanner. Here is how first few lines of file looks like - ply format ascii 1.0 comment VCGLIB generated element vertex 6183 property float x property float y property float z end_header -32.3271 -43.9859 11.5124 -32.0631 -43.983 11.4945 12.9266 -44.4913 28.2031 13.1701 -44.4918 28.2568 13.4138 -44.4892 28.2531 13.6581 -44.4834 28.1941 13.9012 -44.4851 28.2684 ... ... ... In case you need the data - please email me on **nisha.m234@gmail.com**. **Algorithm:** I am trying to find principal curvatures for extracting the ridges and valleys. The steps I am following is: 1. Take a point x 2. Find its k nearest neighbors. I used k from 3 to 20. 3. average the k nearest neighbors => gives (_x, _y, _z) 4. compute covariance matrix 5. Now I take eigen values and eigen vectors of this covariance matrix 6. I get u, v and n here from eigen vectors. u is a vector corresponding to largest eigen value v corresponding to 2nd largest n is 3rd smallest vector corresponding to smallest eigen value 7. Then for transforming the point(x,y,z) I compute matrix T T = [ui ] [u ] [x - _x] [vi ] = [v ] x [y - _y] [ni ] [n ] [z - _z] 8. for each i of the k nearest neighbors:<br> [ n1 ] [u1*u1 u1*v1 v1*v1] [ a ]<br> [ n2 ] = [u2*u2 u2*v2 v2*v2] [ b ] <br> [... ] [ ... ... ... ] [ c ] <br> [ nk ] [uk*uk uk*vk vk*vk]<br> Solve this for a, b and c with least squares 9. this equations will give me a,b,c 10. now I compute eigen values of matrix [a b b a ] 11. This will give me 2 eigen values. one is Kmin and another Kmax. **My Problem:** The output is no where close to finding the correct Ridges and Valleys. I am totally Stuck and frustrated. I am not sure where exactly I am getting it wrong. I think the normal's are not computed correctly. But I am not sure. I am very new to graphics programming and so this maths, normals, shaders go way above my head. Any help will be appreciated. **PLEASE PLEASE HELP!!** **Resources:** I am using Visual Studio 2010 + Eigen Library + ANN Library. **Other Options used** I tried using MeshLab. I used ball pivoting triangles remeshing in MeshLab and then applied the polkadot3d shader. If correctly identifies the ridges and valleys. But I am not able to code it. **My Function:** //the function outputs to ply file void getEigen() { int nPts; // actual number of data points ANNpointArray dataPts; // data points ANNpoint queryPt; // query point ANNidxArray nnIdx;// near neighbor indices ANNdistArray dists; // near neighbor distances ANNkd_tree* kdTree; // search structure //for k = 25 and esp = 2, seems to got few ridges queryPt = annAllocPt(dim); // allocate query point dataPts = annAllocPts(maxPts, dim); // allocate data points nnIdx = new ANNidx[k]; // allocate near neigh indices dists = new ANNdist[k]; // allocate near neighbor dists nPts = 0; // read data points ifstream dataStream; dataStream.open(inputFile, ios::in);// open data file dataIn = &dataStream; ifstream queryStream; queryStream.open("input/query.
pts", ios::in);// open data file queryIn = &queryStream; while (nPts < maxPts && readPt(*dataIn, dataPts[nPts])) nPts++; kdTree = new ANNkd_tree( // build search structure dataPts, // the data points nPts, // number of points dim); // dimension of space while (readPt(*queryIn, queryPt)) // read query points { kdTree->annkSearch( // search queryPt, // query point k, // number of near neighbors nnIdx, // nearest neighbors (returned) dists, // distance (returned) eps); // error bound double x = queryPt[0]; double y = queryPt[1]; double z = queryPt[2]; double _x = 0.0; double _y = 0.0; double _z = 0.0; #pragma region Compute covariance matrix for (int i = 0; i < k; i++) { _x += dataPts[nnIdx[i]][0]; _y += dataPts[nnIdx[i]][1]; _z += dataPts[nnIdx[i]][2]; } _x = _x/k; _y = _y/k; _z = _z/k; double A[3][3] = {0,0,0,0,0,0,0,0,0}; for (int i = 0; i < k; i++) { double X = dataPts[nnIdx[i]][0]; double Y = dataPts[nnIdx[i]][1]; double Z = dataPts[nnIdx[i]][2]; A[0][0] += (X-_x) * (X-_x); A[0][1] += (X-_x) * (Y-_y); A[0][2] += (X-_x) * (Z-_z); A[1][0] += (Y-_y) * (X-_x); A[1][1] += (Y-_y) * (Y-_y); A[1][2] += (Y-_y) * (Z-_z); A[2][0] += (Z-_z) * (X-_x); A[2][1] += (Z-_z) * (Y-_y); A[2][2] += (Z-_z) * (Z-_z); } MatrixXd C(3,3); C <<A[0][0]/k, A[0][1]/k, A[0][2]/k, A[1][0]/k, A[1][1]/k, A[1][2]/k, A[2][0]/k, A[2][1]/k, A[2][2]/k; #pragma endregion EigenSolver<MatrixXd> es(C); MatrixXd Eval = es.eigenvalues().real().asDiagonal(); MatrixXd Evec = es.eigenvectors().real(); MatrixXd u,v,n; double a = Eval.row(0).col(0).value(); double b = Eval.row(1).col(1).value(); double c = Eval.row(2).col(2).value(); #pragma region SET U V N if(a>b && a>c) { u = Evec.row(0); if(b>c) { v = Eval.row(1); n = Eval.row(2);} else { v = Eval.row(2); n = Eval.row(1);} } else if(b>a && b>c) { u = Evec.row(1); if(a>c) { v = Eval.row(0); n = Eval.row(2);} else { v = Eval.row(2); n = Eval.row(0);} } else { u = Eval.row(2); if(a>b) { v = Eval.row(0); n = Eval.row(1);} else { v = Eval.row(1); n = Eval.row(0);} } #pragma endregion MatrixXd O(3,3); O <<u, v, n; MatrixXd UV(k,3); VectorXd N(k,1); for( int i=0; i<k; i++) { double x = dataPts[nnIdx[i]][0];; double y = dataPts[nnIdx[i]][1];; double z = dataPts[nnIdx[i]][2];; MatrixXd X(3,1); X << x-_x, y-_y, z-_z; MatrixXd T = O * X; double ui = T.row(0).col(0).value(); double vi = T.row(1).col(0).value(); double ni = T.row(2).col(0).value(); UV.row(i) << ui * ui, ui * vi, vi * vi; N.row(i) << ni; } Vector3d S = UV.colPivHouseholderQr().solve(N); MatrixXd II(2,2); II << S.row(0).value(), S.row(1).value(), S.row(1).value(), S.row(2).value(); EigenSolver<MatrixXd> es2(II); MatrixXd Eval2 = es2.eigenvalues().real().asDiagonal(); MatrixXd Evec2 = es2.eigenvectors().real(); double kmin, kmax; if(Eval2.row(0).col(0).value() < Eval2.row(1).col(1).value()) { kmin = Eval2.row(0).col(0).value(); kmax = Eval2.row(1).col(1).value(); } else { kmax = Eval2.row(0).col(0).value(); kmin = Eval2.row(1).col(1).value(); } double thresh = 0.0020078; if (kmin < thresh && kmax > thresh ) cout << x << " " << y << " " << z << " " << 255 << " " << 0 << " " << 0 << endl; else cout << x << " " << y << " " << z << " " << 255 << " " << 255 << " " << 255 << endl; } delete [] nnIdx; delete [] dists; delete kdTree; annClose(); } Thanks, NISHA…