To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/037a936e-f719-4811-a85f-310eabbfd83e%40googlegroups.com.
In general a Robin BC is implemented by inheriting from IntegratedBC and overriding computeQpResidual() and optionally computeQpJacobian() and ComputeQpOffDiagJacobian().
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/e62f5766-7b29-4e2d-aaf1-c7378feeb338%40googlegroups.com.
Hi,
Hi,When I was implementing the BC: du/dx = u * dv/dx, where u and v are variables, I got this error message:error: no suitable conversioon from "libMesh::TypeVector<libMesh::Real={double}>" to "libMesh::Real={double}" existsreturn _test[_i][_qp]*(_u[_qp]*_grad_some_variable[_qp]);^error: no suitable conversioon from "libMesh::TypeVector<libMesh::Real={double}>" to "libMesh::Real={double}" existsreturn _test[_i][_qp]*(_grad_some_variable[_qp]*_phi[_j][_qp]);^It seems _grad_some_variable[_qp] is vector while _u[_qp] and _phi[_j][_qp] are not. So how do I modify my codes (see below) to make it correct?
To view this discussion on the web visit https://groups.google.com/d/msgid/moose-users/8614e071-8e52-4117-a9e8-c9f484f60fb0%40googlegroups.com.
Hi,When I was implementing the BC: du/dx = u * dv/dx, where u and v are variables, I got this error message:error: no suitable conversioon from "libMesh::TypeVector<libMesh::Real={double}>" to "libMesh::Real={double}" existsreturn _test[_i][_qp]*(_u[_qp]*_grad_some_variable[_qp]);^error: no suitable conversioon from "libMesh::TypeVector<libMesh::Real={double}>" to "libMesh::Real={double}" existsreturn _test[_i][_qp]*(_grad_some_variable[_qp]*_phi[_j][_qp]);^It seems _grad_some_variable[_qp] is vector while _u[_qp] and _phi[_j][_qp] are not. So how do I modify my codes (see below) to make it correct?There is typically a normal in the surface integral, so you need to multiply the gradient by it...