Cylindrical coordinate system and BCs

297 views
Skip to first unread message

Gyan

unread,
Apr 28, 2016, 12:22:39 PM4/28/16
to moose-users
Is it possible to define a problem in 3D cylindrical coordinate system (r, z, theta) in MOOSE?

If the problem is set up in 3D Cartesian coordinate system, can a 3D cylindrical coordinate system be also defined simultaneously to take care of some boundary conditions which require radial/angular constraint implementation?

I have these questions because I have set up my problem in Cartesian coordinate system (x, y, z) and there is a need to constrain a cylindrical surface such that only radial displacement is allowed.

Thanks,
Gyan

Cody Permann

unread,
Apr 28, 2016, 4:24:43 PM4/28/16
to moose-users
Yes:

I'm not sure where this is documented though... That needs to be fixed.

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/0933c468-e5e5-4c89-a958-169faa2e33b7%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Benjamin Spencer

unread,
May 13, 2016, 10:52:37 AM5/13/16
to moose-users
Interesting -- I didn't know we had the r-theta-zeta coordinate system option.

It sounds like maybe what you want is a boundary condition that enforces displacements normal to an arbitrary prescribed plane.  That's something we've been wanting to get around to implementing for quite a while, and which should be pretty easy to do, actually.  That would allow you to create a wedge model in 3D that doesn't have to be 90 degrees.

This is definitely on our list of things to do, but it might be a while before we get to it.  If you need it and can implement it yourself and contribute it, that would be awesome!

-Ben


Gyan

unread,
May 13, 2016, 2:03:09 PM5/13/16
to moose-users
Thanks Ben and Cody. I was able to get away from this by implementing a different constraint. If I implement something like this in Moose, will post an update here.

Thanks,
Gyan

Gyan

unread,
Jun 13, 2016, 12:56:09 PM6/13/16
to moose-users
Cody, I am having difficulty in understanding this - using the "CreateProblemAction" to get a 3D cylindrical coordinate system. Probably you meant employing it for using two different types of coordinate systems simultaneously in a problem?

The ultimate purpose of implementing a cylindrical CSYS is to assign different elastic moduli in radial and in-plane direction in a composite tube. But it looks like (from sphere.C) that changing the coordinate system may not be enough to accomplish that: sphere.C only transforms the coordinates of a point from spherical to Cartesian and vice versa and the underlying relations of stress-strain, heat transfer are probably not affected.

Will appreciate any help with this.

Thanks,
Gyan

Cody Permann

unread,
Jun 13, 2016, 8:29:28 PM6/13/16
to moose-users
The option I pointed you to is for changing the coordinate system of the whole problem. If you are doing something with mixed coordinate systems you'll probably have to do something more complicated.

Cody

Gyan

unread,
Jun 14, 2016, 1:48:56 PM6/14/16
to moose-users
3D cylindrical CSYS for the whole problem will work for me. But it is not clear how to set it up. From the link it seems to me that the three choices for the coordinate system are XYZ, RZ (which is 2D axisymmetric) and spherical. There seems to be no 3D cylindrical coordinate system.

MultiMooseEnum coord_types("XYZ RZ RSPHERICAL", "XYZ");


Please correct me if I missed something.

Gyan

Cody Permann

unread,
Jun 14, 2016, 2:22:17 PM6/14/16
to moose-users
In your input file

[Problem]
  coord_type = RSPHERICAL
[]

Also, I just remembered that we can run mixed coordinate type simulations. See this test:


--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.

Wang, Yaqi

unread,
Jun 14, 2016, 2:56:40 PM6/14/16
to moose-users
Gyan,

If you wanted coordinate system (r, theta, z) in moose, the answer would be no. I never thought about it carefully, but possibly it will change the way how diffusion kernel is coded for the diffusion term as an example. RZ and R-spherical on the other hand are simple, we can just simply change how the local integration is done in Assembly.C, while the rest of codes remain the same.

Yaqi

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose-users...@googlegroups.com.
Visit this group at https://groups.google.com/group/moose-users.

Gyan

unread,
Jun 14, 2016, 3:55:18 PM6/14/16
to moose-users
Thanks Cody.

Thanks Yaqi for clarifying this.

Gyan

Doug Melville

unread,
Jan 29, 2020, 5:17:21 PM1/29/20
to moose-users
Hi Benjamin,

We have a need to create exactly the boundary condition that you're describing, but we're having trouble determining the best way to do it. A DirichletBC subclass seems to eliminate global degrees of freedom from consideration, and an IntegratedBC subclass doesn't enforce the BC as expected. We're working on a Lagrange multiplier method, but we're struggling with that as well. We're also researching how much work it would be to convert the entire problem to a 3D cylindrical coordinate system, but so far that seems prohibitively difficult.

How would you recommend implementing this feature?

Thanks!

Doug M

On Friday, May 13, 2016 at 7:52:37 AM UTC-7, Benjamin Spencer wrote:
Interesting -- I didn't know we had the r-theta-zeta coordinate system option.

It sounds like maybe what you want is a boundary condition that enforces displacements normal to an arbitrary prescribed plane.  That's something we've been wanting to get around to implementing for quite a while, and which should be pretty easy to do, actually.  That would allow you to create a wedge model in 3D that doesn't have to be 90 degrees.

This is definitely on our list of things to do, but it might be a while before we get to it.  If you need it and can implement it yourself and contribute it, that would be awesome!

-Ben

On Thu, Apr 28, 2016 at 2:24 PM, Cody Permann <codyp...@gmail.com> wrote:
Yes:

I'm not sure where this is documented though... That needs to be fixed.
On Thu, Apr 28, 2016 at 10:22 AM Gyan <singh...@gmail.com> wrote:
Is it possible to define a problem in 3D cylindrical coordinate system (r, z, theta) in MOOSE?

If the problem is set up in 3D Cartesian coordinate system, can a 3D cylindrical coordinate system be also defined simultaneously to take care of some boundary conditions which require radial/angular constraint implementation?

I have these questions because I have set up my problem in Cartesian coordinate system (x, y, z) and there is a need to constrain a cylindrical surface such that only radial displacement is allowed.

Thanks,
Gyan

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose...@googlegroups.com.

--
You received this message because you are subscribed to the Google Groups "moose-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to moose...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages