Hi David, > Thanks. Also, the physics seems to be controlled by the "op" variable?
Is there an interface to change the physics from the user code ?
I know that our intention is to provide the user with control over the physics in the long run, but (unless Matt implemented something recently) this is still work in progress...
Best regards, Karli
https://bitbucket.org/petsc/petsc/src/fb3a4ffdea0449562fb0f58dad4b44552b6d3589/src/dm/dt/interface/dtfe.c?at=master#cl-5028 switch (op) { case LAPLACIAN: if (useF0) {ierr = PetscSNPrintfCount(string_tail, end_of_buffer - string_tail, " f_0[fidx] = 4.0;\n", &count);STRING_ERROR_CHECK("Message to short");} if (useF1) { if (useAux) {ierr = PetscSNPrintfCount(string_tail, end_of_buffer - string_tail, " f_1[fidx] = a[cell]*gradU[cidx];\n", &count);STRING_ERROR_CHECK("Message to short");} else {ierr = PetscSNPrintfCount(string_tail, end_of_buffer - string_tail, " f_1[fidx] = gradU[cidx];\n", &count);STRING_ERROR_CHECK("Message to short");} } break; case ELASTICITY: if (useF0) {i On Tue, Apr 22, 2014 at 5:03 AM, Karl Rupp <[email protected] <mailto:[email protected]>> wrote: Hi David, > I'm trying to use -variable_coefficient field with -petscfe_type opencl -mat_petscfe_type opencl constant coefficients "-variable_coefficient none" works fine, but I am getting NaN in my residual vector for spatially varying coefficients. I tried changing N_t manually for N_comp_aux =1, also tried setting my variable coefficient field to a constant at each quadrature point to see if any difference. This is - unfortunately - a known issue, where we currently don't know whether this is a race condition in the OpenCL kernel, or something goes wrong with the data setup. I expect this to require rather more elaborate debugging, so unfortunately I can only advise you to wait until this is fixed... Best regards, Karli
