From: Ataollah M. <am...@ti...> - 2011-12-19 18:03:53
|
Dear All, I want to attach two vectors to a LinearImplicitSystem and initialize them based on the node location (like what attach_init_function does); these are box constraints that I want to derive PetscVector from them and pass them. Can anyone help me with the way to go? Thanks, Ata |
From: Roy S. <roy...@ic...> - 2011-12-19 18:09:30
|
On Mon, 19 Dec 2011, Ataollah Mesgarnejad wrote: > I want to attach two vectors to a LinearImplicitSystem and initialize them > based on the node location (like what attach_init_function does); these are > box constraints that I want to derive PetscVector from them and pass them. > Can anyone help me with the way to go? System::project_vector? --- Roy |
From: Roy S. <roy...@ic...> - 2011-12-19 18:51:56
|
On Mon, 19 Dec 2011, Ataollah Mesgarnejad wrote: > Here is something that I don't understand? What is the 4th argument > for? The way I think about it is that this works like > System::project_solution and function ptr (argument 1) has the > variable name ? project_solution assume that you're projecting fptr/gptr onto System::solution. project_vector lets you hand in any NumericVector that's been initialized for the current System. All variables are projected into the vector. It's up to your implementation of fptr (and gptr if you're using a C1 FE space) to make sure it returns the right variable's results for any variable requested. --- Roy |
From: Roy S. <roy...@ic...> - 2011-12-19 23:22:29
|
On Mon, 19 Dec 2011, Ataollah Mesgarnejad wrote: > One last question on the topic: is there a way to write vectors added through system::add_vector to exodusII output file so I > can check and see if they've set right? Yes; the easiest way is to swap() the solution and the added vector, do the output as normal, then swap back. --- Roy |