We have developed a general-purpose solver environment called CartaBlanca, for the simulation of multiphase flows. The structure of the environment is based on the Jacobian-Free Newton-Krylov solution method and the physics-based preconditioning techniques of Knoll, et. Al., (1). CartaBlanca is written entirely in the Java programming language and employs an object-oriented design. This allows a plug-and-play treatment of component-like Krylov solvers, nonlinear equation residual modules and smoothers for preconditioning. The finite-volume method is employed for discretization. An edge-based, node-centered data structure is used so that CartaBlanca accepts unstructured grids in one, two and three dimensions composed of linear, triangular, quadrilateral, tetrahedral and hexahedral elements. Preconditioning smoothers for reduction of intra-grid coupling include diagonal, Jacobi, SSOR, conjugate-gradient and ILU(0) with iterative improvement. These smoothers are applied in a field-wise block fashion. Preconditioning to reduce intra-equation coupling is separately obtained by applying the inverse of a node-wise block intra-equation coupling operator directly in the nonlinear residual function. This procedure is similar in some aspects to the Alternate Block Factorization method of Bank, et. Al., (2). Parallel computations are enabled using Java's built-in thread facility. Parallel scaling is aided by employing the 2-level preconditioning method of Knoll, et. Al., (3). The resulting robust algorithm is used to solve the incompressible and compressible multiphase flow momentum and internal energy equations for a variety of applications including solidifying flows such as those found in industrial metal part casting processes.