Author Topic: DOFs and Fixity  (Read 1085 times)

Josep Maria

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 50
DOFs and Fixity
« on: April 04, 2016, 11:46:55 AM »
Hello,

   Related to the discussion about the time consumption of getting a node DOF (http://kratos-wiki.cimne.upc.edu/forum/index.php?topic=28.0) .   
Usually in the integration schemes one must check if the nodes DOF's are fixed as described.

ie.
      for (unsigned int i = 0; i < r_model_part_nodes.size(); i++) {
            typename NodesArrayType::iterator node_i = r_model_part_nodes.ptr_begin() + i;
            Node<3>& node = *node_i;
            if (!node.GetDof(VELOCITY_X).IsFixed())
                UpdateVelocityX(node);
       }


As I understand in the processes called before and after a solution step you can Fix() or Free() a DOF.
However it does not change the fact that the scheme will have to check if all nodes are fixed or not.

I don't know if creating a list of "free" nodes before calling the scheme, in order to avoid the check, it will be faster.

Which is the better solution to improve the execution speed?

I also would like to comment that in the GiD interface when you say that a vector component is Fix, you are saying that you Set that component. It does not corresponds exactly with the "Fixity" of the kratos DOF's.

BR

riccardo

  • Global Moderator
  • Newbie
  • *****
  • Posts: 47
Re: DOFs and Fixity
« Reply #1 on: April 04, 2016, 06:12:47 PM »
Hi,

take a look to my answer to MiguelAngel's question [http://kratos-wiki.cimne.upc.edu/forum/index.php?topic=28.0].

we can easily improve performance as shown in there

cheers
Riccardo
« Last Edit: April 06, 2016, 12:09:59 PM by Miguel Angel Celigueta »

Josep Maria

  • Global Moderator
  • Jr. Member
  • *****
  • Posts: 50
Re: DOFs and Fixity
« Reply #2 on: April 05, 2016, 11:43:13 AM »
Hello Riccardo,

   So, it will be good if we create a private container with the dofs_positions for each scheme in order to use it when the check of fixity is carried on.

Do you have any solution to avoid the Fixity check in the Schemes?

Thank you in advance

JM


riccardo

  • Global Moderator
  • Newbie
  • *****
  • Posts: 47
Re: DOFs and Fixity
« Reply #3 on: April 11, 2016, 05:01:08 PM »
Hi JM,

if you fix the dofs list then it is relatively easy to keep a list of fixed dofs and another of free ones.

however for example if you use the BlockBuilderAndSolver you are allowed to change the fixity as long as you don't add new nodes or change the connectivity. For this reason it would be good to let the fixity check to be done dynamically as it is today.

are u sure this is really time consuming? do you have profiling data for this? note that if you already have the dofs or if you do the trick i was speaking about before than it should not be very time consuming