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:
- The five pillars of Wikipedia
- How to edit a page
- Help pages
- Tutorial
- How to write a great article
- Manual of Style
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 σc,σt,σb 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:
- 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 σc,σt,σb 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)
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)
- 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)
- 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)
- Janek Kozicki (talk) 08:46, 21 May 2008 (UTC)
-
[edit] Update on Willam-Warnke
There was a mistake in the expression for rt in the original version. If should be
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)


