User talk:Janek Kozicki

From Wikipedia, the free encyclopedia

Write a new message (will show up at the bottom)


Welcome!

Hello, Janek Kozicki, and welcome to Wikipedia! Thank you for your contributions. I hope you like the place and decide to stay. Here are a few good links for newcomers:

I hope you enjoy editing here and being a Wikipedian! Please sign your name on talk pages using four tildes (~~~~); this will automatically produce your name and the date. If you need help, check out Wikipedia:Where to ask a question, ask me on my talk page, or place {{helpme}} on your talk page and someone will show up shortly to answer your questions. Again, welcome! 

Contents

[edit] Atomic orbitals table

As you suggested, I started working on converting your monolithic Image:orbitals_table.png into a table of smaller atomic-orbital images. Check out Atomic orbital/orbitals table. Definitely nicer in my opinion. Not sure if it should go further and have a separate image for each m. DMacks 01:48, 6 April 2007 (UTC)

wow, looks great, thanks :) Janek Kozicki 06:16, 6 April 2007 (UTC)

[edit] How to draw Figure 5.

Hi Janek Kozicki,

Thank you for writing this artical. I am interested in drawing the Figure 5. Would you please tell me how to do?

Thanks!

Jinsong

Hi, which article, which figure? Janek Kozicki (talk) 16:23, 17 May 2008 (UTC)

[edit] Bresler-Pister yield criterion

The yield surface that you have plotted looks a bit strange. Please look at the Bresler Pister yield criterion page for pointers on equations for more reasonable looking surfaces. Bbanerje (talk) 00:55, 19 May 2008 (UTC)

yeah, I totally agree. Problem is that I need this equation expressed in principal stresses s1,s2,s3. The C++ code to calculate it was following:
void viewer::generateScalarField()
{
        using namespace std;
        for(int i=0;i<sizeX;i++)
                for(int j=0;j<sizeY;j++)
                        for(int k=0;k<sizeZ;k++)
                        {
                                // calculate s1,s2,s3 from the position in 3D array scalarField
                                // the origin of the coordinate system is in the center (sizeXYZ * 0.5)
                                // and the 3D array scalarField represents a cube from -1.0 to 1.0

                                double s1 = (double)i/(double)sizeX*2.0-1.0;
                                double s2 = (double)j/(double)sizeY*2.0-1.0;
                                double s3 = (double)k/(double)sizeZ*2.0-1.0;

                                // Bresler-Pister
                                double c0=0.2;
                                double c1=0.07;
                                double c2=0.07;
                                scalarField[i][j][k] = (1.0/sqrt(6.0)) 
                                        * sqrt( pow(s1-s2,2)+pow(s2-s3,2)+pow(s3-s1,2) ) 
                                        - c0 - c1*(s1+s2+s3) - c2*pow(s1+s2+s3,2);
                        }
}
the surface which I'm plotting is where values in the 3D array scalarField[i][j][k] are ZERO. I've picked the values c0,c1,c2 in a way so that they show this surface in a best way (to see it whole instead of a part). As you see, the equation which I used is the one written here. All other surfaces were plotted in the same way (using the principal stresses equation). This could mean that this equation is incorrect, or I made a typo when I writing it into C++ code above (do you see a typo there?). Equations in Bresler Pister yield criterion need some transformations to express them in principal stresses, and I simply don't have time to transform them.
Concluding, if you (or anybody) can make the transofrmations and give that equation expressed in principal stresses I can plot the surface. For the time being please feel free to delete that part, or put another template there informing that it's very likely that it contains a mistake. Janek Kozicki
Just for the record, plotting other surfaces involved only changing that single line
scalarField[i][j][k] = ....
And here is the C++ code I used for each surface:
// Tresca Guest
        scalarField[i][j][k] = std::max(abs(s1-s2),std::max(abs(s2-s3),abs(s3-s1)))-0.2;
/********************/
// Huber Mises Hencky                                   
        scalarField[i][j][k] = pow(s1-s2,2)+pow(s2-s3,2)+pow(s3-s1,2)-0.2;
/********************/
// Mohr-Coulomb
        double Rc = 0.8;
        double Rr = 0.5;
        double m=Rc/Rr;
        double K=(m-1.0)/(m+1.0);
        double c=Rc/(m+1.0);
        scalarField[i][j][k] =  std::max(abs( (s1-s2)/2.0)-c+K*(s1+s2)/2.0 ,
                                std::max(abs( (s2-s3)/2.0)-c+K*(s2+s3)/2.0 ,
                                         abs( (s3-s1)/2.0)-c+K*(s3+s1)/2.0 )); 
/********************/
// Drucker-Prager
        double Rc = 0.8;
        double Rr = 0.5;
        double m=Rc/Rr;
        double K = 2.0*Rc/(sqrt(3.0)*(m+1));
        double alpha = (m-1.0)/(sqrt(3.0)*(m+1));
        scalarField[i][j][k] = alpha*(s1+s2+s3) + sqrt((pow(s1-s2,2)+pow(s2-s3,2)+pow(s3-s1,2))/6.0)-K;
Thanks for your work on Yield surface article! Janek Kozicki (talk) 19:43, 19 May 2008 (UTC)
Hi Janek, I've added expressions for c0,c1,c2 in the Bresler-Pister part of Yield surface. The shape of the yield surface depends strongly on these parameters and a non-convex yield surface is not very reasoanble (though some would disagree). Could you plug in some reasonable numbers for σctb to calculate c0, c1, c2 (instead of using 0.2, 0.07, 0.07) and see what shapes you get for the yield surface? You should get an envelope that is convex. I'm working on the Willam-Warnke criterion and will add in some details in the next few days. Bbanerje (talk) 04:21, 21 May 2008 (UTC)
Thanks, it looks much better now, that's the code I used:
        double sc=0.5;
        double st=0.2;
        double sb=0.4;

        double c1= ( (st-sc) / (sqrt(3)*(st+sc)) )
                  *( (4*sb*sb-sb*(sc+st)+sc*st) / (4*sb*sb+2*sb*(st-sc)-sc*st) );
        double c2= ( 1/(sqrt(3)*(st+sc)) )
                  *( (sb*(3*st-sc)-2*sc*st)/( 4*sb*sb+2*sb*(st-sc)-sc*st ) );
        double c0=sc/sqrt(3)+c1*sc-c2*sc*sc;
        scalarField[i][j][k] =  (1.0/sqrt(6.0)) 
                                * sqrt( pow(s1-s2,2)+pow(s2-s3,2)+pow(s3-s1,2) ) 
                                - c0 - c1*(s1+s2+s3) - c2*pow(s1+s2+s3,2.0);
Janek Kozicki (talk) 08:46, 21 May 2008 (UTC)
Hi, I've added instructions on how to create the Willam-Warnke surface in the yield surface discussion page at Talk:Yield_surface#Willam-Warnke_surface. Thanks for your surface plots. Bbanerje (talk) 03:02, 25 May 2008 (UTC)
Hi, you did a great deal of work. Thanks a lot. Have a look there for unexpected results. Janek Kozicki (talk) 19:03, 25 May 2008 (UTC)
There's an updated version for you to play with at Talk:Yield_surface#Willam-Warnke_surface. Let's see how that goes. Bbanerje (talk) 01:00, 26 May 2008 (UTC)

[edit] Update on Willam-Warnke

There was a mistake in the expression for rt in the original version. If should be


   r_t = \sqrt{\tfrac{6}{5}}~\cfrac{\sigma_b\sigma_t}{\sigma_c(2\sigma_b+\sigma_t)}

Note the + sign in the denominator on the right hand side. That, and a careful calculation of θ should fix the problem with the yield surface. Bbanerje (talk) 00:04, 28 May 2008 (UTC)